1.4 BLAS (BLAS routines for MLlib's vectors and matrices.)
BLAS(Basic Linear Algebra Subprograms,基础线性代数程序集)是一个应用程序接口(API)标准,用以规范发布基础线性代数操作的数值库(如矢量或矩阵乘法)。
BLAS按照功能被分为三个级别:
Level 1:矢量-矢量运算
Level 2:矩阵-矢量运算
Level 3:矩阵-矩阵运算
在Spark Mlib 中,采用了BLAS线性代数运算库,下面对BLAS中基本运算进行简单介绍。
函数 |
名称 |
点积 |
dot |
常数乘以向量加另一个向量 |
axpy |
准备Givens旋转 |
rotg |
实施旋转 |
rot |
准备修改过的Givens旋转 |
rotmg |
实施修改过的旋转 |
gotm |
把x复制到y |
copy |
交换x和y |
swap |
2-范数(欧几里得长度) |
nrm2 |
绝对值求和 |
asum |
常数乘以向量 |
scal |
最大绝对值元素的索引 |
amax |
等等 |
…… |
参考文献: