Top Qs
Timeline
Chat
Perspective

Lis (linear algebra library)

Parallel software library for linear algebra From Wikipedia, the free encyclopedia

Lis (linear algebra library)
Remove ads

Lis (Library of Iterative Solvers for linear systems; pronounced lis]) is a scalable parallel software library to solve discretized linear equations and eigenvalue problems that mainly arise from the numerical solution of partial differential equations using iterative methods.[1][2][3] Although it is designed for parallel computers, the library can be used without being conscious of parallel processing.

Quick Facts Stable release, Operating system ...
Remove ads

Features

Lis provides facilities for:

Remove ads

Example

A C program to solve the linear equation is written as follows:

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

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

  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_input_matrix(A, argv[1]);
  lis_input_vector(b, argv[2]);
  lis_vector_duplicate(A, &x);

  lis_solver_create(&solver);
  lis_solver_set_optionC(solver);
  lis_solve(A, b, x, solver);

  lis_solver_get_iter(solver, &iter);
  lis_solver_get_time(solver, &time);
  printf("number of iterations = %d\n", iter);
  printf("elapsed time = %e\n", time);

  lis_output_vector(x, LIS_FMT_MM, argv[3]);

  lis_solver_destroy(solver);
  lis_matrix_destroy(A);
  lis_vector_destroy(b);
  lis_vector_destroy(x);

  lis_finalize();

  return 0;
}
Remove ads

System requirements

Installing Lis requires a C compiler. If you wish to use the Fortran interface, a Fortran compiler is needed, and the algebraic multigrid preconditioner requires a Fortran 90 compiler.[4] For parallel computing environments, an OpenMP or MPI library is necessary. Lis supports both the Matrix Market and Harwell-Boeing formats for importing and exporting user data.

Packages that use Lis

See also

References

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads