pyxfem.core.sparse_tools module

Tools for sparse matrix, not present or ineficient for my usage in scipy

Created on Wed Feb 28 09:49:32 2024 @author: nchevaug

pyxfem.core.sparse_tools.block_diag_compute_index(nblock, xblock, yblock)[source]

compute index of block diag matrix in order to pass to csc_array

pyxfem.core.sparse_tools.block_isub(x, y)[source]
pyxfem.core.sparse_tools.block_linsolve(A, b, solveA00=None)[source]
pyxfem.core.sparse_tools.block_norm(x)[source]
pyxfem.core.sparse_tools.factorized(A, assume_a='gen', overwrite_a=False)[source]

Returns a function solve(b) using pre-factored dense LAPACK routines. or scipy.sparse.factorized assume_a : ‘gen’ (LU), ‘pos’ (Cholesky), or ‘sym’ (LDL^T)

pyxfem.core.sparse_tools.linsolve_schurr(solveA11, A12, A21, A22, b1, b2)[source]

Solve block linear system using shcurr complement

pyxfem.core.sparse_tools.mblock(A00, A01, A10, A11)[source]
pyxfem.core.sparse_tools.rcond_estimate(A, luA=None)[source]

return an estimate of the reciproque condition number need A and an lu factorization of A. Warning, if luA is not given, it will be computed (and destroyed ..) inside the function

pyxfem.core.sparse_tools.regular_block_diag_to_csc(block_diag)[source]

from an np.array of shape (nblock, sblock, sblock) representing a block diagonal matrix A of shape (nblock*sblock) with block size sblock constuct the csr_array representing A.

pyxfem.core.sparse_tools.regular_block_diag_to_csr(block_diag)[source]

from an np.array of shape (nblock, sblock, sblock) representing a block diagonal matrix A of shape (nblock*sblock) with block size sblock constuct the csr_array representing A.

pyxfem.core.sparse_tools.split_mblock(A)[source]
pyxfem.core.sparse_tools.split_vblock(x)[source]
pyxfem.core.sparse_tools.vblock(x0, x1)[source]