Name

gf_spmat_get — General getfem sparse matrix inquiry function.

Calling Sequence

ivec gf_spmat_get(M,'size')
int gf_spmat_get(M,'nnz')
int gf_spmat_get(M,'is_complex')
string S=gf_spmat_get(M,'storage')
mat fM=gf_spmat_get(M,'full'[,I [,J]])
vec tMV=gf_spmat_get(M,'mult', V)
vec MV=gf_spmat_get(M,'tmult', V)
vec D=gf_spmat_get(M,'diag'[, E])
[ivec JC,ivec IR]=gf_spmat_get(M,'csc_ind')
[vec V]=gf_spmat_get(M,'csc_val')
[spmat N, vec U0]=gf_spmat_get(H,'dirichlet_nullspace', @vec R)
string S=gf_spmat_get(sl,'info')gf_spmat_get(sl,'save', string format, string filename)
    

Description

General getfem sparse matrix inquiry function. M might also be a native matlab sparse matrix.

  • n = gf_spmat_get(M,'nnz') Return the number of non-null values stored in the sparse matrix

  • Sm = gf_spmat_get(M,'full'[, list I[, list J]]) Return a full (sub-)matrix. The optional arguments I and J, are the sub-intervals for the rows and columns that are to be extracted.

  • MV = gf_spmat_get(M,'mult',vec V) Product of the sparse matrix M with a vector V. For matrix-matrix multiplications, see gf_spmat('mult').

  • MtV = gf_spmat_get(M,'tmult',vec V) Product of M transposed (conjugated if M is complex) with the vector V.

  • D = gf_spmat_get(M,'diag'[, list E]) Return the diagonal of M as a vector. If E is used, return the sub-diagonals whose ranks are given in E.

  • s = gf_spmat_get(M,'storage') Return the storage type currently used for the matrix. The storage is returned as a string, either 'CSC' or 'WSC'.

  • list(ni,nj) = gf_spmat_get(M,'size') Return a vector where ni and nj are the dimensions of the matrix.

  • b = gf_spmat_get(M,'is_complex') Return 1 if the matrix contains complex values.

  • list(JC, IR) = gf_spmat_get(M,'csc_ind') Return the two usual index arrays of CSC storage. If M is not stored as a CSC matrix, it is converted into CSC.

  • V = gf_spmat_get(M,'csc_val') Return the array of values of all non-zero entries of M. If M is not stored as a CSC matrix, it is converted into CSC.

  • list(N, U0) = gf_spmat_get(M,'dirichlet nullspace',vec R) Solve the dirichlet conditions M.U=R. A solution U0 which has a minimum L2-norm is returned, with a sparse matrix N containing an orthogonal basis of the kernel of the (assembled) constraints matrix M (hence, the PDE linear system should be solved on this subspace):

    the initial problem K.U = B with constraints M.U = R is replaced by (N'.K.N).UU = N'.B with U = N.UU + U0

  • s = gf_spmat_get(M,'info') Return a string contains a short summary on the sparse matrix (dimensions, filling, ...).

  • gf_spmat_get(M,'save',string format, string filename) Export the sparse matrix. the format of the file may be 'hb' for Harwell-Boeing, or 'mm' for Matrix-Market.

See Also

gf_spmat, gf_spmat_set

Authors

Y. Collette