Question

est ce que je dois faire -

J'ai cette équation -

Ax = y

où A est une matrice logique m * n (m <= n), et x et y sont des vecteurs de la bonne taille. Je sais que A et y, je ne sais pas ce que x est égal à. je sait aussi qu'il n'y a pas x où Ax est exactement égale à y. Je veux trouver le vecteur x « tel que Ax » est aussi proche que possible y. Ce qui signifie que (Ax » - y) est aussi proche que possible de (0,0,0, ... 0)

.

Je sais que je dois utiliser la fonction lstsq: http://www.scipy.org/doc/numpy_api_docs/ numpy.linalg.linalg.html # lstsq

ou la fonction SVD: http://www.scipy.org/doc/numpy_api_docs/ numpy.linalg.linalg.html # SVD

Je ne comprends pas la documentation du tout. Quelqu'un peut-il s'il vous plaît montrer moi comment utiliser ces fonctions pour résoudre mon problème.

Merci beaucoup !!!

Était-ce utile?

La solution

SVD est le cas de m

Les documents pour lstsq ne semblent pas très utiles. Je crois que ce raccord moins carré, dans le cas où m> n.

Si m SVD .

Autres conseils

Le documentation mise à jour peut être un peu plus utile ... ressemble vous voulez

numpy.linalg.lstsq(A, y)

Le SVD de la matrice A vous donne des matrices orthogonales U et de la matrice V et diagonale Σ telle que

A = U Σ V T

où     U U T = I ;     V V T = I

Par conséquent, si

x A = y

puis

x U Σ V T = y

x U Σ V T V = y V

x U Σ = y V

U T x Σ = y V

x Σ = U y V

x = Σ -1 U T y V

x = V T Σ -1 U T y

Alors, étant donné SVD de vous pouvez obtenir x .


Bien que pour les matrices générales AB ! = BA , il est vrai pour le vecteur x x U = = U T x .

Par exemple, considérons x = (x, y), U = (a, b; c, d):

x U = (x, y) (a, b; c, d)

= (xa + yc, xb + yd)

= (ax + cy, bx + dy)

= (a, c; b, d) (x, y)

= U T x

Il est assez évident quand on regarde les valeurs x U étant les produits de point de x et les colonnes de U , et les valeurs de U T x étant les produits scalaires de la x et les rangées U T , et la relation de rangées et de colonnes dans la transposition

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top