# 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.

Thanks.

4 posts / 0 new
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.

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.