Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

A question related to dss_solve_real()

agnonchik
Beginner
560 Views
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.
0 Kudos
3 Replies
ArturGuzik
Valued Contributor I
560 Views
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.
0 Kudos
Sergey_P_Intel2
Employee
560 Views
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

0 Kudos
agnonchik
Beginner
560 Views
Got it!
Thanks.
0 Kudos
Reply