9.スケーリング/ピボッティング
12.連立方程式の解法(反復法)
行列基本操作 | ||
---|---|---|
FuncAryExtRow(mat1, rowExt, Optional NumFlag) | 二次配列から指定行を抽出 | |
FuncAryExtCol(mat1, colExt, Optional NumFlag) | 二次配列から指定列を抽出 | |
FuncMatTrans(mat1) | 行列の転置 | |
ExchgAryRow(matA, IdEx1, IdEx2) | 配列の指定行交換(Subプロシージャ) | |
ExchgAryCol(matA, IdEx1, IdEx2) | 配列の指定列交換(Subプロシージャ) | |
FuncChkSym(matA, Optional rlim) | 対称行列チェック | |
行列基本計算 | ||
FuncMatSum(mat1, mat2) | 行列の和 | |
FuncMatDif(mat1, mat2) | 行列の差 | |
FuncMatScl(mat1, scl) | 行列のスカラー倍 | |
FuncMatPro(mat1, mat2, Optional rlim) | 行列の積 | |
FuncMatHad(mat1, mat2, Optional rlim) | アダマール積 | |
FuncMatDiad(mat1, mat2, Optional rlim) | ダイアド積 | |
ベクトル演算 | ||
FuncVecDot(vec1, vec2) | ベクトルの内積 | |
FuncVecNom(vec1) | ベクトルの正規化(大きさを1にする) | |
FuncVecRot(vec1, ang, Optional ax) | ベクトルの回転 | |
数列(等間隔)の作成 | ||
FuncLnSpaceN(rng1, rng2, Nsep) | 等間隔数列の作成(分割数指定) | |
FuncLnSpaceP(rng1, rng2, dX, Optional dir) | 等間隔数列の作成(ピッチ指定) | |
FuncLogSpaceN(rng1, rng2, Nsep) | 対数等間隔数列の作成 | |
行列の作成 | ||
FuncMatId(order) | 単位行列 | |
FuncMatZeros(Nr, Nc) | 零行列 | |
FuncMatOnes(Nr, Nc) | 要素がすべて1の行列 | |
FuncMatRnd(Rmax, vartype, Flag, Nr, Optional Nc) | 乱数行列 | |
FuncMatBaseTr(N1, N2, order) | 基底変換行列(行/列入れ替え) | |
FuncMatBaseMu(N1, scl, order) | 基底変換行列(スカラー倍) | |
FuncMatBaseAd(N1, N2, scl, order) | 基底変換行列(追加) | |
FuncMatGivens(N1, N2, fcos, fsin, order) | ギブンス変換行列 | |
FuncMatGauss(matA, colNo) |
ガウス変換行列 ガウス消去法などで用いる行列で、単独で利用することはないため説明は割愛します。 |
|
変換行列 | ||
FuncMatInv(mat1, Optional pivFlag, Optional plim, Optional rlim) | 逆行列計算: ガウスジョルダン法 | |
CalcMatHH(matH, vecA, ByVal rowNo, Optional rlim) | ハウホルダー行列(Subプロシージャ) | |
FuncMatHess(mat1, Optional symFlag, Optional rlim) | ハウスホルダーによるヘッセンベルグ変換 | |
FuncMatBiDiag(mat1, Optional pivFlag, Optional plim, Optional rlim) | ハウスホルダー変換による二重対角化 | |
スケーリング / ピボッティング(各行列計算の過程で用いるもので、説明は割愛します) | ||
FuncNoSclRow(matA, IdP, Optional IdE) | 行内最大成分取得 | |
FuncNoSclCol(matA, IdP, Optional IdE) | 列内最大成分取得 | |
FuncMatSclRow(matA, scl, IdP, Optional IdE, Optional inv, Optional rlim) | 行スケーリング | |
FuncMatSclCol(matA, scl, IdP, Optional IdE, Optional inv, Optional rlim) | 列スケーリング | |
FuncNoPivRow(matA, IdP, Optional IdE) | 行交換番号取得 | |
FuncNoPivCol(matA, IdP, Optional IdE) | 列交換番号取得 | |
FuncNoPivMat(matA, IdP, Optional IdS, Optional IdEr, Optional IdEc) | 行列交換番号取得 | |
FuncMatPivRow(matA, IdP, IdEx) | 行ピボット処理 | |
FuncMatPivCol(matA, IdP, IdEx) | 列ピボット処理 | |
FuncMatPivMat(matA, IdP, IdEr, IdEc) | 完全ピボット処理 | |
CalcMatPermRow(matPr, Ndim, recPiv, Optional recScl, Optional inv) | 行変換行列 | |
CalcMatPermCol(matPc, Ndim, recPiv, Optional recScl, Optional inv) | 列変換行列 | |
行列の分解 | ||
FuncMatLUCrout(mat1, Optional pivFlag, Optional plim, Optional rlim, Optional outFlag) | LU分解:クラウト法 | |
FuncMatLUGE(mat1, Optional pivFlag, Optional plim, Optional rlim, Optional outFlag) | LU分解:ガウス消去法 | |
FuncMatCholesky(mat1, Optional rlim) | LU分解:修正コレスキー分解 | |
FuncMatIcCholesky(mat1, Optional slim) | LU分解:不完全コレスキー分解 | |
FuncMatQRGS(mat1) | QR分解:グラムシュミット法 | |
FuncMatQRHH(mat1, Optional pivFlag, Optional plim, Optional rlim, Optional outFlag) | QR分解:ハウスホルダー法 | |
連立方程式の解法(直接法) | ||
FuncMatSimGE(mat1, vec1, Optional pivFlag, Optional plim, Optional rlim) | ガウス消去法 | |
FuncMatSimGJ(mat1, mat2, Optional pivFlag, Optional plim, Optional rlim) | ガウス・ジョルダン法 | |
FuncMatSimLU(mat1, mat2, Optional method, Optional pivFlag, Optional plim, Optional rlim) | LU分解 | |
FuncMatSimInv(mat1, mat2, Optional pivFlag, Optional plim, Optional rlim) | 逆行列利用 | |
FuncMatSimQR(mat1, vec1, Optional method, Optional pivFlag, Optional plim, Optional rlim) | QR分解法 | |
CalcMatBackLU(matOut, ByVal matL, ByVal matU, ByVal matB, Optional rankA, Optional rlim) |
前進→後退代入 (連立方程式を解く途中の関数であり、説明省略します) |
|
CalcMatBack(matOut, ByVal matA, ByVal matB, Optional rankA, Optional rlim) |
後退代入 (連立方程式を解く途中の関数であり、説明省略します) |
|
連立方程式の解法(反復法) | ||
FuncMatSimGS(mat1, vec1, Optional relax, Optional slim, Optional rlim, Optional Nres) | ガウス・ザイデル法 | |
FuncMatCG(mat1, mat2, Optional slim, Optional Nres) | 共役勾配法(CG法) | |
FuncMatPCG(mat1, mat2, Optional slim, Optional Nres) | 前処理付き共役勾配法(PCG法) | |
固有値計算 | ||
FuncEigQR(mat1, Optional outFlag, Optional slim, Optional Nres, Optional pivFlag, Optional plim, Optional rlim) | QR法(非対称) | |
FuncEigPow(mat1, Optional outFlag, Optional slim, Optional Nres, Optional rlim) | べき乗法 | |
FuncEigJacobi(mat1, Optional outFlag, Optional slim, Optional Nres, Optional rlim) | ヤコビ法 | |
CalcMatInvIter(matX, ByVal matA, ByVal vecEig, Optional method, Optional slim, Optional Nres, Optional rlim) |
逆反復法(Subプロシージャ) QR法の固有ベクトル算出で用いており、説明は割愛します。 |