Hi,

I'm teaching linear algebra and would like to automatically get a list
of the row operations one can use to put a matrix into reduced row
echelon form. So I coded up the usual algorithm:

https://gist.github.com/dandrake/6fa2f03b5dff632706a9

You can get a list of elementary matrices or a list of strings that
describe what one does:

    sage: A
    [ 1  2  0 -2  0]
    [ 1 -2  1 -2  0]
    [-1  0  0 -2  0]
    sage: rref_steps(A)
    ['add $-1$ times row 1 to row 2',
     'add $1$ times row 1 to row 3',
     'scale row 2 by $-1/4$',
     'add $-2$ times row 2 to row 1',
     'add $-2$ times row 2 to row 3',
     'scale row 3 by $2$',
     'add $-1/2$ times row 3 to row 1',
     'add $1/4$ times row 3 to row 2']
    sage: prod(rref(A)) * A == A.rref()
    True


Just sharing. Enjoy.

Dan

-- 
---  Dan Drake
-----  www.math.wisc.edu/~ddrake/
-------

-- 
You received this message because you are subscribed to the Google Groups 
"sage-edu" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-edu+unsubscr...@googlegroups.com.
To post to this group, send email to sage-edu@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-edu.
For more options, visit https://groups.google.com/d/optout.

Attachment: signature.asc
Description: Digital signature

Reply via email to