BLAS(Basic Linear Algebra Subprograms)
1. 整个库可以分为三个部分
- Level 1 向量与向量操作
- Level 2 矩阵与向量操作
- Level 3 矩阵与矩阵操作
2. 部分名词解释
- A,B,C - 矩阵 (matrices)
- 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 - 双精度复数(complex * 16 或者 double complex)
4. 方法名中的关键字
- GB - 一般带状矩阵(general band)
- GE - 普通矩阵(general)
- HB - (complex) Hermitian band
- HE - (complex) Hermitian 埃尔米特矩阵(厄米矩阵/自伴随矩阵)
- 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两个向量垂直。当两向量平行时,点积有最大值 \
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~ ) - 加法;两个向量相加,结果仍然是一个向量 \
a + b = (x~1~ + y~1~, x~2~ + y~2~ , x~3~ + y~3~)
- 点乘(Dot Product) \内积;结果为标量(Scalar) ;点积为0两个向量垂直。当两向量平行时,点积有最大值 \
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 得出一个标量.\
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列对应元素乘积之和。