Articles of linear algebra

Comprobación eficiente y pythonica de matriz singular.

Trabajando en algún álgebra matricial aquí. A veces necesito invertir una matriz que puede ser singular o mal condicionada. Entiendo que es pythonico simplemente hacer esto: try: i = linalg.inv(x) except LinAlgErr as err: #handle it Pero no estoy seguro de cuán eficiente es eso. ¿No sería esto mejor? if linalg.cond(x) < 1/sys.float_info.epsilon: i = […]

Vectorización de este doble bucle Numpy.

¿Cómo puedo vectorizar el siguiente doble bucle? Tengo una matriz N por A y una matriz N por B, donde A y B pueden diferir y N es mucho más pequeña que A y B. Quiero producir una matriz A por B de la siguiente manera, pero idealmente sin los bucles: import numpy as np […]

¿Por qué ensum de numpy es más lento que las funciones integradas de numpy?

Por lo general, he obtenido un buen rendimiento de la función einsum de numpy (y me gusta su syntax). La respuesta de @Ophion a esta pregunta muestra que, para los casos evaluados, einsum supera consistentemente a las funciones “integradas” (a veces por poco, a veces por mucho). Pero acabo de encontrar un caso donde einsum […]

Numpy: Multiplicando una matriz con un tensor 3d – Sugerencia

Tengo una matriz P con forma MxN y un tensor 3D T con forma KxNxR . Quiero multiplicar P con cada matriz NxR en T , dando como resultado un tensor KxMxR 3d. P.dot(T).transpose(1,0,2) da el resultado deseado. ¿Hay una solución mejor (es decir, deshacerse de la transpose ) a este problema? Esta debe ser […]

Método para encontrar una solución estrictamente mayor que cero para la Progtwigción lineal Scipy de Python

Scipy NNLS realiza esto: Solve argmin_x || Ax – b ||_2 for x>=0. ¿Cuál es la forma alternativa de hacerlo si busco una solución estrictamente distinta de cero (es decir, x > 0 )? Aquí está mi código LP usando el NNLS de Scipy: import numpy as np from numpy import array from scipy.optimize import […]

Cómo encontrar filas linealmente independientes de una matriz

¿Cómo identificar las filas linealmente independientes de una matriz? Por ejemplo, Las 4tas filas son independientes.

Productos de puntos eficientes de grandes matrices mapeadas en memoria

Estoy trabajando con algunas matrices flotantes de números grandes y densas que actualmente residen en el disco en PyTables CArray s. Necesito poder realizar productos de puntos eficientes usando estos arreglos, por ejemplo C = A.dot(B) , donde A es un arreglo de memoria enorme (~ 1E4 x 3E5 float32), y B y C son […]

Cálculo de matriz de dispersión ponderada rápida

En esta pregunta hace seis meses , jez fue lo suficientemente agradable como para ayudarme a encontrar una aproximación rápida para el producto externo de las diferencias de filas, es decir: K = np.zeros((len(X), len(X))) for i, Xi in enumerate(X): for j, Xj in enumerate(X): dij = Xi – Xj K += np.outer(dij, dij) Eso […]

Ajustando una línea en 3D

¿Hay algún algoritmo que devuelva la ecuación de una línea recta de un conjunto de puntos de datos 3D? Puedo encontrar muchas fonts que darán la ecuación de una línea a partir de conjuntos de datos 2D, pero ninguno en 3D. Gracias.

Cómo crear una matriz ortonormal aleatoria en python numpy

¿Hay algún método al que pueda llamar para crear una matriz ortonormal aleatoria en python? Posiblemente utilizando numpy? ¿O hay una manera de crear una matriz ortonormal usando múltiples métodos de números? Gracias.