View file src/j/ac.ijs - Download
NB. Analyse canonique
NB. D'après http://iml.univ-mrs.fr/~reboul/canonique.pptx.pdf
NB. http://log.chez.com/text/math/canonique.pptx.pdf
transpose =: |: NB. Transposition de matrice
matprod =: + / . * NB. Produit de matrices
inv =: %. NB. Inverse
id =: (= / ~) @ i. NB. Matrice identité
NB. Données
X =: 1 2 $ 100 100
X =: X , 200 400
X =: X , _400 _200
X =: X , 200 _300
X =: X , _100 0
Y =: 1 3 $ 200 0 _107
Y =: Y , 600 _300 212
Y =: Y , _600 _200 233
Y =: Y , _200 200 92
Y =: Y , 0 300 _430
NB. Réduction des données
X =: X % ((#X) # 1) */ (+/X^2)^0.5
Y =: Y % ((#Y) # 1) */ (+/Y^2)^0.5
VXX =: (transpose X) matprod X
VYY =: (transpose Y) matprod Y
VXY =: (transpose X) matprod Y
VYX =: (transpose Y) matprod X
RX =: (inv VXX) matprod VXY matprod (inv VYY) matprod VYX
RY =: (inv VYY) matprod VYX matprod (inv VXX) matprod VXY
LUX =: deflation RX
LUY =: deflation RY
UX =: > 1 { LUX
UY =: > 1 { LUY
echo 'Facteurs canoniques :'
echo ' '
echo UX
echo ' '
echo UY
NB. echo (transpose UX) matprod UX
NB. echo (transpose UY) matprod UY