On Wed, Jan 25, 2012 at 11:45 AM, javier <vengor...@gmail.com> wrote:
> Hi William,
>
> On Jan 25, 6:30 pm, William Stein <wst...@gmail.com> wrote:
>> I think is_singular should raise a ValueError if the input matrix is
>> not square.
>
> Sure, that makes sense. My main point was arguing for the convenience
> of using rank rather than determinant.
>
>> That is probably a good idea over ZZ or QQ and probably many other
>> rings, especially since for a random matrix over ZZ or QQ, rank will
>> be full and Sage will quickly figure this out by reducing modulo one
>> small random prime.   So, even if the coefficients of A are enormous,
>> the rank approach will usually be very fast, whereas computing the
>> determinant will be slowed down by the size of the entries.
>
> Certainly, for generic matrices in rings computing the rank should be
> much faster, particularly in the full-rank case. In the very
> degenerate case (over ZZ) my example shows similar (if slightly
> better) performance for rank. I am not sure on the difference of
> performance when working numerically, though.
>
> Should I open a ticket and change this, or does anybody have a strong
> argument for favoring the determinant use in some cases?

I'm personally for changing to use rank.

>
>> There was no cached_method when I wrote most of the matrix code.
>> Also, I think decorators weren't supported in Cython then (?).
>>
>> The matrix caching code is definitely more sophisticated than what
>> cached_method does though.  It has to behave differently for mutable
>> and immutable matrices.
>
> I see, so touching this would mean opening a can of worms. Better
> leave it as it is for now, then.
>
> Cheers
> Javier
>
> --
> 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

Reply via email to