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