コード例 #1
0
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
コード例 #2
0
def multiplicacion_escalar_matrices(escalar,matriz):
    matriz2=[]
    n=len(matriz)
    for x in range(n):
        m=[]
        for y in range(n):
            m.append(imaginar.multiplicacion(escalar,matriz[x][y]))
        matriz2.append(m)
    return matriz2
コード例 #3
0
def producto_tensor(m1,m2):
    lista=[]
    for x in range(len(m1)):
        for y in range(len(m1)):
            lis=[]
            for k in range(len(m2)):
                for z in range(len(m2)):
                    lis.append(imaginar.multiplicacion(m1[x][y],m2[k][z]))
            lista.append(lis)
    return lista
コード例 #4
0
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)
コード例 #5
0
def adjunta(matriz1):
    lista=[]
    for x in range(len(matriz1)):
        lis=[]
        for y in range(len(matriz1)):
            k=determinante(cofactores(matriz1,x,y))
            if (x+y)%2!=0:
                k=imaginar.multiplicacion((-1,0),k)
            lis.append(k)
        lista.append(lis)
    return lista
コード例 #6
0
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
コード例 #7
0
def producto_escalar(c,v1):
    for x in range(len(v1)):
        v1[x]=imaginar.multiplicacion(c,v1[x])
    return v1
コード例 #8
0
 def test_multiplicacion(self):
     self.assertEqual(imaginar.multiplicacion((2, 3), (4, 5)), (-7, 22))