Operaciones con matrices en maxima
El pasado día vimos como realizar transformaciones elementales para encontrar una matriz escalonada de cualquier matriz. Estas operaciones son fáciles con maxima utilizando estos comandos:
- rowswap(\(M\), i, j): dada la matriz \(M\) nos devuelve la misma donde la se han intercambiado las filas i y j, \(f_i\leftrightarrow f_j\).
- columnswap(\(M\), i, j): dada la matriz \(M\) nos devuelve la misma donde la se han intercambiado las columnas i y j, \(c_i\leftrightarrow c_j\).
Ejercicio: Dar las matrices de paso, por la izquierda y por la derecha, que verifica la semejanza \[\begin{bmatrix}
0 & 0 & 1 & 2 \\
0 & 0 & 2 & 1 \\
3 & 4 & 0 & 0 \\
4 & 3 & 0 & 0 \\
\end{bmatrix}\sim \begin{bmatrix}
0 & 0 & 3 & 4 \\
0 & 0 & 4 & 3 \\
1 & 2 & 0 & 0 \\
2 & 1 & 0 & 0
\end{bmatrix}\]
- rowop(\(M\), i, j, \(\alpha\)): dada la matriz \(M\) nos devuelve la misma donde la \(f_i\leftarrow f_i-\alpha f_j\).
- columnop(\(M\), i, j, \(\alpha\)): dada la matriz \(M\) nos devuelve la misma donde la \(c_i\leftarrow c_i-\alpha c_j\).
Con estos comandos podemos realizar las operaciones elementales que tratamos en clases anteriores. Sin embargo, una de las operaciones tiene un procedimiento más delicado: la multiplicación de una fila por un escalar. Imaginemos que el elemento \(a_{ic}=\gamma\) de una matriz queremos que su valor sea \(\beta\), necesitamos saber qué escalar \(\alpha\) debemos multiplicar a la fila \(f_i\) para que el comando rowop(\(M\), i, i, \(\alpha\)) transforme \(a_{ic}=\gamma\) en \(a_{ic}=\beta\). Luego \[\beta f_i={\gamma}f_i \ -\ {\gamma}{\alpha}f_i\to \alpha=1-\frac{\beta}{\gamma}.\]
De esta forma, solo necesitamos sustituir para encontrar el \(\alpha\) apropiado que nos proporcione \(\beta\).
Ejercicio: Dada \(\begin{bmatrix}2 & \operatorname{-}4 & 3\\ 6 & \operatorname{-}8 & 5\\ 6 & 1 & 7\end{bmatrix}\). Encontrar una matriz triangular superior que sea semejante por operaciones elementales.
Ejercicio: Dada la matriz propuesta en el video, realizar las mismas operaciones con maxima para concluir con la matriz escalonada que proporciona.
Ejercicio: Realizar como anteriormente con la matriz dada en:
Rango de una matriz
Tenemos una función que nos permite calcular el rango de una matriz:
- rank(M): Calcula el rango de la matriz M.
Ejercicio: Verifica el resultado del ejercicio
Ejercicio: Sea A:[[1,2,-3], [-2,0,4], [0,4,-2], [-2,-4,a]]. ¿Cuál es el valor de a para que el rango de la matriz sea par?
Ejercicio: Sea A:[[1,a,b,0], [2,2a,b,1], [2,3,b,0], [0,1,0,1]], con a,b\(\in\mathbb{R}\). ¿Cuál es el rango de la matriz según los parámetros dados?