LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
eigen_general_vectors.c 文件参考
#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"
#include "eigen_general_internal.h"
eigen_general_vectors.c 的引用(Include)关系图:

浏览该文件的源代码.

函数

void lmmc_eigen_gen_full_result_destroy (lmmc_eigen_gen_full_result_t *result)
 释放通用特征分解结果持有的向量与矩阵缓冲区。
lmmc_status_t lmmc_eigen_general_full (const lmmc_mat_t *a, lmmc_eigen_gen_full_result_t *out_result)
 计算一般实矩阵的特征值与特征向量.

函数说明

◆ lmmc_eigen_gen_full_result_destroy()

void lmmc_eigen_gen_full_result_destroy ( lmmc_eigen_gen_full_result_t * result)

释放通用特征分解结果持有的向量与矩阵缓冲区。

释放 lmmc_eigen_general_full 输出结果.

释放通用特征分解结果持有的向量与矩阵缓冲区。

在文件 eigen_general_vectors.c 第 14 行定义.

引用了 lmmc_eigen_gen_full_result_t::imag_parts, lmmc_eigen_gen_full_result_destroy(), lmmc_mat_destroy(), lmmc_vec_destroy(), lmmc_eigen_gen_full_result_t::real_parts, lmmc_eigen_gen_full_result_t::vectors_imag , 以及 lmmc_eigen_gen_full_result_t::vectors_real.

被这些函数引用 lmmc_eigen_gen_full_result_destroy(), lmmc_eigen_general_full(), lmmc_std_linalg_eig() , 以及 lmmc_std_linalg_eig_table().

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

◆ lmmc_eigen_general_full()

lmmc_status_t lmmc_eigen_general_full ( const lmmc_mat_t * a,
lmmc_eigen_gen_full_result_t * out_result )

计算一般实矩阵的特征值与特征向量.

特征值计算复用 lmmc_eigen_general 的公共尺度归一化、稳定 2x2 特征根及 Hessenberg/Francis QR 路径;逆迭代在同一归一化矩阵上执行, 最后只恢复特征值尺度。这样避免维护第二套数值算法及大尺度中间溢出。

参数
[in]a含有限元素的 nxn 实矩阵.
[out]out_result调用方需用 lmmc_eigen_gen_full_result_destroy 释放.

在文件 eigen_general_vectors.c 第 77 行定义.

引用了 lmmc_mat_t::cols, lmmc_vec_t::data, lmmc_eigen_gen_full_result_t::imag_parts, lmmc_eigen_gen_full_result_destroy(), lmmc_eigen_general_full(), lmmc_eigen_matrix_scale(), lmmc_eigen_vectors_2x2(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK, MAT_ELEM, lmmc_eigen_gen_full_result_t::real_parts, lmmc_mat_t::rows, lmmc_eigen_gen_full_result_t::vectors_imag , 以及 lmmc_eigen_gen_full_result_t::vectors_real.

被这些函数引用 lmmc_eigen_general_full() , 以及 lmmc_std_linalg_eig().

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