[SciPy-user] null space of a matrix

Ryan Krauss ryanfedora at comcast.net
Wed Jun 29 15:59:57 EDT 2005


This is a completely trivial addition to Richard's submission, but here 
is the function I am using to implement the null function if anyone 
wants to copy and paste it into there own code:

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)

(this assumes you have already got an import scipy somewhere in the file)
(It made more sense to me to return column vectors.)

Ryan


Ryan Krauss wrote:

> Thanks Robert.  This works very well.  You seem to always submit high 
> quality input to the list.
>
> Ryan
>
> Robert Kern wrote:
>
>> Ryan Krauss wrote:
>>
>>> This is probably a Numeric question, but is there an easy way to 
>>> find the null space of a matrix in SciPy?
>>
>>
>>
>> The SVD is one way.
>>
>> u, s, vh = linalg.svd(A)
>> null_mask = (s <= eps)
>> null_space = compress(null_mask, vh, axis=0)
>>
>> The rows in null_space span the null space of A.
>>
>
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.net
> http://www.scipy.net/mailman/listinfo/scipy-user
>




More information about the SciPy-User mailing list