MKL學習 矩陣向量操作

2021-07-30 15:18:38 字數 3275 閱讀 7276

前面介紹的blas level 1是向量-向量的操作,而這裡的blas level 2主要還是對矩陣-向量之間的操作。命名規則與前面的一樣,主要記住定義的是資料型別

s實數域,單精度

c複數域,單精度

d實數域,雙精度

z複數域,雙精度

也可結合起來,比如sc代表實數域和複數域的單精度型別,dz代表實數域和複數域的雙精度型別。

函式缺失部分

描述cblas_?gbmv

s,d,c,z

一般帶狀矩陣與向量的乘積

c_blas_?gemv

s,d,c,z

一般矩陣與向量的乘積

cblas_?ger

s,d一般矩陣的一階更新

cblas_?gerc

c,z一般共軛矩陣的一階更新

cblas_?genru

c,z一般矩陣的一階更新,非共軛

cblas_?hbmv

c,zhermitian帶狀矩陣與向量的乘積

cblas_?hemv

c,zhermitian矩陣與向量乘積

cblas_?her

c,zhermitian矩陣的一階更新

cblas_?her2

c,zhermitian矩陣的二階更新

cblas_?hpmv

c,zhermitian壓縮矩陣與向量的乘積

cblas_?hpr

c,zhermitian壓縮矩陣的一階更新

cblas_?hpr2

c,zhermitian壓縮矩陣的二階更新

cblas_?sbmv

s,d對稱帶狀矩陣與向量之間的乘積

cblas_?spmv

s,d對稱壓縮矩陣與向量的乘積

cblas_?spr

s,d對稱壓縮矩陣的一階更新

cblas_?spr2

s,d對稱壓縮矩陣的二階更新

cblas_?symv

s,d對稱矩陣與向量的乘積

cblas_?syr

s,d對稱矩陣的一階更新

cblas_?syr2

s,d對稱矩陣的二階更新

cblas_?tbmv

s,d,c,z

三角帶狀矩陣與向量的乘積

cblas_?tbsv

s,d,c,z

利用三角帶狀矩陣求解線性方程組

cblas_?tpmv

s,d,c,z

三角壓縮矩陣與向量的乘積

cblas_?tpsv

s,d,c,z

利用三角壓縮矩陣求解線性方程組

cblas_?trmv

s,d,c,z

三角矩陣與向量的乘積

cblas_?trsv

s,d,c,z

利用三角矩陣求解線性方程組

void cblas_sgbmv (const cblas_layout layout, const cblas_transpose trans, const mkl_int m, const mkl_int n, const mkl_int kl, const mkl_int ku, const

float alpha, const

float *a, const mkl_int lda, const

float *x, const mkl_int incx, const

float beta, float *y, const mkl_int incy);

void cblas_dgbmv (const cblas_layout layout, const cblas_transpose trans, const mkl_int m, const mkl_int n, const mkl_int kl, const mkl_int ku, const

double alpha, const

double *a, const mkl_int lda, const

double *x, const mkl_int incx, const

double beta, double *y, const mkl_int incy);

void cblas_cgbmv (const cblas_layout layout, const cblas_transpose trans, const mkl_int m, const mkl_int n, const mkl_int kl, const mkl_int ku, const

void *alpha, const

void *a, const mkl_int lda, const

void *x, const mkl_int incx, const

void *beta, void *y, const mkl_int incy);

void cblas_zgbmv (const cblas_layout layout, const cblas_transpose trans, const mkl_int m, const mkl_int n, const mkl_int kl, const mkl_int ku, const

void *alpha, const

void *a, const mkl_int lda, const

void *x, const mkl_int incx, const

void *beta, void *y, const mkl_int incy);

void cblas_chemv (const cblas_layout layout, const cblas_uplo uplo, const mkl_int n, const

void *alpha, const

void *a, const mkl_int lda, const

void *x, const mkl_int incx, const

void *beta, void *y, const mkl_int incy);

void cblas_zhemv (const cblas_layout layout, const cblas_uplo uplo, const mkl_int n, const

void *alpha, const

void *a, const mkl_int lda, const

void *x, const mkl_int incx, const

void *beta, void *y, const mkl_int incy);

後續對矩陣-矩陣的運算進行學習,然後就是對這裡面很多引數和名詞做乙個了解,最後就是使用c++實現以下常用的運算了。

Matlab向量 矩陣基本操作

1 向量的建立 1 直接輸入 行向量 a 1,2,3,4,5 列向量 a 1 2 3 4 5 2 用 生成向量 a j k 生成的行向量是a j,j 1,k a j d k 生成行向量a j,j d,j m d m fix k j d 3 函式linspace 用來生成資料按等差形式排列的行向量 x...

Matlab R向量與矩陣操作

matlab r向量與矩陣操作 描述 matlab r 1建立行向量v 1 2 3 4 v 1 2 3 4 v c 1,2,3,4 或v scan 然後輸入1 2 3 4,並按enter 2建立列向量v 1 2 3 4 v 1 2 3 4 同上,r中不區分行列 3建立矩陣a 1 4 2 5 3 6 ...

mkl中dsytri求解矩陣的逆

mkl是intel提供的專門用來處理大型矩陣運算的乙個庫,比我們自己寫的函式基本都要快很多。dsytri是用來求解對稱實矩陣的逆矩陣的函式。在求解之前先使用dsytrf對矩陣進行分解,dsytrf通過lu分解將矩陣分解成上三角或下三角矩陣 下面是使用c 語言寫的乙個求解對稱矩陣逆舉證的函式。matr...