// zgtsv.cc // 複素3重対角行列の線形方程式を解く #include #include typedef std::complex Complex; extern "C" { void zgtsv_ ( const int& N, const int& NRHS, Complex* DL, Complex* D, Complex* DU, Complex** B, const int& LDB, int& INFO ); }; // 複素 3重対角行列 A の線形方程式 A x = b を解く簡易関数 // Input: A[3][N], b[N] Output: x[N] // A[1][N] に対角成分、A[0][N] に上副対角成分、A[2][N] に下副対角成分 // template int zgtsv( Complex A[3][N], Complex x[N], Complex b[N] ) { int j, info; static Complex DL[N], D[N], DU[N]; for( j=0; j