次週の課題 課題① jacobi.f90を cp□/tmp/jacobi.f90□. / <リターン> 自分のフォルダにコピーする 配布したjacobi.f90に追記し、 emacs jacobi.f90 以下の課題を実施する。 手順1:3次元の応力テンソルの成分を3×3の行列smat(3,3)と して入力するプログラムを完成せよ。 手順2:配布したサブルーチン(jacobi)を使って、3×3の行列(応 力テンソル)の固有値を求め、画面に出力せよ。 v11 Vm at v12 v 3 1 1 v2 v2 2 v23 1 v3 ヒント:手順1で入力した行列Smat(3,3)を実引数としてサブルーチンJACOBIに受け渡す。 メインプログラムにて、 3つの固有ベクトルを保存するための行列Vmat(3,3)、 v32 および固有値を保存しておくベクトルEvec(3)を宣言し、サブルーチンに実引数 v33 として引き渡す。その結果、戻されたEvec(3)の値を3つとも画面に出力。 ( WRITE(*,*) (E(i),i=1,3) ) 手順3:求められた固有値、固有ベクトルが固有方程式を 満足しているか調べよ。(3本の方程式ともに照査せよ。) r1 s11 s12 r2 s21 s22 r s 3 31 s32 i v1i s13 v1 s23 v2i i v2i v i s33 v3i 3 ヒント: 固有方程式より、左式に示す 残差ベクトルrを定義し、残差ベクトル のノルム|r|により誤差を評価する。 手順4:z軸(3軸)まわりにθ回転した座標系によ り、応力テンソルの成分を計測せよ。なお、こ のときの座標回転行列Q(3x3)、および回転後 の応力成分s’ (3x3)は次式により与えられる ものとする。 Q11 Q12 Q13 cos Q Q21 Q22 Q23 sin Q31 Q32 Q33 0 sin 0 0 1 cos 0 T s'11 s'12 s'13 Q11 Q12 Q13 s11 s12 s13 Q11 Q12 Q13 s' s'21 s'22 s'23 Q21 Q22 Q23 s21 s22 s23 Q21 Q22 Q23 s'31 s'32 s'33 Q31 Q32 Q33 s31 s32 s33 Q31 Q32 Q33 ヤコビ法による固有値解析サブルーチン • • • !******************************************************************* ! サブルーチン !******************************************************************* • • • • • • • • !--------------------------------------------------------------------! ! JACOBI METHOD FOR COMPUTING EIGENVALUES AND EIGENVECTORS ! OF REAL SYSMETRIC MATRIX A(N,N) ! ! E(N) : THE EIGENVALUES OF MATRIX A ! V(N,N) : EIGENVECTORS OF A BY COLUMNS ! MAX : NUMBER OF APPLIED JACOBI MATRIX ROTATIONS • • SUBROUTINE JACOBI(A,N,E,V) IMPLICIT NONE
© Copyright 2025 ExpyDoc