# Package lis-doc

Developer documentation for lis

http://www.ssisc.org/lis/index.en.html

Lis, a Library of Iterative Solvers for linear systems, is a scalable parallel
library for solving systems of linear equations and standard eigenvalue
problems with real sparse matrices using iterative methods.

This package contains the developer documentation for lis.

Library Functions (Section 3)
lis
Lis (Library of Iterative Solvers for linear systems, pronounced [lis]) is a parallel software library for solving linear equations and eigenvalue problems that...
lis_array_abs
Get the absolute values of the elements of vector x.
lis_array_abs.3f
Get the absolute values of the elements of vector x.
lis_array_axpy
Calculate the sum of the vectors y = alpha * x + y.
lis_array_axpy.3f
Calculate the sum of the vectors y = alpha * x + y.
lis_array_axpyz
Calculate the sum of the vectors z = alpha * x + y.
lis_array_axpyz.3f
Calculate the sum of the vectors z = alpha * x + y.
lis_array_cgs
Calculate the QR factorization QR=A with the classical Gram-Schmidt process.
lis_array_cgs.3f
Calculate the QR factorization QR=A with the classical Gram-Schmidt process.
lis_array_copy
Copy the values of the vector elements.
lis_array_copy.3f
Copy the values of the vector elements.
lis_array_dot
Calculate the Hermitian inner product y^H x of vectors x and y.
lis_array_dot.3f
Calculate the Hermitian inner product y^H x of vectors x and y.
lis_array_ge
Calculate the inverse A^-1of matrix A with the Gaussian elimination.
lis_array_ge.3f
Calculate the inverse A of matrix A with the Gaussian elimination.
lis_array_matmat
Calculate the matrix-matrix product AB.
lis_array_matmat.3f
Calculate the matrix-matrix product AB.
lis_array_matmat_ns
Calculate the matrix-matrix product AB, where matrices A and B are not square.
lis_array_matmat_ns.3f
Calculate the matrix-matrix product AB, where matrices A and B are not square.
lis_array_matvec
Calculate the matrix-vector product Ax.
lis_array_matvec.3f
Calculate the matrix-vector product Ax.
lis_array_matvec_ns
Calculate the matrix-vector product Ax, where matrix A is not square.
lis_array_matvec_ns.3f
Calculate the matrix-vector product Ax, where matrix \$fIA is not square.
lis_array_matvect
Calculate the matrix-vector product A^Tx.
lis_array_matvect.3f
Calculate the matrix-vector product A^Tx.
lis_array_mgs
Calculate the QR factorization QR=A with the modified Gram-Schmidt process.
lis_array_mgs.3f
Calculate the QR factorization QR=A with the modified Gram-Schmidt process.
lis_array_nrm1
Calculate the 1-norm of vector x.
lis_array_nrm1.3f
Calculate the 1-norm of vector x.
lis_array_nrm2
Calculate the 2-norm of vector x.
lis_array_nrm2.3f
Calculate the 2-norm of vector x.
lis_array_nrmi
Calculate the infinity norm of vector x.
lis_array_nrmi.3f
Calculate the infinity norm of vector x.
lis_array_pdiv
Divide each element of vector x by the corresponding element of vector y.
lis_array_pdiv.3f
Divide each element of vector x by the corresponding element of vector y.
lis_array_pmul
Multiply each element of vector x by the corresponding element of vector y.
lis_array_pmul.3f
Multiply each element of vector x by the corresponding element of vector y.
lis_array_qr
Calculate the eigenvalues of matrix A with the QR algorithm.
lis_array_qr.3f
Calculate the eigenvalues of matrix A with the QR algorithm.
lis_array_reciprocal
Get the reciprocal values of the elements of vector x.
lis_array_reciprocal.3f
Get the reciprocal values of the elements of vector x.
lis_array_scale
Multiply vector x by scalar alpha.
lis_array_scale.3f
Multiply vector x by scalar alpha.
lis_array_set_all
Assign scalar value value to the elements of vector x.
lis_array_set_all.3f
Assign scalar value value to the elements of vector x.
lis_array_shift
Get the shifted values of the elements of vector x.
lis_array_shift.3f
Get the shifted values of the elements of vector x.
lis_array_solve
Solve the linear equation Ax=b with the direct method.
lis_array_solve.3f
Solve the linear equation Ax=b with the specified solver.
lis_array_sum
Calculate the sum of the elements of vector x.
lis_array_sum.3f
Calculate the sum of the elements of vector x.
lis_array_swap
Swap the values of the vector elements.
lis_array_swap.3f
Swap the values of the vector elements.
lis_array_xpay
Calculate the sum of the vectors y = x + alpha * y.
lis_array_xpay.3f
Calculate the sum of the vectors y = x + alpha * y.
lis_esolve
Solve the standard eigenvalue problem Ax = lx with the specified eigensolver.
lis_esolve.3f
Solve the standard eigenvalue problem Ax = lx with the specified eigensolver.
lis_esolver_create
create the eigensolver
lis_esolver_create.3f
create the eigensolver
lis_esolver_destroy
destroy the eigensolver
lis_esolver_destroy.3f
destroy the eigensolver
lis_esolver_get_esolver
Get the eigensolver number from the eigensolver.
lis_esolver_get_esolver.3f
Get the eigensolver number from the eigensolver.
lis_esolver_get_esolvername
Get the eigensolver name from the eigensolver number.
lis_esolver_get_esolvername.3f
Get the eigensolver name from the eigensolver number.
lis_esolver_get_evalues
Get all the eigenvalues from the eigensolver.
lis_esolver_get_evalues.3f
Get all the eigenvalues from the eigensolver.
lis_esolver_get_evectors
Get all the eigenvectors from the eigensolver.
lis_esolver_get_evectors.3f
Get all the eigenvectors from the eigensolver.
lis_esolver_get_iter
Get the number of iterations for the specified eigenpair from the eigensolver.
lis_esolver_get_iter.3f
Get the number of iterations for the specified eigenpair from the eigensolver.
lis_esolver_get_iterex
Get the detailed information on the number of iterations for the specified eigenpair from the eigensolver.
lis_esolver_get_iterex.3f
Get the detailed information on the number of iterations for the specified eigenpair from the eigensolver.
lis_esolver_get_iters
Get the numbers of iterations for all the eigenpairs from the eigensolver.
lis_esolver_get_iters.3f
Get the numbers of iterations for all the eigenpairs from the eigensolver.
lis_esolver_get_residualnorm
Get the relative residual norm ||lx - Ax||_2/||lx||_2 for the specified eigenpair from the eigensolver.
lis_esolver_get_residualnorm.3f
Calculate the relative residual norm ||lx - Ax||_2/l from the eigenvector x.
lis_esolver_get_residualnorms
Get the relative residual norms ||lx - Ax||_2/||lx||_2 for all the eigenpairs from the eigensolver.
lis_esolver_get_residualnorms.3f
Get the relative residual norms ||lx - Ax||_2/||lx||_2 for all the eigenpairs from the eigensolver.
lis_esolver_get_rhistory
Get the residual history for the specified eigenpair from the eigensolver.
lis_esolver_get_rhistory.3f
Get the residual history for the specified eigenpair from the eigensolver.
lis_esolver_get_status
Get the status for the specified eigenpair from the eigensolver.
lis_esolver_get_status.3f
Get the status for the specified eigenpair from the eigensolver.
lis_esolver_get_time
Get the execution time for the specified eigenpair from the eigensolver.
lis_esolver_get_time.3f
Get the execution time for the specified eigenpair from the eigensolver.
lis_esolver_get_timeex
Get the detailed information on the execution time for the specified eigenpair from the eigensolver.
lis_esolver_get_timeex.3f
Get the detailed information on the execution time for the specified eigenpair from the eigensolver.
lis_esolver_set_option
Set the options for the eigensolver.
lis_esolver_set_option.3f
Set the options for the eigensolver.
lis_esolver_set_optionC
Set the options for the eigensolver on the command line.
lis_esolver_set_optionC.3f
Set the options for the eigensolver on the command line.
lis_finalize
Finalize the execution environment.
lis_finalize.3f
Finalize the execution environment.
lis_initialize
Initialize the execution environment.
lis_initialize.3f
Initialize the execution environment.
lis_input
Read the matrix and vector data from the external file.
lis_input.3f
Read the matrix and vector data from the external file.
lis_input_matrix
Read the matrix data from the external file.
lis_input_matrix.3f
Read the matrix data from the external file.
lis_input_vector
Read the vector data from the external file.
lis_input_vector.3f
Read the vector data from the external file.
lis_matrix_assemble
Assemble matrix A into the specified storage format.
lis_matrix_assemble.3f
Assemble matrix A into the specified storage format.
lis_matrix_axpy
Calculate the sum of the matrices B = alpha * A + B.
lis_matrix_axpy.3f
Calculate the sum of the matrices B = alpha * A + B.
lis_matrix_axpyz
Calculate the sum of the matrices C = alpha * A + B.
lis_matrix_axpyz.3f
Calculate the sum of the matrices C = alpha * A + B.
lis_matrix_convert
Convert matrix Ain into Aout of the format specified by lis_matrix_set_type.
lis_matrix_convert.3f
Convert matrix Ain into Aout of the format specified by lis_matrix_set_type.
lis_matrix_copy
Copy the values of the matrix elements.
lis_matrix_copy.3f
Copy the values of the matrix elements.
lis_matrix_create
create the matrix
lis_matrix_create.3f
create the matrix
lis_matrix_destroy
destroy the matrix
lis_matrix_destroy.3f
destroy the matrix
lis_matrix_duplicate
Create matrix Aout which has the same information as Ain.
lis_matrix_duplicate.3f
Create matrix Aout which has the same information as Ain.
lis_matrix_get_diagonal
Get the diagonal elements of matrix A.
lis_matrix_get_diagonal.3f
Get the diagonal elements of matrix.
lis_matrix_get_nnz
Get the number of nonzero elements of matrix A.
lis_matrix_get_nnz.3f
Get the number of nonzero elements of matrix A.
lis_matrix_get_range
Get the location of partial matrix A in the global matrix.
lis_matrix_get_range.3f
Get the location of the partial matrix A in the global matrix.
lis_matrix_get_size
Get the size of matrix A.
lis_matrix_get_size.3f
Get the size of matrix A.
lis_matrix_get_type
get the storage format
lis_matrix_get_type.3f
get the storage format
lis_matrix_malloc
allocate the memory for matrix A.
lis_matrix_malloc.3f
allocate the memory for matrix A.
lis_matrix_scale
scale the matrix
lis_matrix_scale.3f
scale the matrix
lis_matrix_set_blocksize
Assign the block size of the BSR, BSC, and VBR formats.
lis_matrix_set_blocksize.3f
Assign the block size of the BSR, BSC, and VBR formats.
lis_matrix_set_bsc
Associate the arrays in the BSC format with matrix A.
lis_matrix_set_bsc.3f
Associate the arrays in the BSC format with matrix A.
lis_matrix_set_bsr
Associate the arrays in the BSR format with matrix A.
lis_matrix_set_bsr.3f
Associate the arrays in the BSR format with matrix A.
lis_matrix_set_coo
Associate the arrays in the COO format with matrix A.
lis_matrix_set_coo.3f
Associate the arrays in the COO format with matrix A.
lis_matrix_set_csc
Associate the arrays in the CSC format with matrix A.
lis_matrix_set_csc.3f
Associate the arrays in the CSC format with matrix A.
lis_matrix_set_csr
Associate the arrays in the CSR format with matrix A.
lis_matrix_set_csr.3f
Associate the arrays in the CSR format with matrix A.
lis_matrix_set_dia
Associate the arrays in the DIA format with matrix A.
lis_matrix_set_dia.3f
Associate the arrays in the DIA format with matrix A.
lis_matrix_set_dns
Associate the arrays in the DNS format with matrix A.
lis_matrix_set_dns.3f
Associate the arrays in the DNS format with matrix A.
lis_matrix_set_ell
Associate the arrays in the ELL format with matrix A.
lis_matrix_set_ell.3f
Associate the arrays in the ELL format with matrix A.
Associate the arrays in the JAD format with matrix A.
Associate the arrays in the JAD format with matrix A.
lis_matrix_set_msr
Associate the arrays in the MSR format with matrix A.
lis_matrix_set_msr.3f
Associate the arrays in the MSR format with matrix A.
lis_matrix_set_size
Assign the size of matrix A.
lis_matrix_set_size.3f
Assign the size of matrix A.
lis_matrix_set_type
Assign the storage format.
lis_matrix_set_type.3f
Assign the storage format.
lis_matrix_set_value
Assign the scalar value to the (i, j)-th element of matrix A.
lis_matrix_set_value.3f
Assign the scalar value to the (i, j)-th element of matrix A.
lis_matrix_set_vbr
Associate the arrays in the VBR format with matrix A.
lis_matrix_set_vbr.3f
Associate the arrays in the VBR format with matrix A.
lis_matrix_shift_diagonal
Shift the diagonal elements of matrix A.
lis_matrix_shift_diagonal.3f
Shifts the diagonal elements of matrix A.
lis_matrix_unset
Unassociate the arrays from matrix A.
lis_matrix_unset.3f
Unassociate the arrays from matrix A.
lis_matrix_xpay
Calculate the sum of the matrices B = A + alpha * B.
lis_matrix_xpay.3f
Calculate the sum of the matrices B = A + alpha * B.
lis_matvec
Calculate the matrix vector product y = Ax.
lis_matvec.3f
Calculate the matrix vector product y = Ax.
lis_matvect
Calculate the transposed matrix vector product y = A^T x.
lis_matvect.3f
Calculate the transposed matrix vector product y = A^T x.
lis_output
Write the matrix and vector data to the external file.
lis_output.3f
Write the matrix and vector data to the external file.
lis_output_matrix
Write the matrix data to the external file.
lis_output_matrix.3f
Write the matrix data to the external file.
lis_output_vector
Write the vector data to the external file.
lis_output_vector.3f
Write the vector data to the external file.
lis_solve
Solve the linear equation with the specified solver.
lis_solve.3f
Solve the linear equation with the specified solver.
lis_solve_kernel
Solve the linear equation with the specified solver and the predefined preconditioner.
lis_solve_kernel.3f
Solve the linear equation with the specified solver and the predefined preconditioner.
lis_solver_create
create the solver
lis_solver_create.3f
create the solver
lis_solver_destroy
destroy the solver
lis_solver_destroy.3f
destroy the solver
lis_solver_get_iter
Get the number of iterations from the solver.
lis_solver_get_iter.3f
Get the number of iterations from the solver.
lis_solver_get_iterex
Get the detailed information on the number of iterations from the solver.
lis_solver_get_iterex.3f
Get the detailed information on the number of iterations from the solver.
lis_solver_get_precon
Get the preconditioner number from the solver.
lis_solver_get_precon.3f
Get the preconditioner number from the solver.
lis_solver_get_preconname
Get the preconditioner name from the preconditioner number.
lis_solver_get_preconname.3f
Get the preconditioner name from the preconditioner number.
lis_solver_get_residualnorm
Calculate the relative residual norm ||b - Ax||_2/||b||_2 from the solution x.
lis_solver_get_residualnorm.3f
Calculate the relative residual norm ||b - Ax||_2/||b||_2 from the solution x.
lis_solver_get_rhistory
Get the residual history of the solver.
lis_solver_get_rhistory.3f
Get the residual history of the solver.
lis_solver_get_solver
Get the solver number from the solver.
lis_solver_get_solver.3f
Get the solver number from the solver.
lis_solver_get_solvername
Get the solver name from the solver number.
lis_solver_get_solvername.3f
Get the solver name from the solver number.
lis_solver_get_status
Get the status from the solver.
lis_solver_get_status.3f
Get the status from the solver.
lis_solver_get_time
Get the execution time from the solver.
lis_solver_get_time.3f
Get the execution time from the solver.
lis_solver_get_timeex
Get the detailed information on the execution time from the solver.
lis_solver_get_timeex.3f
Get the detailed information on the execution time from the solver.
lis_solver_set_option
Set the options for the solver.
lis_solver_set_option.3f
Set the options for the solver.
lis_solver_set_optionC
Set the options for the solver on the command line.
lis_solver_set_optionC.3f
Set the options for the solver on the command line.
lis_vector_abs
Get the absolute values of the elements of vector x.
lis_vector_axpy
Calculate the sum of the vectors y = alpha * x + y.
lis_vector_axpy.3f
Calculate the sum of the vectors y = alpha * x + y.
lis_vector_axpyz
Calculate the sum of the vectors z = alpha * x + y.
lis_vector_axpyz.3f
Calculate the sum of the vectors z = alpha * x + y.
lis_vector_copy
Copy the values of the vector elements.
lis_vector_copy.3f
Copy the values of the vector elements.
lis_vector_create
create the vector
lis_vector_create.3f
create the vector
lis_vector_destroy
destroy the vector
lis_vector_destroy.3f
destroy the vector
lis_vector_dot
Calculate the Hermitian inner product x^H y of vectors x and y.
lis_vector_dot.3f
Calculate the Hermitian inner product x^H y of vectors x and y.
lis_vector_duplicate
Create vector vout which has the same information as vin.
lis_vector_duplicate.3f
Create vector vout which has the same information as vin.
lis_vector_gather
Get scalar value[i] of the i-th row of the vector v, where i=0,1,...,global_n-1.
lis_vector_gather.3f
Get scalar value[i] of the i-th row of the vector v, where i=0,1,...,global_n-1.
lis_vector_get_range
Get the location of the partial vector v in the global vector.
lis_vector_get_range.3f
Get the location of the partial vector v in the global vector.
lis_vector_get_size
Get the size of vector v.
lis_vector_get_size.3f
Get the size of vector v.
lis_vector_get_value
Get the scalar value of the i-th row of the vector.
lis_vector_get_value.3f
Get the scalar value of the i-th row of the vector.
lis_vector_get_values
Get scalar value[i] of the start+i-th row of the vector v, where i=0,1,...,count-1.
lis_vector_get_values.3f
Get scalar value[i] of the start+i-th row of the vector v, where i=0,1,...,count-1.
lis_vector_nrm1
Calculate the 1-norm of vector x.
lis_vector_nrm1.3f
Calculate the 1-norm of vector x.
lis_vector_nrm2
Calculate the 2-norm of vector x.
lis_vector_nrm2.3f
Calculate the 2-norm of vector x.
lis_vector_nrmi
Calculate the infinity norm of vector x.
lis_vector_nrmi.3f
Calculate the infinity norm of vector x.
lis_vector_pdiv
Divide each element of vector x by the corresponding element of vector y.
lis_vector_pmul
Multiply each element of vector x by the corresponding element of vector y.
lis_vector_reciprocal
Get the reciprocal values of the elements of vector x.
lis_vector_scale
Multiply vector x by scalar alpha.
lis_vector_scale.3f
Multiply vector x by scalar alpha.
lis_vector_scatter
Assign scalar value[i] to the i-th row of the vector v, where i=0,1,...,global_n-1.
lis_vector_scatter.3f
Assign scalar value[i] to the i-th row of the vector v, where i=0,1,...,global_n-1.
lis_vector_set_all
Assign scalar value value to the elements of vector x.
lis_vector_set_all.3f
Assign scalar value value to the elements of vector x.
lis_vector_set_size
Assign the size of vector v.
lis_vector_set_size.3f
Assign the size of vector v.
lis_vector_set_value
Assign the scalar value to the i-th row of vector v.
lis_vector_set_value.3f
Assign the scalar value to the i-th row of the vector v.
lis_vector_set_values
Assign scalar value[i] to the index[i]-th row of the vector v, where [i]=0,1,...,[count]-1.
lis_vector_set_values.3f
Assign scalar value[i] to the index[i]-th row of the vector v, where [i]=0,1,...,[count]-1.
lis_vector_shift
Get the shifted values of the elements of vector x.
lis_vector_sum
Calculate the sum of the elements of vector x.
lis_vector_swap
Swap the values of the vector elements.
lis_vector_xpay
Calculate the sum of the vectors y = x + alpha * y.
lis_vector_xpay.3f
Calculate the sum of the vectors y = x + alpha * y.
lis_wtime
Measure the elapsed time.
lis_wtime.3f
Measure the elapsed time.