en mathématique, avec une matrice bloc (genre transformation homogène dans R3) donne moi l'expression de ma matrice inverse
ChatGPT a dit :
En mathématiques, dans le contexte des transformations homogènes en ℝ³, on utilise souvent des matrices blocs 4×4 pour combiner une rotation et une translation. Une telle matrice s’écrit généralement sous la forme :
T=[Rt01]
T=[R0t1]
où :
R∈R3×3R∈R3×3 est une matrice de rotation (orthogonale, RT=R−1RT=R−1),
t∈R3t∈R3 est un vecteur de translation,
0∈R1×30∈R1×3 est une ligne de zéros,
et le 1 en bas à droite assure l’homogénéité.
🔄 Inverse de cette matrice TT
L’inverse T−1T−1 de la matrice de transformation homogène est donnée par :
T−1=[RT−RTt01]
T−1=[RT0−RTt1]
💡 Explication :
La rotation inverse est la transposée de RR, car RR est orthogonale.
La translation inverse est −RTt−RTt, ce qui revient à "annuler" la translation dans le repère tourné.
✅ Exemple concret
Soit :
T=[100300−1201010001]
T=
100000100−1003211
alors R=[10000−1010]R=
1000010−10
, et t=[321]t=
321
.
Donc :
RT=[1000010−10]et−RTt=[−3−1−2]
RT=
10000−1010
et−RTt=
−3−1−2
Donc :
T−1=[100−3001−10−10−20001]
T−1=
100000−100100−3−1−21
Si tu veux, je peux te faire un petit schéma pour visualiser la transformation et son inverse.
Vous avez dit :
peux tu démontrer formellement l'inverse de la matrice T
ChatGPT a dit :
Bien sûr ! Voici une démonstration formelle de l'inverse d’une matrice de transformation homogène dans ℝ³, utilisée notamment en robotique ou en géométrie 3D.
🔷 1. Forme de la matrice TT
Soit une matrice bloc de la forme :
T=[Rt01]
T=[R0t1]
où :
R∈R3×3R∈R3×3 est une matrice de rotation (donc RT=R−1RT=R−1),
t∈R3×1t∈R3×1 est un vecteur colonne de translation,
0∈R1×30∈R1×3 est une ligne de zéros.
On cherche à démontrer que :
T−1=[RT−RTt01]
T−1=[RT0−RTt1]
🔷 2. Multiplication des matrices T−1TT−1T
Appelons :
T−1=[R′t′01]ouˋ R′=RT et t′=−RTt
T−1=[R′0t′1]ouˋ R′=RT et t′=−RTt
Calculons T−1TT−1T :
T−1T=[RT−RTt01][Rt01]=[RTRRTt−RTt01]=[I001]=I4
T−1T=[RT0−RTt1][R0t1]=[RTR0RTt−RTt1]=[I001]=I4
🔷 3. Justification
RTR=IRTR=I car RR est orthogonale,
RTt−RTt=0RTt−RTt=0,
La ligne du bas reste inchangée.
Donc on obtient bien l’identité 4×4.
✅ Conclusion
La démonstration montre que :
T−1=[RT−RTt01]est bien l’inverse deT=[Rt01]
T−1=[RT0−RTt1]est bien l’inverse deT=[R0t1]
Souhaites-tu que je généralise cela à des dimensions supérieures ou que je t’aide à coder cette inversion en Python / PHP / autre ?
Vous avez dit :
en fait je cherche la formule qui inverse une matrice du genre T'ij = 1/Tij * déterminant du bloc ne contenant pas Tij
ChatGPT a dit :
Ah ! Tu parles en fait de l'inverse d’une matrice via les cofacteurs — donc d’une inversion par la méthode de l’adjointe (matrice des cofacteurs), souvent utilisée pour inverser une matrice pleinement remplie (pas nécessairement blocée). Tu sembles faire référence à la formule classique :
Tij−1=1det(T)⋅Cji
Tij−1=det(T)1⋅Cji
où CjiCji est le cofacteur (avec un signe ±) de l'élément TjiTji, et non pas TijTij, car on transpose lors du calcul de l’adjointe.
🔍 Résumé formel
Pour une matrice carrée T∈Rn×nT∈Rn×n, si det(T)≠0det(T)=0, alors :
T−1=1det(T)⋅adj(T)
T−1=det(T)1⋅adj(T)
où :
adj(T)=transpose de la matrice des cofacteursadj(T)=transpose de la matrice des cofacteurs,
Le cofacteur CijCij est donné par :
Cij=(−1)i+j⋅det(Mij)
Cij=(−1)i+j⋅det(Mij)
et MijMij est la matrice obtenue en supprimant la i-ème ligne et j-ème colonne de TT.
🧠 Donc ta phrase :
« Tij′=1Tij⋅deˊterminant du bloc ne contenant pas TijTij′=Tij1⋅deˊterminant du bloc ne contenant pas Tij »
… semble être une interprétation intuitive de :
Tij−1=1det(T)⋅Cji
Tij−1=det(T)1⋅Cji
Mais attention :
Ce n’est pas simplement « le déterminant du bloc qui ne contient pas TijTij », sauf si on veut dire le mineur associé à TjiTji (donc le déterminant de MjiMji).
Et il y a un signe, donné par (−1)i+j(−1)i+j.
✅ Exemple 2×2
Soit :
T=[abcd]⇒T−1=1ad−bc[d−b−ca]
T=[acbd]⇒T−1=ad−bc1[d−c−ba]
Ici, chaque élément vient du cofacteur transposé, et on divise par le déterminant.