Matriu transposada

De Viquipèdia
Dreceres ràpides: navegació, cerca
Exemple de transposició d'una matriu 3×2

Si A denota una matriu de n × m elements:


A = (a_{i,j}) =
\begin{pmatrix}
 a_{1,1} & a_{1,2} & a_{1,3} & \cdots & a_{1,m}\\
 a_{2,1} & a_{2,2} & a_{2,3} & \cdots & a_{2,m}\\
 a_{3,1} & a_{3,2} & a_{3,3} & \cdots & a_{3,m}\\
 \vdots & \vdots & \vdots & \ddots & \vdots\\
a_{n,1} & a_{n,2} & a_{n,3} & \cdots & a_{n,m}\\
\end{pmatrix}
\in \mathcal M_{n\times m}

aleshores la permutació de files per columnes o viceversa, en la matriu A, produeix la seva matriu transposada A:


A^\top = 
\begin{pmatrix}
 a_{1,1} & a_{2,1} & a_{3,1} & \cdots & a_{n,1}\\
 a_{1,2} & a_{2,2} & a_{3,2} & \cdots & a_{n,2}\\
 a_{1,3} & a_{2,3} & a_{3,3} & \cdots & a_{n,3}\\
 \vdots & \vdots & \vdots & \ddots & \vdots\\
a_{1,m} & a_{2,m} & a_{3,m} & \cdots & a_{n,m}\\
\end{pmatrix} \in \mathcal M_{m,n}

A serà una matriu simètrica, si i només si, n = m i A = A.

Propietats[modifica | modifica el codi]

Siguin A i B matrius adequades per a les següents operacions, sabem que:

  • (A) = A
  • (A + B) = A + B
  • Per a qualsevol escalar r, (rA) = rA
  • (AB) = BA

Algorisme[modifica | modifica el codi]

En C++

 typedef vector< vector<int> > Matriu;
 
 void intercanvia(int& x, int& y){
   x ^= y;
   y ^= x; 
   x ^= y;
 }
 
 void transposar (Matriu& m){
 int s = m.size(); 
 for(int i = 0;i < s; ++i){
   for(int j = 0; j < i; ++j){
     intercanvia(m[i][j],m[j][i]); 
   }
 }
 }