2015-03-07 1 views
2

Première utilisation du site, je m'excuse si ma question n'est pas correctement formulée.Comprendre un algorithme pour la valeur singulière Décomposition d'une matrice carrée

Je suis en train de mettre en œuvre la SVD d'une matrice carrée en utilisant l'algorithme 6 trouvé sur this website dans C:

En ce qui concerne l'étape où il est dit:

Déterminer d1, d2, c = cos (θ), et s = sin (φ) tel que ...

Dans cette étape, quelle est la différence entre les éléments de la matrice du milieu? Comme dans, n'est pas u2k,i le même que uk,iuk,i? (Les deux premiers éléments de la matrice/les deux éléments de gauche dans la matrice)

Sinon, comment devrais-je lire cet algorithme?

+1

Ceci est une supposition complètement non éduquée, car je ne sais rien sur les algorithmes SVD, mais pourrait-il s'agir d'une faute de frappe et que les éléments hors diagonale devraient être 'u_k, i'' u_k, j'? Je ne vois pas pourquoi ils écriraient «u» deux fois à moins que les indices ne soient censés être différents. Les équations ressemblent aussi à ce que vous trouveriez dans une matrice de corrélation à partir de la probabilité si vous les écrivez de cette façon. – eigenchris

Répondre

0

Si vous allez lire des informations sur les techniques numériques ou mathématiques de base, il est généralement recommandé d'avoir une bonne compréhension des notations mathématiques courantes. Lorsque vous avez utilisé u2k, i, la description dans "Algorithm" a le 2 comme exposant, et "k, i" comme indice.

Mathématiques de base: 2 en exposant signifie généralement "à la puissance de 2". Et c'est le cas dans le document auquel vous êtes lié.

Dans TeX, le terme aurait été écrit $ u_ {k, i}^2 $. Le signe _ signifie indice,^signifie exposant.

Vous voudrez peut-être également noter que votre question n'a absolument rien à voir avec le langage de programmation C. Je ne serais donc pas surpris qu'un modérateur suggère de le déplacer ailleurs.