2010-09-12 17 views

risposta

8

Utilizzare scipy.sparse.spdiags (che fa molto, e quindi può essere fonte di confusione, all'inizio), scipy.sparse.dia_matrix e/o scipy.sparse.lil_diags. (a seconda del format si desidera la matrice sparse in ...)

E.g. utilizzando spdiags:

import numpy as np 
import scipy as sp 
import scipy.sparse 

x = np.arange(10) 

# "0" here indicates the main diagonal... 
# "y" will be a dia_matrix type of sparse array, by default 
y = sp.sparse.spdiags(x, 0, x.size, x.size) 
1

Utilizzando il modulo scipy.sparse,

p = sparse.dia_matrix(1.0/np.array(x), shape=(len(x), len(x))); 
Problemi correlati