def distancia_matrices(matriz1,matriz2): suma=(0,0) for x in range(len(matriz1)): for y in range(len(matriz1[0])): s=imaginar.resta(matriz1[x][y],matriz2[x][y]) s=imaginar.multiplicacion(s,s) suma=imaginar.suma(suma,s) return (suma[0]+suma[1])**(1/2)
def multiplicacion_matriz(matriz1,matriz2): lista=[] for x in range(len(matriz1)): lis=[] for y in range(len(matriz2[0])): sumar=(0,0) for z in range(len(matriz2)): k=imaginar.multiplicacion(matriz1[x][z],matriz2[z][y]) sumar=imaginar.suma(sumar,k) lis.append(sumar) lista.append(lis) return lista
def adicion_matrices(matriz1,matriz2): try: rta=[] n=len(matriz1[0]) for x in range(len(matriz1)): lis=[] for y in range(n): adicion = imaginar.suma(matriz1[x][y],matriz2[x][y]) lis.append(adicion) rta.append(lis) return rta except: return "La suma no tiene las mismas dimensiones"
def determinante(matriz1): sumar=0,0 if len(matriz1)>2: for x in range(len(matriz1)): matriz2=cofactores(matriz1,x,0) rta=imaginar.multiplicacion(matriz1[x][0],determinante(matriz2)) if x%2!=0: rta=imaginar.multiplicacion((-1,0),rta) sumar=imaginar.suma(sumar,rta) return sumar if len(matriz1)==2: r1=imaginar.multiplicacion(matriz1[0][0],matriz1[1][1]) r2=imaginar.resta(r1,imaginar.multiplicacion(matriz1[0][1],matriz1[1][0])) else: r2=matriz1[0][0] return r2
def adicion_vectores(lista1,lista2): for x in range(len(lista1)): lista1[x]=imaginar.suma(lista1[x],lista2[x]) return lista1
def trace(matriz1): suma=(0,0) for x in range(len(matriz1)): suma=imaginar.suma(suma,matriz1[x][x]) return suma
def test_suma(self): self.assertEqual(imaginar.suma((2, 5), (3, 2)), (5, 7))