Articles of linear algebra

¿Matrices / vectores concatenados en Python como en MATLAB?

Sean A , x , y , z algunos vectores o matrices de tamaño apropiado. Luego, en MATLAB se puede construir una “super matriz” B muy fácilmente: A = [1 2;3 4]; x = [4;5]; y = [1 2]; z = 4; B = [A x;yz]; La salida es: >> B B = 1 2 […]

Función mrdivide en MATLAB: ¿qué está haciendo y cómo puedo hacerlo en Python?

Tengo esta línea de código MATLAB: a/b Estoy usando estas entradas: a = [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9] b = ones(25, 18) Este es el resultado (una matriz de 1×25): [5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] ¿Qué está haciendo MATLAB? Estoy intentando duplicar este comportamiento en Python, y la documentación de mrdivide en MATLAB fue inútil. ¿De dónde vienen los 5 y por qué […]

¿Cómo dibujar planos de un conjunto de ecuaciones lineales en Python?

Tengo un sistema lineal con tres ecuaciones: x 1 – 2x 2 + x 3 = 0 2x 2 – 8x 3 = 8 -4x 1 + 5x 2 + 9x 3 = -9 El conjunto de soluciones es (29, 16, 3), que es un punto en la intersección de estos planos. Esperando que alguien […]

Suma sobre matriz cuadrada

Como parte de un cómputo de distancia euclidiana por lotes, estoy computando (X * X).sum(axis=1) donde X es una matriz 2-d bastante grande. Esto funciona bien, pero construye una matriz temporal del mismo tamaño que X ¿Hay alguna forma de deshacerse de este temporal, pero conservando la eficiencia de una operación vectorizada? El candidato obvio, […]

¿Cómo puedo resolver la ecuación lineal multivariable en python?

Tengo 10.000 variables. Para 100 de ellos, sé el valor exacto. otros se dan como a = 0.x_1 * b + 0.y_2 * c+ 0.z_1 * d + (1 – 0.x_1 – 0.y_1 – 0.z_1) * a b = 0.x_2 * c + 0.y_2 * d+ 0.z_2 * e + (1 – 0.x_2 – 0.y_2 […]

¿Escribe la sum doble (triple) como producto interno?

Como mi np.dot es acelerado por OpenBlas y Openmpi, me pregunto si existe la posibilidad de escribir la sum doble. for i in range(N): for j in range(N): B[k,l] += A[i,j,k,l] * X[i,j] Como producto interior. Justo en el momento que estoy usando B = np.einsum(“ijkl,ij->kl”,A,X) pero desafortunadamente es bastante lento y solo usa un […]

Calcular la forma normal de matriz de Jordan en Python / NumPy

En MATLAB puede calcular la forma normal de Jordan de una matriz utilizando la función jordan . ¿Existe una función equivalente disponible en NumPy y SciPy?

Array división- traduciendo de MATLAB a Python

Tengo esta línea de código en MATLAB, escrita por otra persona: c=a.’/b Necesito traducirlo a Python. a, b, yc son todas matrices. Las dimensiones que estoy usando actualmente para probar el código son: a: 18×1, b: 25×18, Lo que me da c con las dimensiones 1×25. Las matrices no son cuadradas, pero no quisiera que […]

Equivalente a `polyfit` para un polinomio 2D en Python

Me gustaría encontrar una solución de mínimos cuadrados para los coeficientes en z = (a0 + a1*x + a2*y + a3*x**2 + a4*x**2*y + a5*x**2*y**2 + a6*y**2 + a7*x*y**2 + a8*x*y) dados arrays x , y , z de longitud 20. Básicamente estoy buscando el equivalente de numpy.polyfit pero para un polinomio 2D. Esta pregunta […]

Aritmética de NumPy transmitida: ¿por qué es un método mucho más eficaz?

Esta pregunta es un seguimiento de mi respuesta de manera eficiente para calcular la matriz de Vandermonde . Aquí está la configuración: x = np.arange(5000) # an integer array N = 4 Ahora, voy a calcular la matriz de Vandermonde de dos maneras diferentes: m1 = (x ** np.arange(N)[:, None]).T Y, m2 = x[:, None] […]