KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to find the null space (solution space of Ax=0) of a given matrix. I've found two examples, but I can't seem to get either to work. Moreover, I can't understand what they're doing to get there, so I can't debug. Can someone walk me through this? The documentation pages ( numpy.linalg.svd , and numpy.compress ) are opaque to me. I learned to do this by creating the matrix C = [A|0] , finding the reduced row echelon form and solving for variables by row. I can't seem to follow how it's being done in these examples. Thanks for any and all help! Here is my sample matrix, which is the same as the wikipedia example : A = matrix([ [2,3,5], [-4,2,3] ]) Method ( found here , and here ): import scipy from scipy import linalg, matrix def null(A, eps=1e-15): u, s, vh = scipy.linalg.svd(A) null_mask = (s <= eps) null_space = scipy.compress(null_mask, vh, axis=0) return scipy.transpose(null_space) When I try it, I get back an empty matrix: Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import scipy >>> from scipy import linalg, matrix >>> def null(A, eps=1e-15): ... u, s, vh = scipy.linalg.svd(A) ... null_mask = (s <= e
Tags (comma-separated)
Save Edits
Cancel