콘텐츠로 건너뛰기
Home » GSL을 이용하여 Eigensystem 구하기

GSL을 이용하여 Eigensystem 구하기

eigensystem을 구하기 위해서는

#include <gsl/gsl_eigen.h>

gsl_eigen.h를 포함해야 합니다.

본격적으로 eigensystem을 구하기 전에 무엇보다 먼저 선행되어야 하는 일은, 일단 작업공간을 생성해야 합니다.

이번 포스팅에서는 실수, 비대칭행렬을 기준으로 설명하겠습니다.

gsl_eigen_nonsymmv_workspace * gsl_eigen_nonsymmv_alloc (const size_t n)

여기서 n은 행, 열의 크기입니다.

​이렇게 먼저 작업공간을 생성 후에,

int gsl_eigen_nonsymmv (gsl matrix * A, gsl_vector_complex * eval, gsl_matrix_complex * evec, gsl_eigen_nonsymmv_workspace * w)

eigensystem을 구할 수 있습니다. eval은 eigenvalue, evec는 eigenvector입니다.

eigenvector는 GSL복소수행렬에 열벡터로 저장됩니다.

역시나 Mathematica를 이용하여 eigensystem을 비교용으로 구하고, GSL을 이용하여 구현해 보겠습니다.

Mathematica의 경우 eigenvector가 행벡터인 반면 GSL의 경우 열벡터이므로 비교를 위해 GSL에서 전치시켜 출력하였습니다

Send us a message!

앞선 품질, 끊임없는 도전, 정직한 기술로 함께합니다.
문의 글을 작성해 주시면, 담당자 확인 후 빠르게 연락드립니다.

대표전화: (+82)02-420-3203

FAX: (+82)02-407-3511

05770 서울특별시 송파구 오금로 422, 연암빌딩 4F~6F




FAMILY SITE

advanced-floating-content-close-btn