가능한 모든 값을 배치하는 대신 함수에서 scipy에 희소 행렬을 정의 할 수 있습니까? 다큐 멘 테이션의에서 나는 메모리를 많이 사용하는 사전에 행렬을 지정하는 희소 행렬이함수로 정의 된 SciPy의 희소 행렬
There are seven available sparse matrix types:
csc_matrix: Compressed Sparse Column format
csr_matrix: Compressed Sparse Row format
bsr_matrix: Block Sparse Row format
lil_matrix: List of Lists format
dok_matrix: Dictionary of Keys format
coo_matrix: COOrdinate format (aka IJV, triplet format)
dia_matrix: DIAgonal format
이러한 힘의 모두에 의해 생성 될 수 있음을 참조하십시오. 필요한 경우 (i, j)를 계산하는 함수를 제공 할 수있는 방법이 있습니까? 최종 목표는 Lanczos 방법과 같은 것을 통해 행렬의 가장 큰 고유 벡터를 계산하는 것입니다.
파이썬 루프를 피하려고합니까? (분명히 분명히) 빈 희소 행렬이 생성 된 후에 값을 설정할 수 있기 때문에 : m [i, j] = fn (i, j)' – Paul
@Paul 나는 메모리에 값을 설정하지 않는 것이 이상적이다. (매우 큰) 희소 행렬이 있는데, 0이 아닌 원소의 수가 메모리의 크기보다 크지 만 계산이 빠릅니다. – Hooked