lsolve(1)

NAME
lsolve - linear solver for sparse matrices

SYNOPSIS
lsolve matrix_filename rhs_setting solution_filename rhistory_filename [options]

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

OPTIONS
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)

        -ell [2]
            The degree 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 {none|0}
        None

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

EXIT STATUS
The following exit values are returned:

0   The process is normally terminated

unspecified
    An error occurred

SEE ALSO
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/