精华内容
下载资源
问答
  • 利用对称正定矩阵的乔累斯基分解求解对称正定方程组的方法称为平方根法 对称正定矩阵A的对角元为正 实对称矩阵A正定的充要条件是A的所有特征值为正 对称正定矩阵非奇异,其逆...平方根法解线性方程组,输出L矩阵和根 %.
    • 利用对称正定矩阵的乔累斯基分解求解对称正定方程组的方法称为平方根法
    • 对称正定矩阵A的对角元为正
    • 实对称矩阵A正定的充要条件是A的所有特征值为正
    • 对称正定矩阵非奇异,其逆亦为对称正定矩阵
    • 实对称矩阵A正定的充要条件是A的所有顺序主子式为正
    • 正定矩阵的顺序主子阵是正定的
    • Cholesky分解较一般的LU分解乘除法计算量小得多。它所需要的乘除次数约为(n^3)/6数量级,差不多比LU分解节省一半的工作量,但要进行n次开方运算
    • (比高斯法更稳定,不需要选主元)
    %% 0.平方根法解线性方程组,输出L矩阵和根
    %% 1.对称正定矩阵的Cholesky分解
    %对称正定矩阵A存在唯一的对角元素均为正数的下三角矩阵L,使得A=L*L(转置)
    %这种分解叫做Cholesky分解
    A=[3,3,5;3,5,9;5,9,17];
    b=[0;-2;-4];
    %判断矩阵A是否对称正定,对称+所有顺序主子式为正
    L=zeros(3);
    %求下三角矩阵L
    L(1,1)=sqrt(A(1,1));%L11
    L(2,1)=A(2,1)/L(1,1);%L21
    L(3,1)=A(3,1)/L(1,1);%L31
    L(2,2)=sqrt(A(2,2)-L(2,1)*L(2,1));%L22
    L(3,2)=(A(3,2)-L(3,1)*L(2,1))/L(2,2);%L32
    L(3,3)=sqrt(A(3,3)-L(3,1)*L(3,1)-L(3,2)*L(3,2));%L33
    L%输出L矩阵
    %% 2.由Ly=b得到y
    y=L\b;
    %% 3.由L_转置*x=y得到方程组的解x
    x=L'\y%输出线性方程组的根
    

    运行结果:
    在这里插入图片描述
    其中y矩阵:
    在这里插入图片描述
    利用MATLAB内置函数chol

    %% 0.平方根法解线性方程组,输出L矩阵和根
    %% 1.对称正定矩阵的Cholesky分解
    %对称正定矩阵A存在唯一的对角元素均为正数的下三角矩阵L,使得A=L*L'
    %这种分解叫做Cholesky分解
    A=[3,3,5;3,5,9;5,9,17];
    b=[0;-2;-4];
    %L=chol(A,'lower')基于矩阵A的对角线和下三角形生成下三角矩阵L,满足方程L*L'=A
    L=chol(A,'lower')
    %% 2.由Ly=b得到y
    y=L\b;
    %% 3.由L_转置*x=y得到方程组的解x
    x=L'\y%输出线性方程组的根
    

    如果矩阵A不是对称的,则 chol 使用上三角的(复共轭)转置作为下三角。

    展开全文
  • 平方根法(Cholesky分解法)线性方程组 包括程序代码和结果分析 平方根法需要将矩阵做Cholesky分解,化为两个三角方程组求解。 % 平方根法(Cholesky分解法)线性方程组Ax=b % A为方程组系数矩阵, b是方程组右端向量...
  • %定理2.2.3:对阵正定矩阵的楚列斯基(Cholesky)分解%设A为n阶对阵正定矩阵,则存在一个可逆的下三角矩阵G,使得%A=GG’,当限定G的对角元为正时,这种分解是唯一的%--------A=GG’的分解算法------- %参考教材:...

    %定理2.2.3:对阵正定矩阵的楚列斯基(Cholesky)分解

    %设A为n阶对阵正定矩阵,则存在一个可逆的下三角矩阵G,使得

    %A=GG’,当限定G的对角元为正时,这种分解是唯一的

    %--------A=GG’的分解算法------- %参考教材:《数值分析》李乃成,梅立泉,科学出版社 clear;clc; A=[9,18,9,-27;   18,45,0,-45;   9,0,126,9;   -27,-45,9,135]; b=[1 2 16 8]'; n=length(b);%方程个数n G=zeros(n,n); G(1,1)=sqrt(A(1,1)); G(2:n,1)=A(2:n,1)/G(1,1); for j=2:n-1     G(j,j)=sqrt(A(j,j)-sum(G(j,1:j-1).^2));     for i=j+1:n         G(i,j)=(A(i,j)-sum(G(i,1:j-1).*G(j,1:j-1)))/G(j,j);     end end G(n,n)=sqrt(A(n,n)-sum((G(n,1:n-1)).^2)); G %--------用A=GG’分解求解方程组Ax=b(平方根法)---- %Gy=b,G'x=y; x=zeros(n,1);%未知向量 y=zeros(n,1);%中间向量 y(1)=b(1)/G(1,1); for i=2:n     y(i)=(b(i)-sum(G(i,1:i-1)'.*y(1:i-1)))/G(i,i); end y %---------由G'x=y求出x---------- %方法类似于U由x=y解出x G=G'; x(n)=y(n)/G(n,n); for i=n-1:-1:1     x(i)=(y(i)-sum(G(i,i+1:n)'.*x(i+1)))/G(i,i); end x

    展开全文
  • 详细过程见《数值计算方法》 题目: C++题解: #include <iostream> #include <cstdio> #include <queue> #include <cstring> #include <cmath>...double temp[105 * 1

    详细过程见《数值计算方法》
    题目:
    在这里插入图片描述
    C++题解:

    #include <iostream>
    #include <cstdio>
    #include <queue>
    #include <cstring>
    #include <cmath>
    using namespace std;
    #define ll long long
    const int maxn = 205;
    const int INF = 0x3f3f3f;
    double temp[105 * 105] = {0.0};
    double x[105] = {0.0}, y[105] = {0.0};
    double L[105][105] = {0.0};
    int n = 0, n2 = 0;
    
    inline void IN() { //输入
        int t = 0;
        while(scanf("%lf",&temp[++t]) != EOF) {}
        while(n*(n+1) != (t-1)) {n++;}
        n2 = n * n;
    }
    
    inline double *A(int i, int j) {
        return &temp[j + (i-1) * n];
    }
    
    inline double *b(int j) {
        return &temp[j + n2];
    }
    
    inline void OUT() {
        printf("L:\n");
        for(int i = 1; i <= n; ++i) {
            for(int j = 1; j <= n; ++j) {
                printf("%.5lf ", L[i][j]);
            }
            printf("\n");
        }
        printf("y:\n");
        for(int i = 1; i <= n; ++i) {
            printf("%.5lf\n", y[i]);
        }
        printf("x:\n");
        for(int i = 1; i <= n; ++i) {
            printf("%.5lf\n", x[i]);
        }
    }
    
    inline void get_L(){
        L[1][1] = sqrt(*A(1,1));
        for(int i = 2; i <= n; ++i) {
            L[i][1] = *A(i,1)/L[1][1];
        }
        for(int j = 2; j <= n; ++j) {
            L[j][j] = *A(j,j);
            for(int k = 1; k <= j-1; ++k) 
                L[j][j] -= L[j][k] * L[j][k];
            L[j][j] = sqrt(L[j][j]);
            for(int i = j+1; i <= n; ++i) if(j != n) {
                L[i][j] = *A(i,j);
                for(int k = 1; k <= j-1; ++k) 
                    L[i][j] -= L[i][k] * L[j][k];
                L[i][j] /= L[j][j];
            }
        }
    }
    
    inline void get_xy() {
        y[1] = *b(1) / L[1][1];
        for(int i = 2; i <= n; ++i) {
            y[i] = *b(i);
            for(int k = 1; k <= i-1; ++k) 
                y[i] -= L[i][k] * y[k];
            y[i] /= L[i][i];
        }
        x[n] = y[n] / L[n][n];
        for(int i = n-1; i >= 1; --i) {
            x[i] = y[i];
            for(int k = i+1; k <= n; ++k) 
                x[i] -= L[k][i] * x[k];
            x[i] /= L[i][i];
        }
    }
    
    int main() {
        IN();
        get_L();
        get_xy();
        OUT();
        return 0;
    }
    

    输入输出结果:
    在这里插入图片描述

    展开全文
  • %定理2.2.3:对阵正定矩阵的楚列斯基(Cholesky)分解 %设A为n阶对阵正定矩阵,则存在一个可逆的下三角矩阵G,使得 %A=GG’,当限定G的对角元为正时,这种分解是唯一的 %--------A=GG’的分解算法------- %参考...


    %定理2.2.3:对阵正定矩阵的楚列斯基(Cholesky)分解
    %设A为n阶对阵正定矩阵,则存在一个可逆的下三角矩阵G,使得
    %A=GG’,当限定G的对角元为正时,这种分解是唯一的

    %--------A=GG’的分解算法-------
    %参考教材:《数值分析》李乃成,梅立泉,科学出版社
    clear;clc;
    A=[9,18,9,-27;
      18,45,0,-45;
      9,0,126,9;
      -27,-45,9,135];
    b=[1 2 16 8]';
    n=length(b);%方程个数n
    G=zeros(n,n);
    G(1,1)=sqrt(A(1,1));
    G(2:n,1)=A(2:n,1)/G(1,1);
    for j=2:n-1
        G(j,j)=sqrt(A(j,j)-sum(G(j,1:j-1).^2));
        for i=j+1:n
            G(i,j)=(A(i,j)-sum(G(i,1:j-1).*G(j,1:j-1)))/G(j,j);
        end
    end
    G(n,n)=sqrt(A(n,n)-sum((G(n,1:n-1)).^2));
    G
    %--------用A=GG’分解求解方程组Ax=b(平方根法)----
    %Gy=b,G'x=y;
    x=zeros(n,1);%未知向量
    y=zeros(n,1);%中间向量
    y(1)=b(1)/G(1,1);
    for i=2:n
        y(i)=(b(i)-sum(G(i,1:i-1)'.*y(1:i-1)))/G(i,i);
    end
    y
    %---------由G'x=y求出x----------
    %方法类似于U由x=y解出x
    G=G';
    x(n)=y(n)/G(n,n);
    for i=n-1:-1:1
        x(i)=(y(i)-sum(G(i,i+1:n)'.*x(i+1)))/G(i,i);
    end
    x

     

    展开全文
  • 基于吉文斯变换的QR分解
  • 1.改进平方根法 对称阵的三角分解定理 设AAA为nnn阶对称矩阵,且AAA的所有顺序主子式均不为零,则AAA可唯一分解为A=LDLT,A=LDL^T,A=LDLT, 其中LLL为单位下三角矩阵,DDD为对角矩阵.即 A=[1l211⋮⋮⋱ln1ln2…1][d1d2...
  • 平方根法 乔累斯基分解Cholesky_线性方程组的直接解法
  • Cholesky分解法又叫做平方根法,是求解对称正定线性方程组最常用的方法之一。A是一个对称正定的矩阵,则存在一个对角元均为正数的下三角阵L,使得A=LL’,称为Cholesky分解,而后我们可以由下面三步求解: (1)计算A的...
  • 本篇文章介绍线性方程组平方根法及改进平方根法,适用范围为系数矩阵为正定Hermite矩阵(下称H阵)的线性方程组。这个方法的理论依据我觉得是来自Schur引理的H阵结构定理,从这个角度我们就可以理解课程上教授的...
  • 转自改进的平方根法 做了一些注释和修改了函数 function [L,D,x,y]=improvedSqareRoot(A,b) n=length(A(:,1)); %求A矩阵第一列的长度,即矩阵维数 %% 判断输入的矩阵是不是符合要求 for k=1:n if (det(A(1:k,1:k)))...
  • 线性方程组地矩阵三角分解法* 第五章解线性方程组的直接方法 计算方法 —— 矩阵三角分解法 * 本讲内容 一般线性方程组 LU 分解与 PLU 分解 对称正定线性方程组 平方根法--Cholesky 分解 对角占优三对角线性方程...
  • MATLAB平方根法和改进平方根法求解线性方程组例题与程序要点(2)设对称正定阵系数阵线方程组数学原理平方根法解n阶线性方程组Ax=b的choleskly方法也叫做平方根法,这里对系数矩阵A是有要求的,需要A是对称正定矩阵,...
  • 线性方程组的直接法主要有Gauss消元法及其变形、LU(如Doolittle、Crout方法等)分解法和一些求解特殊线性方程组的方法(如追赶法、LDLT法等)。这里主要有列主元消元法,LU分解法,改进的平方根法,追赶法和雅可比迭代...
  • 矩阵分解的常用方法如:LU分解法,Cholesky分解法平方根法,追赶法解方程组.
  • 数值分析3-解线性方程组迭代法解线性代数方程组直接法高斯消元,高斯主元素消元矩阵三角分解法,列主元三角分解平方根法追赶法方程组性态和误差分析 解线性代数方程组直接法 高斯消元,高斯主元素消元 矩阵三角分解...
  • 内容包括:线性方程组的直接解法:Gauss消去法、Gauss列主元消去法、Gauss全主元消去法、列主元消去法应用『列主元求逆矩阵、列主元求行列式、矩阵的三角分解』、LU分解法平方根法、改进的平方根法、追赶法(三对...
  • 解方程组方法对于线性方程组y=Ax+by=Ax+b常有如下几种求解方法。其中,AA为系数矩阵,xx为解向量。直接三角分解法(Dolittle分解法) 前提:各阶顺序主子式不为0. 公式:以下LL表示单位下三角矩阵,UU表示一个上三角...
  • 高斯消去法,LU分解法平方根法和追赶法解线性方程组
  • Cholesky分解法

    千次阅读 2019-10-06 21:01:56
    Cholesky分解法又叫平方根法,是求解对称正定线性方程组最常用的方法之一。对于一般矩阵,为了消除LU分 的局限性和误差的过分积累,采用了选主元的方法,但对于对称正定矩阵而言,选主元是不必要的。   ...
  • 用C语言实现线性方程组的数值解法

    千次阅读 2019-09-09 16:50:35
    简介: 数值求解方法主要有以下...其中,直接解法可采用Gauss消元法、Doolittle分解法(三角分解法、LU分解法)、Crout分解法(与Doolittle类似)、Cholesky分解法平方根法)。 标注: 此笔记中的四种消元方法已用...
  • 6、平方根法解线性方程组 三 、插值法与曲线拟合的最小二乘法 1、拉格朗日插值法 2、牛顿插值法 3、Hiemite 插值法 4、最小二乘法(线性拟合) 四 、数值积分 1、使用变步长梯形求积算法计算积分 2、使用龙贝格算法...
  • 数值计算第一次实验(C语言版)

    千次阅读 2017-05-08 21:36:39
    1. 二分法方程求根 2. 顺序消元法解线性方程组 3. 列选主元消去法解线性方程组 4. 全选主元消去法解线性方程组 ... 平方根法解线性方程组 8. 拉格朗日插值法 9. 牛顿插值法 10. Hermite插值法

空空如也

空空如也

1 2 3
收藏数 58
精华内容 23
关键字:

平方根分解法解方程组