You could implement the Moore-Penrose
Pseudoinverse<http://en.wikipedia.org/wiki/Moore%E2%80%93Penrose_pseudoinverse>
easily
by using the currently implemented SVD.

# Pseudocode
U,S,V = svd(A)
S[i,i] = S[i,i] if S[i,i]!=0 else 0
Ainv = U*S*V # one of these might be transposed, not sure.
x = Ainv * y

While this should hold mathematically our method to compute the svd works
for only the simplest of matrices.

On Sun, Jul 29, 2012 at 10:18 AM, [email protected] <
[email protected]> wrote:

> I need it for a calculation of generalized eigenvectors which is
> needed for a calculation of the jordan normal form which is needed for
> the ode solver when the system is not diagonalizable.
>
> I have almost finished a certain version that projects to a space
> orthogonal to the nullspace, however it is getting complicated.
>
> Is there any obvious already implemented way to do it that I have missed?
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/sympy?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to