LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
eigen_internal.c 文件参考

特征值 / SVD 模块内部共享的缩放、Householder 与 Givens 辅助函数。 更多...

#include <math.h>
#include <string.h>
#include "memory_bridge.h"
#include "internal.h"
#include "eigen_internal.h"
#include "lmmc/config.h"
#include "lmmc/dense.h"
#include "lmmc/eigen.h"
#include "lmmc/linear_algebra.h"
eigen_internal.c 的引用(Include)关系图:

浏览该文件的源代码.

函数

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.c 中定义.

函数说明

◆ lmmc_eigen_matrix_scale()

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().

函数调用图:
这是这个函数的调用关系图:

◆ householder_make()

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().

函数调用图:
这是这个函数的调用关系图:

◆ householder_apply_left()

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().

函数调用图:
这是这个函数的调用关系图:

◆ householder_apply_right()

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().

函数调用图:
这是这个函数的调用关系图:

◆ givens_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().

函数调用图:
这是这个函数的调用关系图:

◆ givens_compute()

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().

函数调用图:
这是这个函数的调用关系图: