BLASライブラリ学習

2360 ワード

BLAS(Basic Linear Algebra Subprograms)
1.ライブラリ全体を3つの部分に分けることができます
  • Level 1ベクトルとベクトル操作
  • Level 2行列とベクトル動作
  • Level 3マトリクスとマトリクス動作
  • 2.一部名詞の解釈
  • A,B,Cマトリクス
  • D,D~L~,D~R~-対角行列(diagonal matrices)
  • H-Householder行列、行列式=1
  • J対称三対角線行列(symmetric tridiagonal matrix)
  • P-互換行列(permutation matrix)
  • T三角行列(triangular matrix)
  • op(A)-Aを表す、またはA^T^またはA^H^
  • transpose-A^T^
  • を表す
  • conjugate-transpose-A^H^
  • を表します
  • u,v,w,x,y.xベクトル(vectors)
  • 3.メソッド名の接頭辞
  • S-単精度(float)
  • D-デュアル精度(double precision)
  • C-複数(complex)
  • Z-2精度複素数(complex*16またはdouble complex)
  • 4.メソッド名のキーワード
  • GB-一般帯状マトリックス
  • GE-一般行列(general)
  • HB - (complex) Hermitian band
  • HE-(complex)Hermitianエルミット行列(Emi行列/自己随伴行列)
  • HP-(complex)Hermitian,packed storage圧縮格納Hermitian行列
  • SB-(real)symmetric band対称帯状行列
  • SP-symmetric,packed storage対称圧縮メモリマトリクス
  • SY-symmetric対称行列
  • TB-triangular band三角帯状行列
  • TP-triangular,packed storage三角圧縮行列
  • TR-triangular三角または擬三角行列
  • US-unstructured sparse乱雑疎行列
  • 5.具体的な操作
    [  ](http://www.netlib.org/blas/blasqr.pdf)
    

    6.基礎知識
    6.1.数とベクトルの乗算
  • 数kはベクトルa=(a,b,c)に乗算され、結果k x a=(ka,kb,kc)
  • となる.
    6.2. ベクトルとベクトルの乗算(Vector)
  • ベクトルa=(x~1~,x~2~,x~3~),b=(y~1~,y~2~,y~3~);
  • 点乗(Dot Product)内積;結果はスカラー(Scalar);ポイント積は0の2つのベクトルが垂直です.両ベクトルが平行である場合、点積は最大値a・b=x~1~y~1~+x~2~y~2~+x~3~y~3~
  • である.
  • フォーク乗算(cross product)外積;その結果、個ベクトルa x b=(x~1~y~1~,x~2~y~2~,x~3~y~3~)
  • となる.
  • 加算;2つのベクトルを加算した結果、依然として1つのベクトルa+b=(x~1~+y~1~,x~2~+y~2~,x~3~+y~3~)
  • となる.

    6.3行列(Matrix)とベクトル(Vector)の乗算
  • 行列A=|{a,b},{c,d}|,ベクトルa=(x,y)
  • 行列とベクトル乗算の結果、ベクトルA x a=(ax+by,cx+dy)
  • 行列Aの左乗ベクトルaは、このときaが列ベクトルとして扱うA x a=(ax+by,cx+dy)
  • である.
  • 行列Aの右乗ベクトルaは、aを行ベクトルとして扱うa x A=(ax+cy,bx+cy)
  • である.
  • 行列Aの左、右はすべてaに乗じて1つのスカラーを得ます.a x A x a = x (ax + cy) + y (bx + cy)


  • 6.4行列と行列の乗算
  • 行列A~m,n~=|{a,b},{c,d}|,行列B~j,k~=|{1,2},{3,4}|;行列Aの列数nと行列Bの行数jが等しいときのみ行列がスレッド化され、結果としてA x~m,n~*B~n,k~=C~m,k~
  • A x B = |{1a + 3b,2a + 4b},{1c + 3d, 2c+4d}|

  • ==注意=:行列Aの列数が行列Bの行数に等しい場合、AとBは乗算することができる.   1.行列Cの行数は行列Aの行数に等しく、Cの列数はBの列数に等しい.   2.積Cのm行n番目の列の要素は、行列Aのm行目の要素と行列Bのn番目の列の対応する要素との積の和に等しい.

  • 参考文献
  • ベクトルと行列の乗算
  • 行列乗算