On 6 February 2012 17:21, John Cremona <john.crem...@gmail.com> wrote: > Thanks! > > Barinder has genuine matrices A, B which give a representation of A_4 > in 26 dimensions over Q(zeta_11), i.e. A^2=I and B^3 = I and some > commutator relation holds. I was surprised when he told me that > A.eigenspaces_right() had beeen running for 2 days (though it turned > out that that A was wrong, it did satisfy A^2=I). > > My example was random: I took J=diag(1,1,...,1,-1,-1,...,-1) with 13 > +1's and 13 -1's and conjugated by a random M (which was > unsurprisingly invertible) to get an Q whose char poly was (X-1)^13 * > (X+1)^13. Using algorithm='pari' gave that correctly, but took > quite a while (the time has scrolled off my screen, it was > 2000s I > think). But in our computation we know that A and B both have +1 as > an eigenvalue and we only want their +1-eigenspaces, which (for my > random A) only takes 87s. > > The matrix is in sagemath:/home/cremona/M26.sobj if you want to play > with it; but remember that this is a random M with M^2=I, not one we > actually want for real. >
Sorry I mixed up notation. The conjugating matrix (now lost) was random; the result of conjugating is the one called M, which I saved, and it does satisfy M^2=I with char poly (X-1)^13*(X+1)^13. John > John > > On 6 February 2012 17:01, William Stein <wst...@gmail.com> wrote: >> On Mon, Feb 6, 2012 at 6:49 AM, John Cremona <john.crem...@gmail.com> wrote: >>> I was trying to find eigenspaces of a 26x26 matrix over Q(zeta_11) >>> (for a modular forms application) and ran into: >> >> Can you make your matrix available, e.g., as an sobj on sage.math (or >> somewhere) that I can download. >> It's possible that the real problem is a bug in the echelon routine, >> not the size of the modulus. >> If the multimodular echelon fails to stabilize -- due to a bug -- then >> the consequence is that eventually >> the primes would run out. However, this is highly unlikely to happen >> in practice unless the entries of >> the answer are truly gigantic. >> >> -- William >> >>> >>> RuntimeError: we ran out of primes in multimodular charpoly algorithm >>> >>> which on investigation led me to the following lines in >>> sage/ext/multi_modular.pyx: >>> >>> # We use both integer and double operations, hence the min. >>> # MAX_MODULUS = min(int(sqrt(int(MOD_INT_OVERFLOW))-1), int(2)**int(20)) >>> >>> # Hard coded because currently matrix_modn_dense is implemented using C ints >>> # which are always 32-bit. Once this gets fixed, i.e., there is a better >>> # matrix_modn class, then this can change. >>> MAX_MODULUS = 46341 >>> >>> so I am just wondering if anyone out there has this on their to-do >>> list. Meanwhile using algorithm='pari' will have to do, though it is >>> slow.... >>> >>> This is a small trial run. We'll be doing a 50x50 over Q(zeta_13) for >>> real.... >>> >>> John >>> >>> -- >>> To post to this group, send an email to sage-devel@googlegroups.com >>> To unsubscribe from this group, send an email to >>> sage-devel+unsubscr...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/sage-devel >>> URL: http://www.sagemath.org >> >> >> >> -- >> William Stein >> Professor of Mathematics >> University of Washington >> http://wstein.org >> >> -- >> To post to this group, send an email to sage-devel@googlegroups.com >> To unsubscribe from this group, send an email to >> sage-devel+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/sage-devel >> URL: http://www.sagemath.org -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org