Aritmetica de matriz compleja
Objeto cmatrix
Tabla de contendido Definicion Operaciones matriciales o Suma o Restao Multiplicacion por un escalar
o Multiplicación matricial:
o Potecia de una matrix
o Transpuesta de una matriz
o Determinante de una matriz
o La inverza de una matriz
Definición:
Una cmatix es un arreglo de M X N elementos (numeros complejos), donde M representa el numero de filas y N el numero de columnas. Los índices de referencia a cada elemento se hace con un par ordenado (m,n) donde m representa el índice de la fila y n el índice de columna a la que pertenece el elemento.
Para definir una cmatrix, cada fila debe de delimitarse por corchetes cuadrados [ ] o los símbolos <>, los elementos se separan por coma. Los elementos pueden ser numeros reales o comlejos, pero si son reales son convertidos a complejos para ser insertados en la matrix.
Si es una cmatrix de solo una fila, es posible omitir los corchetes cuadrados.
Para especificar numeros complejos contantes como elementos, se separa la parte real de la imaginaria con el carácter &. Ejemplo de una fila seria [1&2, -2&3, 0&1]. NOTA: No se debe de dejar espacios en blanco entre los simbolos que separan dos filas, si usa dos simbolos para separar dos filas ][.
Una cmatrix se puede imprimir usando el comando strln y el nombre de la matriz entre comillas simples. Usando las comillas simples se imprime la matriz en multiples filas. Si en lugar de las comillas simples se delimita el nombre de la matriz con el símbolo ~ la matriz se imprime en una sola fila.
La palabra clave para crear una cmatrix es ?cmat seguido por las filas. Ejemplo: El siguiente codigo mustra las diferentes forma de crear una cmatrix. A=?cmat [1,-2][3,4] B=?cmat [1&1,3&2][-3&5,4&-2] strln La Matriz A='A' strln ========== strln La Matriz B=~B~ La salida seria: La Matriz A=cmatrix: (2,2)
[1 + (0)i, -2 + (0)i] [3 + (0)i, 4 + (0)i] ==========
La Matriz B=[1 + (1)i, 3 + (2)i][-3 + (5)i, 4 + (-2)i]
También se puede usar como elementos de una cmatrix variables o expresiones matemáticas, estas son calculadas para obtener el valor para cada elemento.
Ejemplo: x=1 gy=&3,2
C=?cmat [x, y, 2*y][x+2*y, y^2-1, x] strln C=~C~
Salida:
C=[1 + (0)i, 3 + (2)i, 6 + (4)i][7 + (4)i, 4 + (12)i, 1 + (0)i] Operaciones Matriciales:
Suma de matrices:
Dos matrices comlejas se pueden sumar solo si tiene la misma dimensión. La matriz resultante es de la misma dimensión en la cual se han sumado sus elementos en las respectivas posiciones. Sean los matrices A y B, luego C=A+B
Se usan numeros reales por simplicidad.
A= 1 0 2 6 3 2 0 2 1 B= 0 3 1 1 1 0 1 2 1 C=A+B= 1 3 3 5 2 2 1 0 2 Ejemplo : A=?cmat [1,-2,0][2,-3,6][1,0,1] B=?cmat [1,2,1][0,1,-1][2,-3,0] C=A+B
strln C='C'
El programa anterior presentaría.
La primer línea especifica el tipo de dato de C (matriz) y la dimensión de la matriz. (3,3).
C=cmatrix: (3,3)
[2 + (0)i, 0 + (0)i, 1 + (0)i] [2 + (0)i, -2 + (0)i, 5 + (0)i] [3 + (0)i, -3 + (0)i, 1 + (0)i]
Resta de matrices:
Esta operación es análoga a la suma. Ejemplo:
A=?cmat [1,-2,0][2,-3,6][1,0,1] B=?cmat [1,2,1][0,1,-1][2,-3,0] C=A-B
strln C='C'
El ejemplo anterior presentaría: C=cmatrix: (3,3)
[0 + (0)i, 4 + (0)i, 1 + (0)i] [-2 + (0)i, 4 + (0)i, -7 + (0)i] [1 + (0)i, -3 + (0)i, -1 + (0)i]
Multiplicación por un escalar:
El resultado de multiplicar un escalar por una matriz es otra matriz de la misma dimensión de la primera donde todos sus elementos están multiplicados por el escalar.
Ejemplo:
A=?cmat [1,-2,0][2,-3,6][1,0,1] C=3*A
strln C='C'
El ejemplo anterior presentaría: C=cmatrix: (3,3)
[3 + (0)i, -6 + (0)i, 0 + (0)i] [6 + (0)i, -9 + (0)i, 18 + (0)i] [3 + (0)i, 0 + (0)i, 3 + (0)i]
Multiplicación Matricial:
Sean las matrices A de dimensión M x N y B de dimensión O x K. Dos matrices se pueden multiplicar si N=O, o sea el numero de columnas de A debe ser igual al numero de filas de B. El resultado es una matriz de M x K.
Los detalles de la multiplicación no se expondrán en esta sección. La multiplicación de matrices no es conmutativa.
A*B no es igual a B*A. Ejemplo: A=?cmat [1,-2,0][2,-3,6][1,0,1] B=?cmat [0,1,-3][-4,3,2][-2,2,1] C1=A*B C2=B*A strln A*B='C1' strln B*A='C2'
El ejemplo anterior presentaría: A*B=cmatrix: (3,3)
[8 + (0)i, -5 + (0)i, -7 + (0)i] [0 + (0)i, 5 + (0)i, -6 + (0)i] [-2 + (0)i, 3 + (0)i, -2 + (0)i] B*A=cmatrix: (3,3)
[-1 + (0)i, -3 + (0)i, 3 + (0)i] [4 + (0)i, -1 + (0)i, 20 + (0)i] [3 + (0)i, -2 + (0)i, 13 + (0)i]
Potencia de una Matriz:
La potencia de una matriz consiste en la multiplicación por si misma en n veces (esta operación solo se define para matrices cuadradas).
Sea A una matriz, entonces:
A*A=A^2 y (A*A)*A=A^2*A=A^3, etc.
La operación de potencia solo tiene sentido para n>=1. Ejemplo:
A=?cmat [1,-2,0][2,-3,6][1,0,1] C1=A^2
strln A^2='C1'
El ejemplo anterior presentaría: A^2=cmatrix: (3,3)
[-3 + (0)i, 4 + (0)i, -12 + (0)i] [2 + (0)i, 5 + (0)i, -12 + (0)i] [2 + (0)i, -2 + (0)i, 1 + (0)i] Transpuesta de una Matriz:
La operación de transpuesta de una matriz se lleva a cabo convirtiendo las filas de en columnas (la primera fila seria la primera columna, la segunda fila seria la segunda columna, etc). El operador para transponer una matriz es el símbolo de potencia (^) con el exponente igual a cero (^0).
Ejemplo:
A=?cmat [1,1,1][2,2,2][3,3,3] C1=A^0
strln Transpuesta de A='C1' El ejemplo anterior presentaría: Transpuesta de A=cmatrix: (3,3) [1 + (0)i, 2 + (0)i, 3 + (0)i]
[1 + (0)i, 2 + (0)i, 3 + (0)i]
Determinante de una Matriz cuadrada:
El determinante es una propiedad solamente de las matrices cuadradas N x N, y es posible que una matriz cuadrada no tenga definido el determinante, a este tipo de matrices se le conoce como matriz singular.
La operación de determinante se obtiene con el operador ! (símbolo de admiración de cierre) antepuesto a la matriz. El resultado (el determinante) es un numero complejo.
Ejemplo:
A=?cmat [-1,0,12][-2,5,1][3,1,-3] d=!A
strln El determinante de A es ~d~ El ejemplo anterior presentaría: El determinante de A es -188 + (0)i La inversa de una Matriz cuadrada:
La inversa es una propiedad solamente de las matrices cuadradas N x N, y cuyo resultado es otra matriz de N x N. Es posible que una matriz cuadrada no tenga definida la inversa, a este tipo de matrices se le conoce como matriz singular.
La operación de inversa se obtiene con el operador de potencia (^) donde el exponente es –1 (^–1).
Ejemplo:
A=?cmat [-1,0,12][-2,5,1][3,1,-3] B=A^-1
strln La inversa de A='B'
El ejemplo anterior presentaría: La inversa de A=cmatrix: (3,3) [4/47 + (0)i, -3/47 + (0)i, 15/47 + (0)i]
[3/188 + (0)i, 33/188 + (0)i, 23/188 + (0)i] [17/188 + (0)i, -1/188 + (0)i, 5/188 + (0)i] Matriz de cofactores:
La matriz de cofactores se obtiene con el operador de potencia (^) donde el exponente es –2.
Ejemplo:
A=?cmat [-1,0,12][-2,5,1][3,1,-3] B=A^-2
strln La de cofactores de A='B' El ejemplo anterior presentaría: La de cofactores de A=cmatrix: (3,3) [-16 + (0)i, -3 + (0)i, -17 + (0)i]
[12 + (0)i, -33 + (0)i, 1 + (0)i] [-60 + (0)i, -23 + (0)i, -5 + (0)i]
Aplicaciones
El álgebra matricial de Queen hace posible evaluar en una sola expresion, formulas matriciales complejas, como por ejemplo la obtención de la matriz de proyección sobre un sub espacio vectorial a partir de la base que genera tal sub espacio.
Se omite la explicación de la definición de espacios vectoriales. Sea el sub espacio vectorial S dado por los vectores (base): a=<0,3,-1>
b=<1,2,0>
La matriz de proyección de Ps de S esta dada por: Ps = A(ATA)1AT
Si se escribe esta formula en formato de Queen tenemos: Ps = A*(A^0*A)^-1*A^0
Ejemplo:
A=?cmat [0,1][3,2][-1,0] Ps=A*(A^0*A)^-1*A^0
strln La matriz de transfirmacion de A es strln 'Ps'
Este ejemplo desplegaría:
La matriz de transfirmacion de A es cmatrix: (3,3)
[5/7 + (0)i, 1/7 + (0)i, 3/7 + (0)i] [1/7 + (0)i, 13/14 + (0)i, -3/14 + (0)i] [3/7 + (0)i, -3/14 + (0)i, 5/14 + (0)i]
Ahora, todo vector de dimensión 3 puede ser proyectado en S mediante multiplicación izquierda.
Sea el vector b=<1,4,5> y Ps la matriz de proyección de S. Entonces b se proyecta sobre el sub espacio S por multiplicación izquierda.
Nota: El vector tiene que crearse como una cmatrix con la dimension apropiada para la multiplicacion.
Ejemplo:
b=?cmat [1][4][5] pr=Ps*b
strln La proyecion strln 'pr'
Este ejemplo presentaría: La proyecion
cmatrix: (3,1) [24/7 + (0)i] [39/14 + (0)i] [19/14 + (0)i]
Que es el vector de proyección de b sobre el sub espacio vectorial S.
Nótese que Ps*b es la multiplicación de 2 matrices, el resultado es otra otra cmatrix con la misma dimension de b.
Es posible realizar operaciones simbolicas matriciales usando el objeto xmatrix, incluso derivadas de productos matriciales, luego se puede evaluar la matriz resultante definiendo las variables de las expresiones a numeros complejos y aplicando la operación cmatrix que retorna una matriz compleja. Para mas informacion consulte el objeto xmatrix.