cholesky.m

来自「这是用来解线性方程的」· M 代码 · 共 29 行

M
29
字号
function C=Cholesky(A)
%Cholesky Cholesky factoruization of a symmetric,positive definite matrix
%
%synopsis: C=Cholesky(A)
%
%Input: A=symmetric positive dedinite matrive
%
%Output: C=upper triangular matrix such that A=C'*C

[m,n]=size(A);
if m~=n, error('A must be square'); end
C=zeros(n,n);
for i=1:n
    for j=i:n
        if j==1
            s=A(i,i);%i=1,j=1 is special case
        else
            s=A(i,j)-C(1:i-1,i)'*C(1:i-1,j);
        end
            if j>i
                C(i,j)=s/C(i,i);
            else
                if s<=0,error('c is not positive definite to working precision');end
                C(i,i)=sqrt(s);
            end
        end
    end
   
    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?