Articles of matrix

Operador de transposición de conjugado “.H” en números

Es muy conveniente usar el atributo .T para obtener una versión transpuesta de un ndarray . Sin embargo, no hay una forma similar de obtener la transposición del conjugado. La clase de matriz de Numpy tiene el operador .H , pero no ndarray. Porque me gusta el código legible, y porque soy demasiado perezoso para […]

¿Cómo multiplicar elementalmente una matriz scipy.sparse por una matriz densa 1d emitida?

Supongamos que tengo una matriz dispersa 2d. En mi caso de uso real, tanto el número de filas como las columnas son mucho más grandes (por ejemplo, 20000 y 50000), por lo que no cabe en la memoria cuando se utiliza una representación densa: >>> import numpy as np >>> import scipy.sparse as ssp >>> […]

expandiendo (agregando una fila o columna) una matriz scipy.sparse

Supongamos que tengo una matriz NxN M (lil_matrix o csr_matrix) de scipy.sparse, y quiero hacerla (N + 1) xN donde M_modified [i, j] = M [i, j] para 0 <= i <N (y todo j) y M [N, j] = 0 para todo j. Básicamente, quiero agregar una fila de ceros a la parte inferior […]

Cómo realizar la inversión de la matriz de PyCUDA 4×4 con la misma precisión que la función numpy linalg “inv” o “pinv”

Estoy enfrentando un problema de precisión sobre mi código que realiza un número (128, 256, 512) de inversiones de matriz 4×4. Cuando uso la versión original, es decir, la función np.linalg.inv o np.linalg.pinv , todo funciona bien. Desafortunadamente, con el código CUDA a continuación, obtengo los valores nan e inf en la matriz invertida. Para […]

Escribir una función que devuelva booleano verdadero si la matriz forma un cuadrado mágico sin importar números.

Ya escribí una parte del progtwig que está abajo: def matrix_is_square(matrix): for i in range(len(matrix)): if len(matrix[i]) != len(matrix): return False return True Esta función devuelve True si la matriz es una matriz cuadrada, de lo contrario, devuelve False. SIN EMBARGO, AQUÍ ESTÁ CUANDO COMIENZA EL PROBLEMA. Tengo que escribir una segunda función que determina […]

Hacer matriz diagonal especial en Numpy.

Estoy tratando de hacer una matriz numpy que se parece a esto: [abc ] [ abc ] [ abc ] [ abc ] Así que esto implica actualizar la diagonal principal y las dos diagonales por encima de ella. ¿Cuál sería una forma eficiente de hacer esto?

Operación extremadamente lenta de la fila de sum en la matriz de LIL disperso en Python

He escrito este código en Python que está dando los resultados esperados pero es extremadamente lento. El cuello de botella es la sum de varias filas de scipy.sparse.lil_matrix. ¿Cómo puedo hacerlo rápido? # D1 is a 1.5M x 1.3M sparse matrix, read as scipy.sparse.lil_matrix. # D2 is a 1.5M x 111 matrix, read as numpy.array […]

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 […]

cómo generar todas las combinaciones posibles de una matriz de 14×10 que contiene solo 1 y 0

Estoy trabajando en un problema y una solución requeriría una entrada de cada matriz de 14×10 que se puede componer de 1 y 0 … ¿cómo puedo generarlas para poder ingresar cada matriz de 14×10 posible en otra función? ¡Gracias! Agregado el 21 de marzo: Parece que no redacté correctamente mi publicación. Lo siento. Lo […]

Concatene matrices dispersas en Python usando SciPy / Numpy

¿Cuál sería la forma más eficiente de concatenar matrices dispersas en Python usando SciPy / Numpy? Aquí utilicé lo siguiente: >>> np.hstack((X, X2)) array([ <49998×70000 sparse matrix of type '’ with 1135520 stored elements in Compressed Sparse Row format>, <49998×70000 sparse matrix of type '’ with 1135520 stored elements in Compressed Sparse Row format>], dtype=object) […]