Jump to content

Lis (linear algebra library): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Cloud1024 (talk | contribs)
No edit summary
Cloud1024 (talk | contribs)
No edit summary
Line 1: Line 1:
{{other uses|LIS (disambiguation)}}
{{other uses|Lis (disambiguation)}}
{{ infobox software
{{ infobox software
| name = Lis
| name = Lis
Line 60: Line 60:


== System requirements ==
== System requirements ==
Installation of Lis requires a C compiler. To use the Fortran interface, a FORTRAN 77 compiler is required. To use the [[Multigrid method|algebraic multigrid]] preconditioner, a Fortran 90 compiler is required. OpenMP and MPI-1 are used in parallel computing environments.
Installation of Lis requires a C compiler. To use the Fortran interface, a FORTRAN 77 compiler is required. To use the [[Multigrid method|algebraic multigrid]] preconditioner, a Fortran 90 compiler is required. OpenMP and MPI-1 are used in parallel computing environments. Both the [[Harwell-Boeing file format|Harwell-Boeing]] and [[Matrix Market exchange formats|Matrix Market formats]] are supported for the import and export of user data.


== Bibliography ==
== Bibliography ==
*{{Cite journal
* Akira Nishida. Experience in Developing an Open Source Scalable Software Infrastructure in Japan, Lecture Notes in Computer Science 6017, pp. 87–98, Springer, 2010.
|author=Akira Nishida
* Hisashi Kotakemori, Hidehiko Hasegawa, Tamito Kajiyama, Akira Nukada, Reiji Suda, and Akira Nishida. Performance Evaluation of Parallel Sparse Matrix-Vector Products on SGI Altix 3700. Lecture Notes in Computer Science 4315, pp. 153–163, Springer, 2008.
|year=2010
* Akihiro Fujii, Akira Nishida, and Yoshio Oyanagi, Evaluation of Parallel Aggregate Creation Orders : Smoothed Aggregation Algebraic Multigrid Method, In High Performance Computational Science and Engineering, pp. 99–122, Springer, 2005.
|title=Experience in Developing an Open Source Scalable Software Infrastructure in Japan
|journal=Lecture Notes in Computer Science
|volume=6017
|pages=87–98
|publisher=Springer
|doi=10.1007/978-3-642-12165-4_36
}}
*{{Cite journal
|author=Hisashi Kotakemori, Hidehiko Hasegawa, Tamito Kajiyama, Akira Nukada, Reiji Suda, and Akira Nishida
|year=2008
|title=Performance Evaluation of Parallel Sparse Matrix-Vector Products on SGI Altix 3700
|journal=Lecture Notes in Computer Science
|volume=4315
|pages=153–163
|publisher=Springer
|doi=10.1007/978-3-540-68555-5_13
}}
*{{Cite book
|author=Akihiro Fujii, Akira Nishida, and Yoshio Oyanagi
|year=2005
|title=Evaluation of Parallel Aggregate Creation Orders : Smoothed Aggregation Algebraic Multigrid Method
|booktitle=High Performance Computational Science and Engineering
|pages=99–122
|publisher=Springer
|doi=10.1007/0-387-24049-7_6
}}


== See also ==
== See also ==

Revision as of 23:16, 25 November 2010

Lis
Initial release2005 (2005)
Stable release
1.2.52 / 20 October 2010
Operating systemCross-platform
Available inC (main language), Fortran
TypeSoftware library
LicenseBSD-new
Websitehttp://www.ssisc.org/lis/

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

Features

The software library provides facilities for:

Example

A C program to solve a system of linear equations Ax=b is written as follows:

#include <stdio.h>
#include "config.h"
#include "lis.h"

int main(int argc, char* argv[])
{
  LIS_MATRIX A;
  LIS_VECTOR b,x;
  LIS_SOLVER solver;
  int iter;
  double times;

  lis_initialize(&argc, &argv);
  lis_matrix_create(LIS_COMM_WORLD,&A);
  lis_vector_create(LIS_COMM_WORLD,&b);
  lis_vector_create(LIS_COMM_WORLD,&x);
  lis_solver_create(&solver);
  lis_solver_set_optionC(solver);
  lis_input(A,b,x,argv[1]);
  lis_vector_set_all(1.0,b);
  lis_vector_duplicate(A,&x);
  lis_solve(A,b,x,solver);
  lis_solver_get_iters(solver,&iter);
  lis_solver_get_time(solver,&times);
  printf("iter= %d time = %e\n",iter,times);
  lis_solver_destroy(solver);
  lis_matrix_destroy(A);
  lis_vector_destroy(b);
  lis_vector_destroy(x);
  lis_finalize();
  return 0;
}

System requirements

Installation of Lis requires a C compiler. To use the Fortran interface, a FORTRAN 77 compiler is required. To use the algebraic multigrid preconditioner, a Fortran 90 compiler is required. OpenMP and MPI-1 are used in parallel computing environments. Both the Harwell-Boeing and Matrix Market formats are supported for the import and export of user data.

Bibliography

  • Akira Nishida (2010). "Experience in Developing an Open Source Scalable Software Infrastructure in Japan". Lecture Notes in Computer Science. 6017. Springer: 87–98. doi:10.1007/978-3-642-12165-4_36.
  • Hisashi Kotakemori, Hidehiko Hasegawa, Tamito Kajiyama, Akira Nukada, Reiji Suda, and Akira Nishida (2008). "Performance Evaluation of Parallel Sparse Matrix-Vector Products on SGI Altix 3700". Lecture Notes in Computer Science. 4315. Springer: 153–163. doi:10.1007/978-3-540-68555-5_13.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  • Akihiro Fujii, Akira Nishida, and Yoshio Oyanagi (2005). Evaluation of Parallel Aggregate Creation Orders : Smoothed Aggregation Algebraic Multigrid Method. Springer. pp. 99–122. doi:10.1007/0-387-24049-7_6. {{cite book}}: Unknown parameter |booktitle= ignored (help)CS1 maint: multiple names: authors list (link)

See also