主要内容

胆固醇

柯列斯基分解

描述

例子

R=胆固醇(一个对称正定矩阵因式分解一个变成上三角形R满足= R ' * R.如果一个是不对称的吗胆固醇将矩阵视为对称的,只使用的对角线和上三角形一个

例子

R=胆固醇(一个三角形指定的三角形因子一个用于计算因子分解例如,如果三角形“低”,然后胆固醇只使用对角线和下三角形部分一个生成一个下三角矩阵R满足一个= R * R '.的默认值三角形“上”

例子

R国旗) =胆固醇(___也返回输出国旗指示是否一个对称正定.您可以在前面的语法中使用任何输入参数组合。当你指定国旗输出,胆固醇如果输入矩阵不是对称正定的,则不产生错误。

  • 如果国旗= 0输入矩阵为对称正定,分解成功。

  • 如果国旗不为零,那么输入矩阵是对称正定国旗是一个整数,指示分解失败的枢轴位置的索引。

例子

R国旗P) =胆固醇(年代另外返回一个排列矩阵P,这是一个稀疏矩阵的预排序年代获得的amd.如果国旗= 0,然后年代对称是正定的吗R上三角矩阵满足吗‘* R = P ' S * P

例子

R国旗P) =胆固醇(___outputForm指定是否返回排列信息P作为矩阵或向量,使用前面语法中的任何输入参数组合。此选项仅适用于稀疏矩阵输入。例如,如果outputForm“向量”国旗= 0,然后年代(p, p) = R * R.的默认值outputForm“矩阵”这样‘* R = P ' S * P

例子

全部折叠

使用胆固醇对对称系数矩阵进行因式分解,然后利用Cholesky因子求解线性方程组。

在对角线上创建一个正的对称矩阵。

A = [1 0 1;0 2 0;1 0 3)
一个=3×31 0 1 0 2 0 1 0 3

计算矩阵的Cholesky因子。

R =胆固醇(A)
R =3×31.4142 000 1.4142

为方程的右边创建一个向量 斧头 b

b =和(2);

一个 R T R 通过Cholesky分解,线性方程变成 R T R x b .解出x使用反斜杠操作符。

x = R \ (R \ b)
x =3×11.0000 1.0000 1.0000

计算矩阵的上、下Cholesky分解并验证结果。

创建一个6 × 6对称正定测试矩阵使用画廊函数。

一个=画廊(“黄土”6);

计算Cholesky因子使用的上三角形一个

R =胆固醇(A)
R =6×61.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0 0.8660 0.5774 0.330 0.3464 0.2887 00 0.7454 0.5590 0.4472 0.3727 000 0.6614 0.5292 0.4410 0000 0.6000 0.5000 0000 0.5528

验证上三角因子满足R'*R - a = 0,在舍入误差范围内。

规范(‘* R - A)
ans = 2.8779 e-16

现在,指定“低”选择使用的下三角形计算乔尔斯基因子一个

L =胆固醇(,“低”
L =6×60.000 0000 0 0.5000 0.8660 0000 0 0.3333 0.5774 0.7454 0000 0.2500 0.330 0.5590 0.6614 000 0.2000 0.3464 0.4472 0.5292 0.6000 0 0.1667 0.2887 0.3727 0.4410 0.5000 0.5528

验证下三角因子满足L*L' - a = 0,在舍入误差范围内。

规范(L * L - A)
ans = 3.2914 e-16

使用胆固醇当输入矩阵非对称正定时,采用双输出抑制误差。

创建一个由二项式系数组成的5 × 5矩阵。这个矩阵是对称正定的,所以从最后一个元素减去1以确保它不再是正定的。

一个=帕斯卡(5);A(end) = A(end) - 1
一个=5×51 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 15 15 35 69

计算Cholesky因子一个.指定两个输出以避免生成错误一个不是对称正定的。

[R,国旗]=胆固醇(A)
R =4×41 1 1 1 0 1 2 3 0 0 1 3 0 0 1 1 1 0 1 1 2 3 0 0 1 3 0 0 0 1
国旗= 5

国旗是非零的,它给出了分解失败的主索引。胆固醇能够计算Q = flag-1 = 4行和列的正确之前失败,当它遇到的部分矩阵改变。

验证‘* R返回与之一致的四行和列(1:问,1:问)

q = flag-1;‘* R
ans =4×41 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20
(1:问,1:问)
ans =4×41 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20

计算稀疏矩阵的choolesky因子,利用排列输出生成非零较少的choolesky因子。

建立一个稀疏正定矩阵west0479矩阵。

负载west0479一个= west0479;S =“*;

用两种不同的方法计算矩阵的乔尔斯基因子。首先指定两个输出,然后指定三个输出以启用行和列重排序。

[R,国旗]=胆固醇(年代);(RP flagP P) =胆固醇(年代);

对于每个计算,检查一下国旗= 0以确认计算成功。

如果~flag && ~flag p(“分解成功。”其他的disp (“分解失败了。”结束
分解成功。

比较中非零的数目胆固醇(S)和重新排序的矩阵胆固醇(P“* * P).最佳实践是使用的三种输出语法胆固醇使用稀疏矩阵,因为重新排序行和列可以极大地减少choolesky因子中的非零数。

次要情节(1、2、1)间谍(R)标题(的非零胆固醇(年代))子情节(1,2,2)间谍(RP)标题(的非零胆固醇(P“* * P) '

图中包含2个轴。标题为chol(S)非零的轴1包含一个类型为line的对象。chol(P'*S*P)中标题为Nonzeros的坐标轴2包含一个类型为line的对象。

使用“向量”选择胆固醇以向量而不是矩阵的形式返回排列信息。

创建稀疏有限元矩阵。

S =画廊(“wathen”10、10);间谍(S)

图中包含一个坐标轴。轴包含一个线型对象。

计算矩阵的Cholesky因子,并指定“向量”选项返回排列向量p

(R,国旗,p) =胆固醇(年代,“向量”);

验证国旗= 0,表示计算成功。

如果~国旗disp (“分解成功。”其他的disp (“分解失败了。”结束
分解成功。

验证年代(p, p) = R * R,在舍入误差范围内。

规范(S (p, p) - R * R,“摇来摇去”
ans = 2.1039 e-13

输入参数

全部折叠

输入矩阵。论点一个可采用全存或稀疏存,但必须是方正对称正定。

胆固醇假设一个对于实矩阵是对称的,对于复矩阵是厄米矩阵。胆固醇只使用的上三角形或下三角形一个来执行它的计算,这取决于三角形

数据类型:|
复数的支持:金宝app是的

稀疏矩阵输入。年代必须是平方对称正定的。

胆固醇假设年代对于实矩阵是对称的,对于复矩阵是厄米矩阵。胆固醇只使用的上三角形或下三角形年代来执行它的计算,这取决于三角形

数据类型:
复数的支持:金宝app是的

输入矩阵的三角形因子,记为“上”“低”.使用此选项指定胆固醇应该使用输入矩阵的上三角形或下三角形来计算分解。胆固醇假设输入矩阵对于实矩阵是对称的,对于复矩阵是厄米矩阵。胆固醇仅使用上三角形或下三角形来执行其计算。

使用“低”期权等价于调用胆固醇“上”选项和输入矩阵的转置,然后转置输出R

例子:R =胆固醇(“低”)

排列输出的形状,指定为“矩阵”“向量”.该标志控制排列是否输出P以置换矩阵或置换向量的形式返回。

  • 如果国旗= 0,然后年代对称是正定的吗P ' *年代* P = R * R(如果P是一个矩阵)或年代(p, p) = R * R(如果p是一个向量)。

  • 如果国旗不是零,那么年代不是对称正定的。R上三角矩阵的大小是多少——- - - - - -n,在那里q = flag-1.第一个l形区域行和第一‘* R同意…的意见P ' S * P(如果P是一个矩阵)或S (p, p)(如果p是一个向量)。

  • 如果“低”选项,则R是一个下三角矩阵,可以替换吗‘* R* R '在之前的身份中。

Cholesky因子P ' S * P(如果P是一个矩阵)或S (p, p)(如果p是向量)趋向于比的Cholesky因子更稀疏年代

例子:(R,国旗,p) =胆固醇(年代,“矢量”)

输出参数

全部折叠

乔尔斯基因子,以矩阵的形式返回。

  • 如果R那么上面是三角形吗= R ' * R.如果指定P输出为稀疏矩阵,然后P ' *年代* P = R * R年代(p, p) = R * R,取决于值outputForm

  • 如果R下面是三角形吗一个= R * R '.如果指定P输出为稀疏矩阵,然后P ' * * P = R * R 'S (p, p) = R * R ',取决于值outputForm..

  • 每当国旗不为零,R只包含部分结果。国旗表示分解失败的枢轴位置,还有R包含部分完成的因子分解。

对称正定标志,作为标量返回。

  • 如果国旗= 0,则输入矩阵为对称正定矩阵。R上三角矩阵是这样的吗‘* R =

  • 如果一个不对称是正定的,那么国旗是一个正整数,表示分解失败的枢轴位置,而MATLAB®不会产生错误。R上三角矩阵的大小是多少q = flag-1这样‘* R =(1:问,1:问)

  • 如果一个是稀疏的,那么R上三角矩阵的大小是多少——- - - - - -n这样的l形区域的第一行和第一‘* R同意…的意见一个年代

  • 如果“低”选项,则R是一个下三角矩阵,可以替换吗‘* R* R '在之前的身份中。

的值作为矩阵或向量返回的稀疏矩阵的排列outputForm.看到outputForm对该输出所满足的恒等式的描述。

该排列矩阵是基于近似最小次排序的amd.然而,这种预排序可能不同于直接通过amd胆固醇为了提高性能,稍微改变了顺序。

更多关于

全部折叠

对称正定矩阵

一个对称正定矩阵是一个具有所有正特征值的对称矩阵。

对于任何实可逆矩阵一个,你可以用这个乘积构造一个对称的正定矩阵B =“*.乔里斯基分解通过说任何对称正定矩阵来推翻这个公式B可以被考虑到产品中吗‘* R

一个对称半正定矩阵以类似的方式定义,除了特征值必须全部为正或为零。

正定矩阵与正半定矩阵之间的界限在数值计算中是模糊的。特征值完全等于零的情况很少见,但它们在数值上可以是零(按照机器精度的顺序)。由于这个原因,胆固醇也许可以分解一个正半定矩阵,但对于另一个具有非常相似特征值的矩阵可能会失败。

提示

扩展功能

之前介绍过的R2006a