Skip to content

**** ****

for my bad memories..

LAPACK — Linear Algebra PACKage


가장 대표적이고 가잘 빠르다고 소문난 포트란 90 버전으로 작성된 선형 대수 라이브러리.
많은 선형대수 라이브러리들이 LAPACK을 참조하고 있다고함.
LAPACK은 C 바인딩도 자체적으로 지원하며, BLAS 라이브러가 내장되어있음.

LAPACK is written in Fortran 90 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision.

아래의 코드는 MinGW에서 테스트한 코드이며, 컴파일 방법은 아래와 같음.

gcc sample.c -llapack -lblas -lm -lgfortran

아래는 테스트 코드.

#define N 3
double A[N*N];
double x[N];
int main(void)
  static int i;
  static long int n=N,inc=1,info,piv[N];
  A[0]=1.; A[1]=3.; A[2]=1.;
  A[3]=1.; A[4]=1.;A[5]=-2.;
  A[6]=1.; A[7]=-3.;A[8]=-5.;
  x[0]=3.; x[1]=1.; x[2]=-6.;
  printf("N = %d\n",N);
  for(i=0; i<N; ++i) printf("%lf\n", x[i]);

다운로드: 3.4.0

Categorized as: Programming

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.