Articles of linear algebra

Compruebe si hay definición positiva o semidefinitud positiva

Quiero verificar si una matriz es positiva definida o semidefinita positiva usando Python. ¿Cómo puedo hacer eso? ¿Hay una función dedicada en SciPy para eso o en otros módulos?

Genera una matriz “aleatoria” de cierto rango sobre un conjunto fijo de elementos

Me gustaría generar matrices de tamaño m x n y rango r , con elementos provenientes de un conjunto finito específico, por ejemplo, {0,1} o {1,2,3,4,5} . Quiero que sean “aleatorios” en un sentido muy vago de esa palabra, es decir, quiero obtener una variedad de resultados posibles del algoritmo con una distribución vagamente similar […]

¿Qué está causando la desaceleración 2x ​​en mi implementación de Cython de la multiplicación de vectores matriciales?

Actualmente estoy intentando implementar la multiplicación básica de vectores matriciales en Cython (como parte de un proyecto mucho más grande para reducir la computación ) y encuentro que mi código es aproximadamente 2 Numpy.dot más lento que Numpy.dot . Me pregunto si hay algo que me estoy perdiendo que esté resultando en la desaceleración. Estoy […]

Resta cada fila de la matriz A de cada fila de la matriz B sin bucles

Dados dos arrays, A (forma: MXC) y B (forma: NXC), ¿hay una manera de restar cada fila de A de cada fila de B sin usar bucles? La salida final sería de forma (MNXC). Ejemplo A = np.array([[ 1, 2, 3], [100, 200, 300]]) B = np.array([[ 10, 20, 30], [1000, 2000, 3000], [ -10, […]

Cálculo rápido y eficiente de un vector propio para un valor propio conocido

Versión corta de mi pregunta : ¿Cuál sería la forma óptima de calcular un vector propio para una matriz A , si ya conocemos el valor propio que pertenece al vector propio? Explicación más larga : Tengo una gran matriz estocástica A que, como es estocástica, tiene un vector propio izquierdo no negativo x (tal […]

Matrix exponentiation en python

Estoy tratando de exponer una matriz compleja en Python y estoy teniendo algunos problemas. Estoy usando la función scipy.linalg.expm , y tengo un mensaje de error bastante extraño cuando bash el siguiente código: import numpy as np from scipy import linalg hamiltonian = np.mat(‘[1,0,0,0;0,-1,0,0;0,0,-1,0;0,0,0,1]’) # This works t_list = np.linspace(0,1,10) unitary = [linalg.expm(-(1j)*t*hamiltonian) for t […]

scipy.sparse.coo_matrix cómo encontrar rápidamente la columna de todos los ceros, rellenar con 1 y normalizar

Para una matriz, quiero buscar columnas con todos los ceros y rellenar con 1, y luego normalizar la matriz por columna. Sé cómo hacerlo con np.arrays [[0 0 0 0 0] [0 0 1 0 0] [1 0 0 1 0] [0 0 0 0 1] [1 0 0 0 0]] | V [[0 1 […]

Python: Multiplicando una lista de vectores por una lista de matrices como una sola operación de matriz

Tengo una lista de 100 vectores N-dimensional y una lista de 100 MxN matrices 100 MxN . Así que puede pensar en las dos estructuras de datos como una lista 100xN (o matriz numpy) y una lista 100xMxN (o matriz numpy). Lo que quiero hacer es tomar el producto puntual de cada vector y su […]

Python tensorflow l2 pérdida sobre eje

Estoy usando python 3 con tensorflow Tengo una matriz, cada fila es un vector, quiero obtener una matriz de distancia, es decir, una computadora que usa la pérdida de la norma l2 , cada valor en la matriz será una distancia entre dos vectores p.ej Dij = l2_distance(M(i,:), Mj(j,:)) Gracias edición: esto no es un […]

Diagonalización paralela de la matriz exacta con Python

¿Alguien está al tanto de una versión implementada (tal vez utilizando scipy / numpy) de diagonalización de matriz exacta paralela (equivalentemente, encontrar el sistema electrónico)? Si ayuda, mis matrices son simétricas y escasas. Odiaría pasar un día reinventando la rueda. EDITAR: Mis matrices son al menos 10,000×10,000 (pero, preferiblemente, al menos 20 veces más grandes). […]