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 |
| 等等 |
…… |
参考文献:

本文介绍了Spark Mllib如何利用BLAS库进行向量和矩阵的基本运算,包括axpy、dot、copy、scal、syr、gemm和gemv等函数,涉及Level 1到Level 3的不同级别的线性代数操作。
最低0.47元/天 解锁文章
867

被折叠的 条评论
为什么被折叠?



