Processing math: 100%
Ask Your Question
0

Find the kernel of a matrix A and make it a matrix.

asked 8 years ago

KittyL gravatar image

updated 6 years ago

FrédéricC gravatar image

I am trying to write a function that computes the monic genrator of an ideal Ik[x1,,xn], i.e., the generator of Ik[xi] for each i. For this I need to use linear algebra for the set 1,xi,x2i, I write each one of them in terms of the basis for the quotient ring k[x1,,xn]/I, and see if they are linearly dependent.

Since I add in one more power a time, when I find a linearly dependent set, it should have nullity 1. So if I can get the one element in basis of the kernel, I am done. But the A.kernel() command in Sage gives me this:

N=M.kernel();N
Vector space of degree 2 and dimension 1 over Rational Field
Basis matrix:
[0 1]

Is there a way to assign it as a vector using the kernel command? Or do I have to write my own function to implement it? Thank you for your help!

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
1

answered 8 years ago

kcrisman gravatar image

Borrowing an example from Beezer's linear algebra text and modifying it slightly:

A = matrix(QQ, [[ 1, -3, 1],
                [-2,  1, 1],
                [ 1,  5, 1],
                [ 9, -4, 0]])
N = A.left_kernel()
v = N.basis()[0]
print v
type(v)

So you can access the basis, and if you're sure it's going to have just one element you can just get it as a vector. But in general a kernel is a vector space, so you can't just say "it" is a vector.

Preview: (hide)
link

Comments

1

Thank you. This works perfectly. And I am pretty sure I'll have one element in the basis. But I'll change the title. One more question, I also defined matrix A using "A=matrix(...)" and it worked. But after I tried import scipy, it does not work anymore. I have to do "A=Matrix(...)" instead. Since I don't want to use scipy anymore, is there a way to "export" this package?

KittyL gravatar imageKittyL ( 8 years ago )
1

I'm not sure what you mean. Just don't import scipy at the beginning of your session. Unfortunately I don't think there is a way to undo a python import statement in a session.

kcrisman gravatar imagekcrisman ( 8 years ago )
1

BTW, if this solved your question then be sure to click the check mark so that others coming to it know it was the right answer. Glad to help!

kcrisman gravatar imagekcrisman ( 8 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 8 years ago

Seen: 2,141 times

Last updated: May 24 '16