J'ai matrice d'entrée:Pourquoi numeric.js renvoie-t-il les mauvaises valeurs?
let t = [
[0,1,0],
[0,1,0],
[0,0,0]
]
Je veux calculer SVD. Je fais:
let U = N.svd(t).U;
U est
[-0.7071067811865475, 0.7071067811865475, 0]
[-0.7071067811865475, -0.7071067811865475, 0]
[0, 0, 1]
Je fais même procédure en Python, numpy:
A=np.array([[0,1,0],[0,1,0],[0,0,0]])
np.linalg.svd(A)[0]
Sortie:
[0.7071067811865475, 0, -0.7071067811865475]
[0.7071067811865475, 0, 0.7071067811865475]
[0, 1, 0]
Est-ce un bug? Que devrais-je faire ? Ce n'est pas la seule fois où ils diffèrent dans le résultat. Qui devrais-je faire confiance?
Savez-vous ce que fait une décomposition SVD? –
je veux trouver des vecteurs de base pour l'espace vide de droite dans la sortie numérique js ils ne sont pas dans l'espace vide de A –
Voir [cette question] (https://math.stackexchange.com/questions/644327/how-unique-on-non -unique-sont-et-v-dans-singulier-valeur-décomposition-svd). – Phylogenesis