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.

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

Reply via email to