"'def matmult(a,b):\\n zip_b = zip(*b)\\n #uncomment next line if python 3 : \\n zip_b = list(zip_b)\\n return [[sum(ele_a*ele_b for ele_a, ele_b in zip(row_a, col_b)) \\n for col_b in zip_b] for row_a in a]\\n'"
"'b=mat2\\nprint(b)\\nzip_b = zip(*b)\\nfor col_b in zip_b:\\n print(col_b)\\n'"
]
]
},
},
"execution_count": 173,
"execution_count": 1233,
"metadata": {},
"metadata": {},
"output_type": "execute_result"
"output_type": "execute_result"
}
}
...
@@ -1024,7 +1024,7 @@
...
@@ -1024,7 +1024,7 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 118,
"execution_count": 1243,
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
{
{
...
@@ -1034,7 +1034,7 @@
...
@@ -1034,7 +1034,7 @@
"Ingrese las filas de la matriz: \n",
"Ingrese las filas de la matriz: \n",
"2\n",
"2\n",
"Ingrese las columnas de la matriz: \n",
"Ingrese las columnas de la matriz: \n",
"3\n"
"2\n"
]
]
}
}
],
],
...
@@ -1044,7 +1044,7 @@
...
@@ -1044,7 +1044,7 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 133,
"execution_count": 782,
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
{
{
...
@@ -1054,7 +1054,7 @@
...
@@ -1054,7 +1054,7 @@
"Ingrese las filas de la matriz: \n",
"Ingrese las filas de la matriz: \n",
"3\n",
"3\n",
"Ingrese las columnas de la matriz: \n",
"Ingrese las columnas de la matriz: \n",
"2\n"
"3\n"
]
]
}
}
],
],
...
@@ -1064,7 +1064,71 @@
...
@@ -1064,7 +1064,71 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 119,
"execution_count": 1095,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Ingrese las filas de la matriz: \n",
"2\n",
"Ingrese las columnas de la matriz: \n",
"3\n"
]
}
],
"source": [
"cc=tamMatriz()"
]
},
{
"cell_type": "code",
"execution_count": 1236,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Ingrese las filas de la matriz: \n",
"5\n",
"Ingrese las columnas de la matriz: \n",
"5\n"
]
}
],
"source": [
"dd=tamMatriz()"
]
},
{
"cell_type": "code",
"execution_count": 1393,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Ingresa el valor del elemento0,0: \n",
"1400\n",
"Ingresa el valor del elemento0,1: \n",
"970\n",
"Ingresa el valor del elemento1,0: \n",
"970\n",
"Ingresa el valor del elemento1,1: \n",
"878\n"
]
}
],
"source": [
"mat1 = creaMatriz(aa[0],aa[1])"
]
},
{
"cell_type": "code",
"execution_count": 784,
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
{
{
...
@@ -1082,17 +1146,23 @@
...
@@ -1082,17 +1146,23 @@
"Ingresa el valor del elemento1,1: \n",
"Ingresa el valor del elemento1,1: \n",
"5\n",
"5\n",
"Ingresa el valor del elemento1,2: \n",
"Ingresa el valor del elemento1,2: \n",
"6\n"
"6\n",
"Ingresa el valor del elemento2,0: \n",
"7\n",
"Ingresa el valor del elemento2,1: \n",
"8\n",
"Ingresa el valor del elemento2,2: \n",
"10\n"
]
]
}
}
],
],
"source": [
"source": [
"mat1 = creaMatriz(aa[0],aa[1])"
"mat2=creaMatriz(bb[0],bb[1])"
]
]
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 134,
"execution_count": 1222,
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
{
{
...
@@ -1103,24 +1173,90 @@
...
@@ -1103,24 +1173,90 @@
"10\n",
"10\n",
"Ingresa el valor del elemento0,1: \n",
"Ingresa el valor del elemento0,1: \n",
"20\n",
"20\n",
"Ingresa el valor del elemento1,0: \n",
"Ingresa el valor del elemento0,2: \n",
"30\n",
"30\n",
"Ingresa el valor del elemento1,0: \n",
"18\n",
"Ingresa el valor del elemento1,1: \n",
"Ingresa el valor del elemento1,1: \n",
"40\n",
"5\n",
"Ingresa el valor del elemento1,2: \n",
"23\n"
]
}
],
"source": [
"mat3=creaMatriz(cc[0],cc[1])"
]
},
{
"cell_type": "code",
"execution_count": 1255,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Ingresa el valor del elemento0,0: \n",
"1\n",
"Ingresa el valor del elemento0,1: \n",
"1\n",
"Ingresa el valor del elemento0,2: \n",
"0\n",
"Ingresa el valor del elemento0,3: \n",
"2\n",
"Ingresa el valor del elemento0,4: \n",
"-1\n",
"Ingresa el valor del elemento1,0: \n",
"0\n",
"Ingresa el valor del elemento1,1: \n",
"0\n",
"Ingresa el valor del elemento1,2: \n",
"2\n",
"Ingresa el valor del elemento1,3: \n",
"-1\n",
"Ingresa el valor del elemento1,4: \n",
"2\n",
"Ingresa el valor del elemento2,0: \n",
"Ingresa el valor del elemento2,0: \n",
"50\n",
"0\n",
"Ingresa el valor del elemento2,1: \n",
"Ingresa el valor del elemento2,1: \n",
"60\n"
"2\n",
"Ingresa el valor del elemento2,2: \n",
"-3\n",
"Ingresa el valor del elemento2,3: \n",
"4\n",
"Ingresa el valor del elemento2,4: \n",
"5\n",
"Ingresa el valor del elemento3,0: \n",
"1\n",
"Ingresa el valor del elemento3,1: \n",
"0\n",
"Ingresa el valor del elemento3,2: \n",
"-1\n",
"Ingresa el valor del elemento3,3: \n",
"1\n",
"Ingresa el valor del elemento3,4: \n",
"1\n",
"Ingresa el valor del elemento4,0: \n",
"0\n",
"Ingresa el valor del elemento4,1: \n",
"0\n",
"Ingresa el valor del elemento4,2: \n",
"0\n",
"Ingresa el valor del elemento4,3: \n",
"0\n",
"Ingresa el valor del elemento4,4: \n",
"4\n"
]
]
}
}
],
],
"source": [
"source": [
"mat2=creaMatriz(bb[0],bb[1])"
"mat4=creaMatriz(dd[0],dd[1])"
]
]
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 210,
"execution_count": 10,
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
{
{
...
@@ -1133,10 +1269,10 @@
...
@@ -1133,10 +1269,10 @@
{
{
"data": {
"data": {
"text/plain": [
"text/plain": [
"[[220, 280], [490, 640]]"
"[[500, 600], [1140, 1400]]"
]
]
},
},
"execution_count": 210,
"execution_count": 10,
"metadata": {},
"metadata": {},
"output_type": "execute_result"
"output_type": "execute_result"
}
}
...
@@ -1154,17 +1290,17 @@
...
@@ -1154,17 +1290,17 @@
},
},
{
{
"cell_type": "code",
"cell_type": "code",
"execution_count": 206,
"execution_count": 11,
"metadata": {},
"metadata": {},
"outputs": [
"outputs": [
{
{
"data": {
"data": {
"text/plain": [
"text/plain": [
"array([[220, 280],\n",
"array([[ 500, 600],\n",
" [490, 640]])"
" [1140, 1400]])"
]
]
},
},
"execution_count": 206,
"execution_count": 11,
"metadata": {},
"metadata": {},
"output_type": "execute_result"
"output_type": "execute_result"
}
}
...
@@ -1176,6 +1312,100 @@
...
@@ -1176,6 +1312,100 @@
"np.matmul(mat1, mat2)"
"np.matmul(mat1, mat2)"
]
]
},
},
{
"cell_type": "code",
"execution_count": 1414,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1. 0.69285714]\n"
]
}
],
"source": [
"x=np.array(mat1,dtype=np.float64)\n",
"y=np.array(mat2)\n",
"z=np.array(mat3,dtype=np.float64)\n",
"w=np.array(mat4,dtype=np.float64)\n",
"#A=np.array(mmult1(x,y))\n",
"#np.linalg.det(A)\n",
"#b = np.array([[ 0, 1, 2, 3, 4],\n",
"# [ 5, 6, 7, 8, 9],\n",
"# [10, 11, 12, 13, 14]], dtype=np.int16)\n",
"#b\n",
"\n",
"#Toda la fila x[0,:]\n",
"print(x[0,:]*1/1400)\n"
]
},
{
"cell_type": "code",
"execution_count": 1022,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[]\n",
"[1. 2. 3.]\n"
]
},
{
"data": {
"text/plain": [
"[20, 30]"
]
},
"execution_count": 1022,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Encontrar uno\n",
"xxx=[[1,2,3],[0,5,6],[7,8,9]]\n",
"xxx1=np.array(xxx)\n",
"\n",
"xxx1=np.append(xxx1,[10,20,30])\n",
"xxx1\n",
"\n",
"a = np.array([]).reshape(0,3)\n",
"print(a)\n",
"a=np.append(a,[1,2,3])\n",
"print(a)\n",
"\n",
"x[0,:]\n",
"lineas=[]\n",
"lineas.append([5,10])\n",
"lineas.append([20,30])\n",
"lineas[-1]"
]
},
{
"cell_type": "code",
"execution_count": 1403,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.00304544, -0.00336455],\n",
" [-0.00336455, 0.00485605]])"
]
},
"execution_count": 1403,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.linalg.inv(x)"
]
},
{
{
"cell_type": "markdown",
"cell_type": "markdown",
"metadata": {},
"metadata": {},
...
@@ -1184,6 +1414,470 @@
...
@@ -1184,6 +1414,470 @@
"[Wikipedia](https://en.wikipedia.org/wiki/Gaussian_elimination): En matemáticas, la eliminación de Gauss Jordan, llamada así en honor de Carl Friedrich Gauss y Wilhelm Jordan es un algoritmo del álgebra lineal que se usa para determinar las soluciones de un sistema de ecuaciones lineales, para encontrar matrices e inversas. Un sistema de ecuaciones se resuelve por el método de Gauss cuando se obtienen sus soluciones mediante la reducción del sistema dado a otro equivalente en el que cada ecuación tiene una incógnita menos que la anterior. El método de Gauss transforma la matriz de coeficientes en una matriz triangular superior. El método de Gauss-Jordan continúa el proceso de transformación hasta obtener una matriz diagonal"
"[Wikipedia](https://en.wikipedia.org/wiki/Gaussian_elimination): En matemáticas, la eliminación de Gauss Jordan, llamada así en honor de Carl Friedrich Gauss y Wilhelm Jordan es un algoritmo del álgebra lineal que se usa para determinar las soluciones de un sistema de ecuaciones lineales, para encontrar matrices e inversas. Un sistema de ecuaciones se resuelve por el método de Gauss cuando se obtienen sus soluciones mediante la reducción del sistema dado a otro equivalente en el que cada ecuación tiene una incógnita menos que la anterior. El método de Gauss transforma la matriz de coeficientes en una matriz triangular superior. El método de Gauss-Jordan continúa el proceso de transformación hasta obtener una matriz diagonal"
]
]
},
},
{
"cell_type": "code",
"execution_count": 1535,
"metadata": {},
"outputs": [],
"source": [
"class Matriz():\n",
" def __init__ (self,matriz):\n",
" self.matriz=np.array(matriz)\n",
" self.no=0\n",
" \n",
" def filas(self):\n",
" return(len(self.matriz))\n",
" \n",
" def columnas(self):\n",
" return(len(self.matriz[0]))\n",
" \n",
" def determinante(self):\n",
" if self.filas()==self.columnas():\n",
" return(np.linalg.det(self.matriz))\n",
" else:\n",
" print(\"Matriz no cuadrada, no existe determinante\")\n",
" self.no=1\n",
" return(self.no)\n",
" \n",
" def gauss(self):\n",
" self.determinante()\n",
" if (self.no==0 and self.determinante()!=0):\n",
" print(\"Determinante distinto de cero:\\nMatriz invertible!\")\n",