[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Volker Braun
The bug in our code is that pari does not raise an error, it dies once you run out of memory but thats not a good thing to wait for. On Monday, January 21, 2013 4:36:03 PM UTC, Javier López Peña wrote: > > On Monday, January 21, 2013 3:28:29 PM UTC, Simon King wrote: > >> OK, then we should at

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Javier López Peña
On Monday, January 21, 2013 3:28:29 PM UTC, Simon King wrote: > OK, then we should at least fix the documentation of LLL_gram. > Our LLL_gram does this: if self._nrows != self._ncols: raise ArithmeticError("self must be a square matrix") n = self.nrows() # maybe sho

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Simon King
Hi, On 2013-01-21, Volker Braun wrote: > --=_Part_128_10880395.1358779116647 > Content-Type: text/plain; charset=ISO-8859-1 > > Input really must be positive definite, not just definite with any sign. OK, then we should at least fix the documentation of LLL_gram. Cheers, Simon -- You rece

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Volker Braun
Default should always be to check the input over calling library routines with potentially undefined behavior. On Monday, January 21, 2013 2:37:15 PM UTC, Simon King wrote: > > Problem: If the "check" option is True by default then the user will > have to wait for the positive definiteness test

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Volker Braun
Input really must be positive definite, not just definite with any sign. Function: qflllgram Section: linear_algebra C-Name: qflllgram0 Prototype: GD0,L, Help: qflllgram(G,{flag=0}): LLL reduction of the lattice whose gram matrix is G (gives the unimodular transformation matrix). flag is optiona

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Simon King
Hi Volker, On 2013-01-21, Volker Braun wrote: > LLL_gram() is a good deal faster than checking positive definiteness: Sorry, your post came while I wrote my post. If checking positive definiteness can be a bottle neck then my suggestion to test it by default is not good. > I guess this means th

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Simon King
Hi y'all, On 2013-01-21, Volker Braun wrote: > This uses Pari lllgramint(), which assumes that the matrix is positive > definite. If the matrix is not positive definite, Pari may not return. > > sage: D.is_positive_definite() > False Then we have at least a bug in the documentation. Namely, it

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Volker Braun
LLL_gram() is a good deal faster than checking positive definiteness: sage: m = random_matrix(ZZ,20) sage: %time (m*m.transpose()).LLL_gram() CPU times: user 3.92 s, sys: 0.00 s, total: 3.92 s Wall time: 3.94 s 200 x 200 dense matrix over Integer Ring sage: %time (m*m.transpose()).is_positive_de

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Javier López Peña
I stand corrected. Note however that lllgramint = qflllgram(-, 1) is suggested by pari itself: ? lllgramint(D) *** at top-level: lllgramint(D) *** ^- *** not a function in function call A function with that name existed in GP-1.39.15; to run in backward com

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Volker Braun
Its not a bug, its undefined behavior for invalid input. Also, I don't think we should ever use lllgramint = qflllgram(-, 1). Thats the toy implementation, you want the adaptive floating point implementation (flag=0) for real work. http://permalink.gmane.org/gmane.comp.mathematics.pari.devel/2

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Javier López Peña
Hi Volker, I think lllgramint() is deprecated, we should call gflllgram(D,1) instead. The bug remains the same though. Cheers, J On Monday, January 21, 2013 1:41:35 PM UTC, Volker Braun wrote: > > > > On Wednesday, December 19, 2012 11:07:03 PM UTC, William wrote: >> >> > sage: D=Matrix(IntegerM

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Javier López Peña
Hi Simon, it seems to be a bug in Pari, the whole computation ends up calling gflllgram(D._pari_(),1) which doesn't end. Constructing the same matrix directly in pari and calling the function there also doesn't end. I have tried changing the values for the flag and same behavior happens with

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Volker Braun
On Wednesday, December 19, 2012 11:07:03 PM UTC, William wrote: > > > sage: D=Matrix(IntegerModRing(), > [[-1,1,0,1,1,0],[1,-3,1,0,0,0],[0,1,-2,0,0,0],[1,0,0,-3,0,0],[1,0,0,0,-4,1],[0,0,0,0,1,-5]]);D > > > [-1 1 0 1 1 0] > > [ 1 -3 1 0 0 0] > > [ 0 1 -2 0 0 0] > > [ 1 0 0 -3 0 0

[sage-support] Re: M.LLL_gram()

2013-01-21 Thread Simon King
Hi Sage supporters, bump! Is there really no answer to Ian Hambleton's question that he asked a month ago? Can it really be so difficult to do LLL_gram on a 6x6 integer matrix? Cheers, Simon Am Donnerstag, 20. Dezember 2012 00:07:03 UTC+1 schrieb William: > > I'm forwarding this to sage-suppo

[sage-support] Re: function problem

2013-01-21 Thread P Purkayastha
I think one place where this is discussed is this page: http://www.sagemath.org/doc/tutorial/tour_functions.html There should be a similar page in any sage installation which has the documentation built in it. On 01/21/2013 05:51 PM, robin hankin wrote: OK, thanks for this. It works! Where

Re: [sage-support] Re: function problem

2013-01-21 Thread robin hankin
OK, thanks for this. It works! Where would I have found this distinction in the documentation? Thanks Robin On Mon, Jan 21, 2013 at 10:37 PM, P Purkayastha wrote: > On 01/21/2013 05:01 PM, robin hankin wrote: >> >> Hello. kubuntu linux, sage 5.5 >> >> I want to define a function that takes a

[sage-support] Re: function problem

2013-01-21 Thread P Purkayastha
On 01/21/2013 05:01 PM, robin hankin wrote: Hello. kubuntu linux, sage 5.5 I want to define a function that takes argument 'x' and returns 'x^2'. But I cannot make this idea work when 'x' is an element of a permutation group. As per the snippet below, 'u^2' is perfectly well defined, but f(u)

[sage-support] function problem

2013-01-21 Thread robin hankin
Hello. kubuntu linux, sage 5.5 I want to define a function that takes argument 'x' and returns 'x^2'. But I cannot make this idea work when 'x' is an element of a permutation group. As per the snippet below, 'u^2' is perfectly well defined, but f(u) returns an error. How do I define a function

[sage-support] Re: parametric_plot and xmin/xmax

2013-01-21 Thread P Purkayastha
On 01/21/2013 08:01 AM, Robert Jacobson wrote: Setting xmin/xmax for parametric_plot doesn't seem to do anything, but ymin/ymax work as expected. What am I doing wrong? t = var('t') parametric_plot( (cos(t), sin(t)), (t, 0, 2*pi), xmin=-2, xmax=2, ymin=-2, ymax=2) Look at this ticket: http://t