对 (M×N)(M>N)的矩阵 A = Q*R 进行 QR 分解,并解决矩阵方程 A*X=B。
- 参数
-
src1 | 指向存储在行优先顺序中的输入矩阵 A。在工作完成后,src1 包含上三角 (N×N) 矩阵 R。src1 的下三角将填充基本反射器的向量。有关详细信息,请参阅 [283] 和 Lapack 的 DGEQRF 文档。 |
src1_step | 矩阵 A 的两行连续之间的字节数。 |
m | 矩阵 A 中行数。 |
n | 矩阵 A 中的列数。 |
k | (MXK) 矩阵 B 中右侧向量的数量。 |
src2 | 指向 (MXK) 矩阵 B 的指针,该矩阵是系统 A*X=B 的右侧。B 以行优先顺序存储。如果 src2 为空指针,则仅执行 QR 分解。否则,将解决系统并使用 src1 作为临时缓冲区,因此在工作完成后,src2 包含系统 A*X=B 的解 X。 |
src2_step | 矩阵 B 的两行连续之间的字节数。 |
dst | 指向基本反射器的标量因子的连续 (NX1) 数组的指针。有关详细信息,请参阅 [283]。 |
info | 指示分解是否成功。如果 *info 为零,则分解失败。 |
|
int | hal_ni_QR32f (float *src1, size_t src1_step, int m, int n, int k, float *src2, size_t src2_step, float *dst, int *info) |
|
int | hal_ni_QR64f (double *src1, size_t src1_step, int m, int n, int k, double *src2, size_t src2_step, double *dst, int *info) |
|
◆ hal_ni_QR32f()
int hal_ni_QR32f |
( |
float * |
src1, |
|
|
size_t |
src1_step, |
|
|
int |
m, |
|
|
int |
n, |
|
|
int |
k, |
|
|
float * |
src2, |
|
|
size_t |
src2_step, |
|
|
float * |
dst, |
|
|
int * |
info |
|
) |
| |
|
内联 |
◆ hal_ni_QR64f()
int hal_ni_QR64f |
( |
double * |
src1, |
|
|
size_t |
src1_step, |
|
|
int |
m, |
|
|
int |
n, |
|
|
int |
k, |
|
|
double * |
src2, |
|
|
size_t |
src2_step, |
|
|
double * |
dst, |
|
|
int * |
info |
|
) |
| |
|
内联 |