Articles of matrix

Crear matriz de CSR a partir de x_index, y_index, valor

Tengo datos del formato (x_index, y_index, valor) y estoy tratando de crear una matriz de CSR utilizando scipy (scipy.sparse.csr.csr_matrix). Por ejemplo, convertir: 0 0 10 0 1 5 1 0 3 1 1 4 A lo siguiente: 10 5 3 4 He leído la documentación aquí: http://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csr_matrix.html Sin embargo, todavía no tengo claro cuál de […]

¿Cómo calcular la distancia geodésica de corto recorrido de la matriz de adyacencia csv ?

Tengo una matriz de adyacencia de gráfico grafico n 1 2 3 4 5 6 7 8 9 1 0 1 1 1 0 0 0 0 0 2 1 0 1 0 0 0 0 0 0 3 1 1 0 1 0 0 0 0 0 4 1 0 1 0 1 1 […]

Encuentra columnas de cero en la matriz dispersa de pandas

Por ejemplo tengo una coo_matriz A: import scipy.sparse as sp A = sp.coo_matrix([3,0,3,0], [0,0,2,0], [2,5,1,0], [0,0,0,0]) ¿Cómo puedo obtener el resultado [0,0,0,1], que indica que las primeras 3 columnas contienen valores distintos de cero, solo la 4ª columna es todo ceros? PS: no se puede convertir A a otro tipo. PS2: intenté usar np.nonzeros pero […]

Cómo hacer una matriz de datos xyz existentes

Quiero usar matplotlib.pyplot.pcolormesh para trazar un gráfico de profundidad. Lo que tengo es un archivo xyz Tres columnas, es decir, x (lat), y (lon), z (dep). Todas las columnas son de igual longitud. pcolormesh requiere matrices como entrada. Entonces usando numpy.meshgrid puedo transformar las x y las y en matrices: xx,yy = numpy.meshgrid(x_data,y_data) Esto funciona […]

Python: convierte la matriz a positivo semi-definido

Actualmente estoy trabajando en métodos de kernel, y en algún momento tuve que hacer una matriz semi-definida no positiva (es decir, una matriz de similitud) en una matriz de PSD. He intentado este enfoque: def makePSD(mat): #make symmetric k = (mat+mat.T)/2 #make PSD min_eig = np.min(np.real(linalg.eigvals(mat))) e = np.max([0, -min_eig + 1e-4]) mat = k […]

¿Cómo reemplazar los elementos diagonales de una matriz por un vector en SymPy?

Tengo un vector X que creé así: from sympy import * x1 = Symbol(‘x1’) x2 = Symbol(‘x2’) x3 = Symbol(‘x3’) X = Matrix([x1, x2, x3]) Entonces también tengo una matriz myMat que solo contiene uno: myMat = ones(3, 3) Matrix([ [1, 1, 1], [1, 1, 1], [1, 1, 1]]) Ahora me gustaría reemplazar la diagonal […]

¿Cuál es la forma más rápida de multiplicar con una matriz extremadamente dispersa?

Tengo una matriz estructurada muy escasa. Mi matriz tiene exactamente una entrada no nula por columna. Pero es enorme (10k * 1M) y se da en la siguiente forma (utilizando valores aleatorios, por ejemplo) rows = np.random.randint(0, 10000, 1000000) values = np.random.randint(0,10,1000000) donde las filas nos da el número de fila para una entrada distinta […]

La forma más rápida de sumr sobre filas de matriz dispersa

Tengo un csr_matrix grande (1M * 1K) y quiero agregar sobre filas y obtener un nuevo csr_matrix con el mismo número de columnas pero reducido el número de filas. En realidad, mi problema es exactamente el mismo que este Suma sobre filas en scipy.sparse.csr_matrix . Lo único es que encuentro que la solución aceptada es […]

Forma correcta de convertir numpy.matrix a C doble puntero

¿Cuál es la forma canónica de obtener una matriz numpy como un argumento para una función C que toma un puntero doble? Contexto : estoy usando numpy para validar algunos códigos C a ingenio, tengo una función C que toma const double ** const , y estoy usando ctypes para llamar a ctypes desde Python. […]

Elemento sabio poder de la matriz scipy.sparse

¿Cómo puedo elevar una matriz scipy.sparse a un poder, de forma elemental? numpy.power debería, según su manual , hacer esto, pero falla en matrices dispersas: >>> X <1353×32100 sparse matrix of type '’ with 144875 stored elements in Compressed Sparse Row format> >>> np.power(X, 2) Traceback (most recent call last): File “”, line 1, in […]