lsolve - linear solver for sparse matrices
lsolve matrix_filename rhs_setting solution_filename
rhistory_filename [options]
This program inputs the data of the coefficient matrix from
matrix_filename and solves the linear equation A*x = b with the solver
specified by options. It outputs the solution to
solution_filename in the extended Matrix Market format and the residual
history to rhistory_filename in the PLAIN format (see Appendix of the
Lis User Guide). Both the extended Matrix Market format and the Harwell-Boeing
format are supported for the matrix filename.
One of the following values can be specified by rhs_setting:
- 0
- Use the right hand side vector b included in matrix_filename
- 1
- Use b = (1, ..., 1)^T
- 2
- Use b = A * (1, ..., 1)^T
- rhs_filename
- The filename for the right-hand side vector
The PLAIN and Matrix Market formats are supported for
rhs_filename.
The following options are supported:
- -i linear solver
- The following options are supported for linear solver:
- -i {cg|1}
- CG
- -i {bicg|2}
- BiCG
- -i {cgs|3}
- CGS
- -i {bicgstab|4}
- BiCGSTAB
- -i {bicgstabl|5}
- BiCGSTAB(l)
- -i {gpbicg|6}
- GPBiCG
- -i {tfqmr|7}
- TFQMR
- -i {orthomin|8}
- Orthomin(m)
- -restart [40]
- The restart value m
- -i {gmres|9}
- GMRES(m)
- -restart [40]
- The restart value m
- -i {jacobi|10}
- Jacobi
- -i {gs|11}
- Gauss-Seidel
- -i {sor|12}
- SOR
- -omega [1.9]
- The relaxation coefficient omega (0<omega<2)
- -i {bicgsafe|13}
- BiCGSafe
- -i {cr|14}
- CR
- -i {bicr|15}
- BiCR
- -i {crs|16}
- CRS
- -i {bicrstab|17}
- BiCRSTAB
- -i {gpbicr|18}
- GPBiCR
- -i {bicrsafe|19}
- BiCRSafe
- -i {fgmres|20}
- FGMRES(m)
- -restart [40]
- The restart value m
- -i {idrs|21}
- IDR(s)
- -irestart [2]
- The restart value s
- -i {idr1|22}
- IDR(1)
- -i {minres|23}
- MINRES
- -i {COCG|24}
- COCG
- -i {COCR|25}
- COCR
- -p preconditioner
- The following options are supported for preconditioner:
- -p {none|0}
- None
- -p {jacobi|1}
- Jacobi
- -p {ilu|2}
- ILU(k)
- -ilu_fill [0]
- The fill level k
- -p {ssor|3}
- SSOR
- -ssor_omega [1.0]
- The relaxation coefficient omega (0<omega<2)
- -p {hybrid|4}
- Hybrid
- -hybrid_i [sor]
- The linear solver
- -hybrid_maxiter [25]
- The maximum number of the iterations
- -hybrid_tol [1.0e-3]
- The convergence criterion
- -hybrid_omega [1.5]
- The relaxation coefficient omega of the SOR
(0<omega<2)
- -hybrid_ell [2]
- The degree l of the BiCGSTAB(l)
- -hybrid_restart [40]
- The restart values of the GMRES and Orthomin
- -p {is|5}
- I+S
- -is_alpha [1.0]
- The parameter alpha of I+alpha*S(m)
- -is_m [3]
- The parameter m of I+alpha*S(m)
- -p {sainv|6}
- SAINV
- -sainv_drop [0.05]
- The drop criterion
- -p {saamg|7}
- SA-AMG
- -saamg_unsym [false]
- Select the unsymmetric version (The matrix structure must be
symmetric)
- -saamg_theta [0.05|0.12]
- The drop criterion
- -p {iluc|8}
- Crout ILU
- -iluc_drop [0.05]
- The drop criterion
- -iluc_rate [5.0]
- The ration of maximum fill-in
- -p {ilut|9}
- ILUT
- -ilut_drop [0.05]
- The drop criterion
- -ilut_rate [5.0]
- The ration of maximum fill-in
- -adds true
- Additive Schwarz
- -adds_iter [1]
- The number of the iteration
Other Options:
- -maxiter [1000]
- The maximum number of the iterations
- -tol [1.0e-12]
- The convergence criterion
- -print [0]
- The output of the residual history
- -print {mem|1}
- Save the residual history
- -print {out|2}
- Output it to the standard output
- -print {all|3}
- Save the residual history and output it to the standard output
- -scale [0]
- The scaling
- -scale {none|0}
- No scaling
- -scale {jacobi|1}
- The Jacobi scaling
- -scale {symm_diag|2}
- The diagonal scaling
- -initx_zeros [true]
- The behavior of the initial vector x_0
- -initx_zero {false|0}
- Given values
- -initx_zero {true|1}
- All values are set to 0
- -omp_num_threads [t]
- The number of the threads (t represents the maximum number of the
threads)
- -storage [0]
- The matrix storage format
- -storage_block [2]
- The block size of the BSR and BSC formats
- -f [0]
- The precision of the linear solver
- -f {double|0}
- Double precision
- -f {quad|1}
- Double-double (quadruple) precision
See Lis User Guide for full description.
The following exit values are returned:
- 0
- The process is normally terminated
- unspecified
- An error occurred
lis(3), esolve(1), hpcg_kernel(1), hpcg_spmvtest(1),
spmvtest1(1), spmvtest2(1), spmvtest2b(1),
spmvtest3(1), spmvtest3b(1), spmvtest4(1),
spmvtest5(1)
http://www.ssisc.org/lis/
http://math.nist.gov/MatrixMarket/