Bonjour à tous,
J'ai un petit soucis en langage R lorsque je veu resoudre une équation matricielle.
Je souhaite trouver M tel que X = MA sachant A et X. ( X, M et A sont des matrices )
Par un peu d'algebre, cela revient à calculer X*A^{-1} avec * comme opérateur de multiplication matriciel
A est une matrice non carrée, je dois donc calculer sa pseudo-inverse
M est également une matrice non carrée ^^
voici le code que j'ai écrit
Code :
- # calcul de la pseudo-inverse de A, pseudo-inverse(A) = inverse(transposée(A)*A)*transposée(A)
- iA <- solve(t(A)%*%A,tol=1e-30)%*%t(A)
- # calcul de M = X*pseudo-inverse(A)
- M <- X %*% iA
|
Mon problème est que j'aimerais forcer à ce que les valeurs des M_i,j (qui sont réelles) soient comprises entre 0 et 1.
Pour resumer, comment réaliser ce problème d'optimisation sous contrainte en R, où comment forcer les valeurs de M à appartenir à [0,1] ??
Merci de votre aide, et bonne journée!