A question related to dss_solve_real()

A question related to dss_solve_real()

Hi,

dss_solve_real() solves linear system L*L^T*x=b for a real symmetric sparse matrix A=L*L^T.
Is there any way to obtain the solution of L*x=b?

In other words, I need to factorize a real symmetric sparse matrix and then only perform the forward substitution Lx=b.

Any advice?

Thanks.

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Quoting - agnonchik
In other words, I need to factorize a real symmetric sparse matrix and then only perform the forward substitution Lx=b.

what about Sparse BLAS? Say mkl_?csrsm type routines?

A.

Quoting - agnonchik
In other words, I need to factorize a real symmetric sparse matrix and then only perform the forward substitution Lx=b.

Any advice?


Hi,

Since MKL 10.1 PARDISO and DSScan solve factorized system step-by-step.Namely, from MKL manual:

"By default, both routines (dss_solve_*)perform full solution step (it corresponds to phase =33 in PARDISO).
The parameter opt allows to calculate the final solution step-by-step, calling forward and backward substitutions. If it is set to MKL_DSS_FORWARD_SOLVE - the forward substitution (corresponding to phase =331 in PARDISO) is performed, if it is set to MKL_DSS_DIAGONAL_SOLVE - the diagonal substitution (corresponding to phase =332 in PARDISO) is performed, and if it is set to MKL_DSS_BACKWARD_SOLVE - the backward substitution (corresponding to phase =333 in PARDISO) is performed. For more details about using these substitutions for different types of matrices, see description of the PARDISO solver."

With best regards,
Sergey

Got it!
Thanks.

Leave a Comment

Please sign in to add a comment. Not a member? Join today