Subroutines¶
Basic subroutines¶
-
subroutine
spllt_analyse
(akeep, fkeep, options, n, ptr, row, info, order)¶ Perform the analyse phase of the factorization (referred to as symbolic factorization) for a matrix supplied in Compressed Sparse Column (CSC) format. The resulting symbolic factors stored in akeep should be passed unaltered in the subsequent calls to
spllt_factor()
. This routines also initializes the numeric factorization data stored in fkeep that should also be passed in the subsequent calls tospllt_factor()
.Parameters: - akeep [spllt_akeep,inout] :: symbolic factorization data.
- fkeep [spllt_fkeep,inout] :: numeric factorization data.
- options [spllt_options,in] :: user-supplied options to be used.
- n [integer,in] :: order of the system.
- ptr (n+1) [integer,in] :: column pointers for lower triangular part.
- row (ptr(n+1)-1) [integer,in] :: row indices of lower triangular part.
- info [spllt_inform,out] :: exit status.
- order (n) [integer,out] :: permutation array used for matrix ordering.
-
subroutine
spllt_factor
(akeep, fkeep, options, val, info)¶ Perform the numerical factorization of the matrix whose structure is kept in akeep that is determined with the
spllt_analyse()
routine. The numerical factors are stored in fkeep and should be passed unaltered in the subsequent calls tospllt_solve()
for computing the solution to the system.Parameters: - akeep [spllt_akeep,inout] :: symbolic factorization data.
- fkeep [spllt_fkeep,inout] :: numeric factorization data.
- options [spllt_options,in] :: user-supplied options to be used.
- val (*) [real,in] :: non-zero values for \(A\) in same format as for
the call to
ssids_analyse()
- info [spllt_inform,out] :: exit status.
Note
This routine call is asynchronous, the routine
spllt_wait()
should be call afterwards to make sure that
the factorization has been completed.
-
subroutine
spllt_solve
(fkeep, options, order, x, info[, job])¶ Solves for multiple right-hand sides on the following problems:
job Equation solved 0 (or absent) \(AX=B\) 1 \(PLX=B\) 2 \((PL)^TX=B\) Parameters: - fkeep [spllt_fkeep,in] :: numeric factorization data.
- options [spllt_options,in] :: user-supplied options to be used.
- order (n) [integer,out] :: permutation array used for matrix ordering.
- x (n,nrhs) [real,inout] :: right-hand sides \(B\) on entry, solutions \(X\) on exit. n represents the order of matrix \(A\).
- info [spllt_inform,out] :: exit status.
Options: job [integer,in] :: specifies equation to solve, as per above table.
-
subroutine
spllt_wait
()¶ Wait for all the tasks submitted in a previous function call to be completed.