|
LMMC
Lamina Mathematic core
|
特征值 / SVD 模块内部共享的缩放、Householder 与 Givens 辅助接口(仅源文件可见)。 更多...
宏定义 | |
| #define | EIGEN_MAX_ITER 30 |
| #define | MAT_ELEM(mat, i, j) |
函数 | |
| lmmc_status_t | lmmc_eigen_matrix_scale (const lmmc_mat_t *a, lmmc_real_t *scale) |
| void | householder_make (lmmc_real_t *x, size_t len, lmmc_real_t *tau_out, lmmc_real_t *beta_out) |
| void | householder_apply_left (lmmc_mat_t *M, size_t i0, size_t len, size_t j0, size_t j1, const lmmc_real_t *v, lmmc_real_t tau) |
| void | householder_apply_right (lmmc_mat_t *M, size_t i0, size_t i1, size_t j0, size_t len, const lmmc_real_t *v, lmmc_real_t tau) |
| void | givens_right (lmmc_mat_t *M, size_t rows, size_t p, size_t q, lmmc_real_t c, lmmc_real_t s) |
| void | givens_compute (lmmc_real_t a, lmmc_real_t b, lmmc_real_t *c, lmmc_real_t *s, lmmc_real_t *r) |
特征值 / SVD 模块内部共享的缩放、Householder 与 Givens 辅助接口(仅源文件可见)。
在文件 eigen_internal.h 中定义.
| #define EIGEN_MAX_ITER 30 |
在文件 eigen_internal.h 第 14 行定义.
| #define MAT_ELEM | ( | mat, | |
| i, | |||
| j ) |
在文件 eigen_internal.h 第 15 行定义.
被这些函数引用 givens_right(), householder_apply_left(), householder_apply_right(), lmmc_eigen_copy_scaled(), lmmc_eigen_general_full(), lmmc_eigen_matrix_scale(), lmmc_eigen_symmetric(), lmmc_eigen_vectors_2x2() , 以及 lmmc_svd_bidiagonalize().
| lmmc_status_t lmmc_eigen_matrix_scale | ( | const lmmc_mat_t * | a, |
| lmmc_real_t * | scale ) |
在文件 eigen_internal.c 第 16 行定义.
引用了 lmmc_mat_t::cols, lmmc_eigen_matrix_scale(), LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK, MAT_ELEM , 以及 lmmc_mat_t::rows.
被这些函数引用 lmmc_eigen_general(), lmmc_eigen_general_full(), lmmc_eigen_matrix_scale(), lmmc_eigen_symmetric() , 以及 lmmc_svd().
| void householder_make | ( | lmmc_real_t * | x, |
| size_t | len, | ||
| lmmc_real_t * | tau_out, | ||
| lmmc_real_t * | beta_out ) |
在文件 eigen_internal.c 第 37 行定义.
引用了 householder_make().
被这些函数引用 householder_make().
| void householder_apply_left | ( | lmmc_mat_t * | M, |
| size_t | i0, | ||
| size_t | len, | ||
| size_t | j0, | ||
| size_t | j1, | ||
| const lmmc_real_t * | v, | ||
| lmmc_real_t | tau ) |
在文件 eigen_internal.c 第 72 行定义.
引用了 householder_apply_left() , 以及 MAT_ELEM.
被这些函数引用 householder_apply_left().
| void householder_apply_right | ( | lmmc_mat_t * | M, |
| size_t | i0, | ||
| size_t | i1, | ||
| size_t | j0, | ||
| size_t | len, | ||
| const lmmc_real_t * | v, | ||
| lmmc_real_t | tau ) |
在文件 eigen_internal.c 第 86 行定义.
引用了 householder_apply_right() , 以及 MAT_ELEM.
被这些函数引用 householder_apply_right().
| void givens_right | ( | lmmc_mat_t * | M, |
| size_t | rows, | ||
| size_t | p, | ||
| size_t | q, | ||
| lmmc_real_t | c, | ||
| lmmc_real_t | s ) |
在文件 eigen_internal.c 第 100 行定义.
引用了 givens_right() , 以及 MAT_ELEM.
被这些函数引用 givens_right().
| void givens_compute | ( | lmmc_real_t | a, |
| lmmc_real_t | b, | ||
| lmmc_real_t * | c, | ||
| lmmc_real_t * | s, | ||
| lmmc_real_t * | r ) |
在文件 eigen_internal.c 第 111 行定义.
引用了 givens_compute().
被这些函数引用 givens_compute().