文件

辣椒

Cholesky分解

句法

r = chol(a)
l =辣椒(a,'下')
r = chol(a,'上')
[r,p] = chol(a)
[l,p] = chol(a,'较低')
[r,p] = chol(a,'上')
[R,p,S]=chol(A)
[r,p,s] = chol(a,'vector')
[L,P,S] = Chol(A,'较低','载体')
[r,p,s] = chol(a,'上','vector')

描述

r = chol(a)生成一个上三角矩阵R.来自矩阵的对角线和上三角形一种,满足方程式r'* r = a这个辣椒函数假定一种是(复杂的隐士)对称。如果不是,辣椒使用上三角形的(复杂缀合物)转换为下三角形。矩阵一种必须是积极的。

l =辣椒(a,'下')产生较低的三角形矩阵L.来自矩阵的对角线和下三角形一种,满足方程式l * l'= a这个辣椒函数假定一种是(复杂的隐士)对称。如果不是,辣椒使用下三角形的(复杂的缀合物)转换为上三角形。什么时候一种是稀疏的,这个语法辣椒通常更快。矩阵一种必须是积极的。r = chol(a,'上')是相同的r = chol(a)

[r,p] = chol(a)对于积极的确定一种,产生上三角矩阵R.来自矩阵的对角线和上三角形一种,满足方程式r'* r = aP.是零。如果一种那么不是积极的明确P.是一个正整数和matlab®不会生成错误。当一种已满,R.是一个上三角形矩阵的顺序q = p-1这样r'* r = a(1:q,1:q)。什么时候一种是稀疏的,R.是大小的上三角矩阵问:-经过-N.所以这样L.- 第一个地区的地区问:排在第一位问:列的r'* r同意那些一种

[l,p] = chol(a,'较低')对于积极的确定一种,生成下三角矩阵L.来自矩阵的对角线和下三角形一种,满足方程式l * l'= aP.是零。如果一种那么不是积极的明确P.是一个正整数,MATLAB不会生成错误。当一种已满,L.是一个较低的三角形矩阵q = p-1这样l * l'= a(1:q,1:q)。什么时候一种是稀疏的,L.是一个较低的三角形矩阵大小问:-经过-N.所以这样L.- 第一个地区的地区问:排在第一位问:列的二'同意那些一种[r,p] = chol(a,'上')是相同的[r,p] = chol(a)

以下三个输出语法需要稀疏输入一种

[R,p,S]=chol(A)什么时候一种是稀疏的,返回排列矩阵S.。请注意,预期S.可能不同于从amd自从辣椒将略微改变顺序以提高性能。什么时候p = 0.R.是一个上三角矩阵,使得这一点r'* r = s'* a * s。什么时候P.不是零,R.是大小的上三角矩阵问:-经过-N.所以这样L.- 第一个地区的地区问:排在第一位问:列的r'* r同意那些s'* a * s这个factor ofs'* a * s往往比因素稀疏一种

[r,p,s] = chol(a,'vector')什么时候一种稀疏,将置换信息作为向量返回S.这样a(s,s)= r'* r什么时候p = 0.。你可以使用'矩阵'选择代替'向量'获取默认行为。

[L,P,S] = Chol(A,'较低','载体')什么时候一种稀疏,仅使用对角线和下三角形一种并返回一个下三角矩阵L.和一个置换向量S.这样A(s,s)=L*L'什么时候p = 0.。如上所述,您可以使用'矩阵'选择代替'向量'获得置换矩阵。[r,p,s] = chol(a,'上','vector')是相同的[r,p,s] = chol(a,'vector')

    笔记使用辣椒优选使用eig.用于确定正定性。

例子

例1

画廊功能提供了几个对称,正,明确的矩阵。

a =图库('moler',5)a = 1 -1 -1 -1 -1 -1 -1 2 0 0 0 0 -1 0 3 1 1 -1 0 1 4 2 -1 0 1 2 5 c = chol(a)ANS = 1 -1 -1 -1 -1 -1 0 1 -1 -1 -1 0 0 1 -1 -1 0 0 0 1 -1 0 0 0 0 1 isequal(c'* c,a)ans = 1

对于稀疏输入矩阵,辣椒返回Cholesky因子。

n = 100;a =画廊('泊松',n);

N表示正方形的一个方向上的网格点数N-经过-N所以,,一种 N 2 经过 N 2

l =辣椒(a,'下');d = norm(a  -  l * l','fro');

的价值D.将在不同版本的matlab中有所不同,但将按照 10. - 14.

例2.

布置在对称阵列中的二项式系数产生正定的矩阵。

n = 5;x = Pascal(n)x = 1 1 1 11 11 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70

该矩阵是有趣的,因为其Cholesky因子由相同的系数组成,其布置在上三角矩阵中。

r = chol(x)r = 1 1 1 1 1 1 0 1 2 3 4 0 0 1 3 6 0 0 0 1 4 0 0 0 0 1

通过从最后一个元素中减去1来摧毁积极的明确度(并实际上制作矩阵奇异)。

x(n,n)= x(n,n)-1 x = 11 11 11 11 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 15 35 35 69

现在,我们试图找到X失败。

使用CHOL矩阵的CHOL(x)错误必须是正定的。

扩展能力

C / C ++代码生成
使用Matlab®编码器生成C和C++代码™.

也可以看看

|

在R2006a之前引入

这个话题有用吗?