Scipy does not currently provide a routine for cholesky decomposition of a sparse matrix, and one have to rely on another external package such as scikit.sparse for the purpose. Here I implement cholesky decomposition of a sparse matrix only using scipy functions. Our implementation relies on sparse LU deconposition.
The following function receives a sparse symmetric positive-definite matrix A and returns a spase lower triangular matrix L such that A = LL^T.
from scipy.sparse import linalg as splinalg
import scipy.sparse as sparse
import sys
def sparse_cholesky(A): # The input matrix A must be a sparse symmetric positive-definite.