Sparse Solver
Intel® MKL provides a user-callable direct sparse solver subroutine to solve symmetric and
symmetricly-structured matrices with real or complex coefficients. For sparse symmetric matrices,
this solver can solve both positive definite and indefinite systems.
pardiso
calculates the solution of a set of sparse linear equations with multiple right-hand sides. The Intel MKL supports an alternative interface for the direct sparse solver referred to as Direct Sparse Solver (DSS) interface:
dss_create
initializes the solver.
dss_define_structure
communicates to the solver locations of
dss_reorder
computes permutation vector that minimizes the fill-in during the factorization phase.
dss_factor_real / dss_factor_complex
compute the factorization of the matrix with previously specified location.
dss_solve_real / dss_solve_complex
compute the corresponding solutions vector and place it in the output array.
dss_delete
deletes all of data structures created during the solutions process.
dss_statistics
returns statistics about various phases of the solving process.
mkl_cvt_to_null_terminated_str
passes character strings from Fortran routines to C routines.
Fortran:
call pardiso(pt, maxfct, mnum, mtype, phase, n, a, ia, ja, perm, nrhs, iparm, msglvl, b, x, error)
C:
pardiso(pt, &maxfct, &mnum, &mtype, &phase, &n, a, ia, ja, perm, &nrhs, iparm, &msglvl, b, x, &error);
dss_create(handle, opt)
nNonZeros
number of non-zero elements in matrix of size nRows
by nCols
.
dss_define_structure(handle, opt, rowIndex, nRows, nCols, columns, nNonZeros)
dss_reorder(handle, opt, perm)
dss_factor_real(handle, opt, rValues)
dss_factor_complex(handle, opt, cValues)
dss_solve_real(handle, opt, rRhsValues, nRhs, rSolValues)
dss_solve_complex(handle, opt, cRhsValues, nRhs, cSolValues)
dss_delete(handle, opt)
dss_statistics(handle, opt, statArr, retValues)
mkl_cvt_to_null_terminated_str(destStr, destLen, srcStr)
* Legal Information © 1999, 2002-2006, Intel Corporation