Sentencia CALL (comando MATRIX-END MATRIX)
Las funciones de matriz están estrechamente relacionadas con los procedimientos de matriz, que se invocan con la sentencia CALL . Los procedimientos, de forma similar a las funciones, aceptan los argumentos entre paréntesis y separados por comas. Ellos devuelven su resultado en uno o más de los argumentos como se indica en las descripciones individuales a continuación. Se implementan como procedimientos en lugar de como funciones para que puedan devolver más de un valor o (en el caso de SETDIAG) modificar una matriz sin hacer una copia de la misma.
EIGEN (M,var1,var2). Autovectores y autovalores de una matriz simétrica. Toma tres argumentos: una matriz simétrica y dos nombres de variable válidos a los que se asignan los resultados. Si M es una matriz simétrica, la sentencia CALL EIGEN(M, A, B) asignará a A una matriz que tenga las mismas dimensiones que M, que contenga los autovectores de M como sus columnas, y asignará a B un vector de columna que tenga tantas filas como M, que contenga los autovalores de M en orden numérico descendente. Los autovectores en A se ordenan para que se correspondan con los autovalores en B; por lo tanto, la primera columna se corresponde con el autovalor más grande, el segundo con el segundo más grande, y así sucesivamente.
SETDIAG (M, V). Establecer la diagonal principal de una matriz. Toma dos argumentos, una matriz y un vector. Los elementos de la diagonal principal de M se establecen igual a los elementos correspondientes de V. Si V es un escalar, todos los elementos diagonales se establecen igual a ese escalar. De lo contrario, si V tiene menos elementos que la diagonal principal de M, los elementos restantes de la diagonal principal no se modifican. Si V tiene más elementos de los necesarios, no se utilizarán los elementos adicionales. Consulte también la función de matriz MDIAG .
SVD (M,var1,var2,var3). Descomposición de valores singulares de una matriz. Toma cuatro argumentos: una matriz y tres nombres de variable válidos a los que se asignan los resultados. Si M es una matriz, la sentencia CALL SVD(M,U,Q,V) asignará a Q una matriz diagonal de las mismas dimensiones que M, y a las matrices unitarias U y V (matrices cuyos inversos sean iguales a sus transposiciones) de dimensiones adecuadas, tales como M=U* Q* T(V), donde T es la función de transposición definida anteriormente. Los valores singulares de M se encuentran en la diagonal principal de Q.