Las matrices triangulares en Octave
Adentrémonos en la esencia de esta lección, en la que te voy a guiar sobre cómo confeccionar una matriz triangular utilizando Octave.
Para los que se estén preguntando, ¿qué es una matriz triangular? Bueno, es una matriz cuadrada en la que solo los elementos situados en la diagonal principal y por encima (en el caso de la matriz triangular superior) o por debajo de ella (en el caso de la matriz triangular inferior) son diferentes de cero. Te presento un ejemplo: esto que ves aquí es una matriz triangular inferior $$ T = \begin{pmatrix} 1 & 0 & 0 \\ 2 & 3 & 0 \\ 4 & 5 & 6 \end{pmatrix} $$ Y esto que te muestro a continuación, es una matriz triangular superior. $$ T = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 4 & 5 \\ 0 & 0 & 6 \end{pmatrix} $$
Ahora bien, dejemos de lado la teoría y pasemos a la práctica.
Primero, crea una matriz cuadrada de cualquier dimensión.
>> M=[1 2 3;4 5 6;7 8 9]
M =
1 2 3
4 5 6
7 8 9
Después, vamos a convertir nuestra matriz M en una matriz triangular superior.
Para hacerlo, escribe el comando triu(M)
Este comando devuelve un arreglo en el cual solo los elementos en la diagonal principal y aquellos por encima de ella son diferentes de cero.
>> triu(M)
ans =
1 2 3
0 5 6
0 0 9
En caso de que quieras generar una matriz triangular inferior, necesitas usar el comando tril(M)
Esta función devuelve un arreglo en el que solo los elementos en la diagonal principal y aquellos por debajo de ella son diferentes de cero.
>> tril(M)
ans =
1 0 0
4 5 0
7 8 9
De este modo, puedes concebir matrices triangulares de cualquier orden.
Quiero destacar que puedes emplear las funciones triu() y tril() en matrices rectangulares también.
Por ejemplo, supongamos que creamos una matriz rectangular.
>> M2=[1 1 1 1; 2 2 2 2; 3 3 3 3]
M2 =
1 1 1 1
2 2 2 2
3 3 3 3
Posteriormente, ejecuta el comando triu(M2) y presiona Enter.
Como resultado, obtendrás otra matriz rectangular con elementos igual a cero debajo de la diagonal de la matriz cuadrada de mayor tamaño contenida dentro de la matriz rectangular.
>> triu(M2)
ans =
1 1 1 1
0 2 2 2
0 0 3 3
Si ejecutas el comando tril(M2) obtendrás un resultado similar.
En este caso, los elementos igual a cero están por encima de la diagonal principal.
>> tril(M2)
ans =
1 0 0 0
2 2 0 0
3 3 3 0