Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
210 views

Matrices

A=[ai,j]m×n=[a11a12a13a1,na21a22a23a2,na31a32a33a3,nam1am2am3am,n]Mm×nA=\left[a_{i,j}\right]_{m\times n}=\left[\begin{array}{ccccc} a_{11} & a_{12} & a_{13} & \cdots & a_{1,n}\\ a_{21} & a_{22} & a_{23} & \cdots & a_{2,n}\\ a_{31} & a_{32} & a_{33} & \cdots & a_{3,n}\\ \vdots & \vdots & \vdots & \ddots & \vdots\\ a_{m1} & a_{m2} & a_{m3} & \cdots & a_{m,n} \end{array}\right]\in M_{m\times n}

i,ji,j entradas, ai,jFa_{i,j}\in\mathbb{F}(i,ji,j componentes), mm filas, nn columnas, orden m×nm\times n, donde F\mathbb{F} es el campo donde se definen los componentes (R,C,Q\mathbb{R,C,Q}). Si m=nm=n se tiene una matriz cuadrada.

En SAGE, las matrices se definen, de forma general, con el comando matrix: M=matrix(conjunto, filas, columnas, elementos), donde conjunto es ZZ, QQ, QQbar, RDF o RR, CDF, filas y columnas son las dimensiones de la matriz y elementos puede se una lista, un vector, un rango o nada. En el último caso obtenemos una matriz nula. IMPORTANTE: en SAGE los índices empiezan en "cero", es decir, el elemento a11 de una matriz es A[0,0]
M=matrix([[2,4,0,8],[-1,3,3,-2],[0,1,1,0]]); M
[ 2 4 0 8] [-1 3 3 -2] [ 0 1 1 0]
M[1,1 ] ︠2c60624e-0b37-43d0-bd0f-7111c3f4d42c︠ %md # Tipos de matrices

Tipos de matrices

%md Matriz nula $A={({a_{ij}})_{mxn}}/{a_{ij}}=0\,,\,\,\forall\,\,\,\, i,\,\, j$

Matriz nula A=(aij)mxn/aij=0,i,jA={({a_{ij}})_{mxn}}/{a_{ij}}=0\,,\,\,\forall\,\,\,\, i,\,\, j

A=(0000)2x2B=(00000000)2x4A={\left({\begin{array}{cc} 0 & 0\\ 0 & 0 \end{array}}\right)_{2x2}}\,\,\,\, B={\left({\begin{array}{lccc} 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{array}}\right)_{2x4}}
A=matrix([[0,0],[0,0]]); print "------ A ------" show(A) B=matrix([[0,0,0,0],[0,0,0,0]]); print "------ B ------" show(B) C=matrix(5,10); print "------ C ------" show(C)
------ A ------
(0000)\left(\begin{array}{rr} 0 & 0 \\ 0 & 0 \end{array}\right)
------ B ------
(00000000)\left(\begin{array}{rrrr} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{array}\right)
------ C ------
(00000000000000000000000000000000000000000000000000)\left(\begin{array}{rrrrrrrrrr} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{array}\right)
%md # Matriz diagonal e identidad

Matriz diagonal

diagonal_matrix(RDF,[4,1,2,3,5,7,8])
[4.0 0.0 0.0 0.0 0.0 0.0 0.0] [0.0 1.0 0.0 0.0 0.0 0.0 0.0] [0.0 0.0 2.0 0.0 0.0 0.0 0.0] [0.0 0.0 0.0 3.0 0.0 0.0 0.0] [0.0 0.0 0.0 0.0 5.0 0.0 0.0] [0.0 0.0 0.0 0.0 0.0 7.0 0.0] [0.0 0.0 0.0 0.0 0.0 0.0 8.0]
show(identity_matrix(7) )
(1000000010000000100000001000000010000000100000001)\left(\begin{array}{rrrrrrr} 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{array}\right)

Operaciones con Matrices

A = matrix([[1,2,3],[4,5,6],[7,7,1]]) A print "-------------" b = vector([1,1,4]) b print "-------------" A*A # matrix-matrix product print "-------------" A^4 # potencia de matrices print "-------------" A*b # matrix-vector product
[1 2 3] [4 5 6] [7 7 1] ------------- (1, 1, 4) ------------- [30 33 18] [66 75 48] [42 56 64] ------------- [ 3834 4473 3276] [ 8946 10491 7860] [ 7644 9170 7540] ------------- (15, 33, 18)

Definiendo matrices

#definimos función def A(i,j): return i+j #definimos matriz P=matrix(3,4, lambda i,j: A(i,j)) P
[0 1 2 3] [1 2 3 4] [2 3 4 5]

#OBJETOS Y METODOS

En SAGE todos los elmentos que definimos son "objetos" y como tales, tienen "métodos". Por ejemplo, en el caso de las matrices estos metodos son:

-efectuar operaciones elementales (add_multiple_of_row, swap_rows y rescale_row), -obtener el rango (rank), -calcular su forma reducida por filas (echelon_form), -determinar todos los menores de un orden dado (minors), -calcular su determinante (det o determinat), -descomposición LU (LU), etc...

Transpuesta, inversa y determinante de una matriz

A = matrix([[1,2,3],[4,5,6],[7,7,1]]); # transpuesta T=A.transpose() show(A) show(T)
(123456771)\left(\begin{array}{rrr} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 7 & 1 \end{array}\right)
(147257361)\left(\begin{array}{rrr} 1 & 4 & 7 \\ 2 & 5 & 7 \\ 3 & 6 & 1 \end{array}\right)
# inversa de la matriz AA=A.inverse(); show(AA)
(37181918161991091371871816)\left(\begin{array}{rrr} -\frac{37}{18} & \frac{19}{18} & -\frac{1}{6} \\ \frac{19}{9} & -\frac{10}{9} & \frac{1}{3} \\ -\frac{7}{18} & \frac{7}{18} & -\frac{1}{6} \end{array}\right)
# o puede escribir show(A^(-1))
(37181918161991091371871816)\left(\begin{array}{rrr} -\frac{37}{18} & \frac{19}{18} & -\frac{1}{6} \\ \frac{19}{9} & -\frac{10}{9} & \frac{1}{3} \\ -\frac{7}{18} & \frac{7}{18} & -\frac{1}{6} \end{array}\right)
A.determinant()
18
show((A*AA).inverse()) show((A*AA).det())
(100010001)\left(\begin{array}{rrr} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array}\right)
11

RANGO DE UNA MATRIZ: Forma escalonada por filas (rref), rango (rank) o estudio de Menores (minors)

# Estudiar el rango de la matriz en función de los parámetros $m$ y $ n$: #definimos los parámetros var('n,m') #definimos la matriz C=matrix([[1,3,-3],[1,-1,5],[0,n,m],[m,-1,-4]]) show(C)
(n, m)
(1331150nmm14)\left(\begin{array}{rrr} 1 & 3 & -3 \\ 1 & -1 & 5 \\ 0 & n & m \\ m & -1 & -4 \end{array}\right)
C.rref()
[1 0 0] [0 1 0] [0 0 1] [0 0 0]
C.rank()
3
︠aa97d903-4e1c-4c3f-8aa9-114b3941826b︠ show(C.minors(3))
[4m8n,12m+24,3(m+n)m+m4n,(m+5n)m+m4n]\left[-4 \, m - 8 \, n, 12 \, m + 24, 3 \, {\left(m + n\right)} m + m - 4 \, n, -{\left(m + 5 \, n\right)} m + m - 4 \, n\right]

Solución matricial de un sistema de ecuaciones Ax=bA x = b

[123113422354],{x+2y+3z=1x+3y+4z=22x+3y+5z=4\left[\begin{array}{ccccc} 1 & 2 & 3 & \left|\right. & 1\\ 1 & 3 & 4 & \left|\right. & 2\\ 2 & 3 & 5 & \left|\right. & 4 \end{array}\right],\,\,\,\,\,\,\begin{cases} x+2y+3z & =1\\ x+3y+4z & =2\\ 2x+3y+5z & =4 \end{cases}
A = matrix([[1,2,3],[1,3,4],[2,3,5]]) A
[1 2 3] [1 3 4] [2 3 5]
A\b
(-5/3, 7/3, -2/3)