Engee 文档

Cholesky Solver

使用 Cholecki 分解法求解具有正方形 Hermite 正定系数矩阵的线性方程组。

类型: SubSystem

图书馆中的路径:

/Signal Operations/Math Functions/Matrices and Linear Algebra/Linear System Solvers/Cholesky Solver

说明

Cholesky Solver 程序块利用输入矩阵 的 Cholesky 分解求解线性方程组

  • - 端口 S 的输入信号为正方形 Hermite 正定矩阵

  • - 端口 B 的输入信号为矩阵

  • - 方程组的解作为矩阵 ,网址为

端口

输入

S - 输入矩阵 S
矩阵 M by M

方程 中的输入矩阵 大小为 by 。矩阵必须是赫米特正定矩阵。程序块只使用矩阵 对角线上和主对角线以上的元素,而忽略其余元素。对角线元素中的虚部将被忽略。输入 SB 的行数必须相同。

如果输入矩阵不是正定矩阵,程序块的行为取决于 Non-positive definite 参数的值。

数据类型: Float32, Float64

支持复数:是

B - 输入矩阵 B
矩阵 M 乘 N | 向量 M 乘 1

方程 中的矩阵 大小为 by 或一个大小为 by 1 的向量。

如果给出长度为 的向量,程序块将其视为矩阵 by 1。输入 SB 的行数必须相同。

数据类型: Float32, Float64

支持复数:是

输出

X 是方程组的解
N 上的矩阵 M | 1 上的向量 M

程序块以大小为 by 的矩阵 或大小为 by 1 的矢量形式找到方程的解。矩阵 的大小与矩阵 的大小相同。

数据类型: Float32, Float64

*支持复数:是

参数

非正定输入 - 输入矩阵 S 非正定时的阻塞行为
忽略(默认) | `警告 | `错误

如果输入矩阵 不是正定矩阵,则指定块行为:

  • 忽略` - 程序块继续计算,不产生警告。得到的结果不是正确的解。

  • 警告` - 程序块继续计算,但在 Engee 命令窗口中显示警告信息。得到的结果不是正确的解决方案。

  • 错误" - 显示错误对话框并停止计算。

非正定输入*参数是诊断参数。与所有诊断参数一样,它在代码生成器为该程序块生成的代码中被设置为 "忽略"。

算法

Cholecki 分解算法将赫米特正定输入矩阵 唯一表示为

,

其中

  • - 是一个对角线元素为正的下三角矩阵;

  • - Hermite(复共轭)转置矩阵

所得方程的形式为

.

代入,可得到两个三角形矩阵方程组,分别用直接代入和反向代入法求解:

,

.