精华内容
下载资源
问答
  • 包含三个文件,即doolittle分解、改善的平方根法分解、追赶法分解,可以在matlab中直接调用
  • 平方根法(Cholesky分解法)解线性方程组 包括程序代码和结果分析 平方根法需要将矩阵做Cholesky分解,化为两个三角方程组求解。 % 平方根法(Cholesky分解法)解线性方程组Ax=b % A为方程组系数矩阵, b是方程组右端向量...
  • 平方根法Python代码

    2018-07-08 19:08:17
    所谓平方根法,就是利用对称正定矩阵的三角分解得到的求解对称正定方程组的一种有效方法。python编写的改进的平方根法代码
  • 平方根法 乔累斯基分解Cholesky_解线性方程组的直接解法

    平方根法 乔累斯基分解Cholesky_解线性方程组的直接解法

    标签:计算方法实验

    #include <stdio.h>
    #include <math.h>
    
    const int maxn = 15;
    
    int main(){
        double a[maxn][maxn], b[maxn], y[maxn], x[maxn], l[maxn][maxn];
        int n, sum;
    
        freopen("sqrt.txt", "r", stdin);
        scanf("%d", &n);
        for(int i = 1; i <= n; i++){
            for(int j = 1; j <= n; j++)  scanf("%lf", &a[i][j]);
            scanf("%lf", &b[i]);
        }
        /*
        for(int i = 1; i <= n; i++){
            for(int j = 1; j <= n; j++)  printf("%10f", a[i][j]);
            printf("%10f\n", b[i]);
        }
        */
    
        for(int i = 1; i <= n; i++){  //算L: 对正定矩阵A分解,A = LL^T
            sum = 0;
            for(int k = 1; k <= i - 1; k++)  sum += (l[i][k] * l[i][k]);
            l[i][i] = sqrt(a[i][i] - sum);
    
            sum = 0;
            for(int j = i + 1; j <= n; j++){
                for(int k = 1; k <= i - 1; k++)  sum += (l[j][k] * l[i][k]);
                l[j][i] = (a[j][i] - sum) / l[i][i];
            }
        }
    
        for(int i = 1; i <= n; i++){  //求y: A = LL^T -> LL^Tx = b -> Ly = b
            sum = 0;
            for(int k = 1; k <= i - 1; k++)  sum += (l[i][k] * y[k]);
            y[i] = (b[i] - sum) / l[i][i];
        }
    
        for(int i = n; i >= 1; i--){  //求x: L^Tx = y
            sum = 0;
            for(int k = i + 1; k <= n; k++)  sum += (l[k][i] * x[k]);
            x[i] = (y[i] - sum) / l[i][i];
        }
    
        for(int i = 1; i <= n; i++)  printf("%10f\n", x[i]);
    
        return 0;
    }
    

    数据文件
    input
    实验结果
    output

    展开全文
  • 这里主要有列主元消元法,LU分解法,改进的平方根法,追赶法和雅可比迭代,高斯—塞德尔迭代 的构造过程及相应的程序。线性方程的解法在数值计算中占有极重要的地位,因此,线性方程组的求解是数值分析课程中最基本的...
  • 每个代码都可以运行哦 运行环境我的是VC6.0
  • 定义 例子 首先判断顺序主子式。 R矩阵每一行除以对角元 平方根分解推导 因为A的分解是唯一的,可以得到L=RTL=R^{T}L=RT 例题 待定系数

    定义

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述


    在这里插入图片描述

    例子

    首先判断顺序主子式。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    R矩阵每一行除以对角元
    在这里插入图片描述

    平方根分解推导

    因为A的分解是唯一的,可以得到L=RTL=R^{T}
    在这里插入图片描述

    例题

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    待定系数法

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • %定理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

    展开全文
  • 转自改进的平方根法 做了一些注释和修改了函数 function [L,D,x,y]=improvedSqareRoot(A,b) n=length(A(:,1)); %求A矩阵第一列的长度,即矩阵维数 %% 判断输入的矩阵是不是符合要求 for k=1:n if (det(A(1:k,1:k)))...

    转自改进的平方根法
    做了一些注释和修改了函数
    适用于A为对称正定矩阵:A=LDL^T(L为单位下三角矩阵,D为对角矩阵,D的对角元素di>0)

    function [L,D,x,y]=improvedSqareRoot(A,b)
    n=length(A(:,1)); %求A矩阵第一列的长度,即矩阵维数
    %% 判断输入的矩阵是不是符合要求
    for k=1:n
        if (det(A(1:k,1:k)))<=0 %由于对称正定矩阵A,必有det(A)>0
            disp('A矩阵不是对称正定矩阵,请重新运行程序')
        end
    end
    %分解A,使A=L*D*L'
    %% 初始化L(i,i) 
    for i=1:n
        L(i,i)=1;
    end
    %% 初始化d(i)L(i,k)
    for k=1:n
        temp_sum1=0;
        for j=1:k-1
            temp_sum1=temp_sum1+L(k,j)^2*d(j);
        end    
        d(k)=A(k,k)-temp_sum1;
    
        for i=k+1:n
            temp_sum2=0;
            for j=1:k-1
                temp_sum2=temp_sum2+L(i,j)*d(j)*L(k,j);
            end
            L(i,k)=(A(i,k)-temp_sum2)/d(k);
        end
    end
    %% 初始化t(i,j)
    for k=1:n
        for i=k+1:n
            t(i,k)=L(i,k)*d(k);
        end
    end
    
    %% 转换
    for k=2:n
        temp_sum3=0;
        for j=1:k-1
            temp_sum3=temp_sum3+t(k,j)*L(k,j);
        end
        d(k)=A(k,k)-temp_sum3;
        
        for i=k:n
            temp_sum4=0;
            for j=1:k-1
                temp_sum4=temp_sum4+t(i,j)*L(k,j);
            end
            t(i,k)=A(i,k)-temp_sum4;
        end
        L(i,k)=t(i,k)/d(k);
    end
    
    %% 分解Ax=b 为 Ly=b  L'x=inv(D)*y
    %% 求y
    for k=1:n
        temp_sum5=0;
        for j=1:k-1
            temp_sum5=temp_sum5+L(k,j)*y(j);
        end
        y(k)=b(k)-temp_sum5;
    end
    %% 求x
    for k=n:-1:1
        temp_sum6=0;
        for j=k+1:n
            temp_sum6=temp_sum6+L(j,k)*x(j);
        end
        x(k)=y(k)/d(k)-temp_sum6;
    end
    D=diag(d)
    end
    
    

    测试数据:
    A =[ 1.0000 -1.0000 1.0000
    -1.0000 3.0000 -2.0000
    1.0000 -2.0000 4.5000];
    b =[ 4 -8 12];
    在这里插入图片描述

    展开全文
  • %定理2.2.3:对阵正定矩阵的楚列斯基(Cholesky)分解 %设A为n阶对阵正定矩阵,则存在一个可逆的下三角矩阵G,使得 %A=GG’,当限定G的对角元为正时,这种分解是唯一的 %--------A=GG’的分解算法------- %参考...
  • 在科学和工程计算中,经常需要求解形如 的线性方程组,其中 为 矩阵,称为系数矩阵, 为 ...若 的主对角线元素取正值,则这种分解是唯一的。将矩阵关系式 直接展开,有 据此可逐行求出矩阵 的元素 ,计算公式为 基...
  • 一:概述 本篇文章介绍解线性方程组的平方根法及改进平方根法,适用范围为系数矩阵为正定Hermite矩阵(下称H阵)的...平方根法中的分解方法: 改进平方根中的分解方法: 然后再大致解释一下 首先是平方根法:根据矩阵
  • 平方根法(Cholesky分解) 引入:对称正定矩阵 矩阵各元素的各元素沿主对角线对称 矩阵的所有特征值均大于零 平方根法的使用条件 AAA为对称正定矩阵,且Ukk>0U_{kk}>0Ukk​>0。 平方根法的步骤 A=UUTA...
  • 1.改进平方根法 对称阵的三角分解定理 设AAA为nnn阶对称矩阵,且AAA的所有顺序主子式均不为零,则AAA可唯一分解为A=LDLT,A=LDL^T,A=LDLT, 其中LLL为单位下三角矩阵,DDD为对角矩阵.即 A=[1l211⋮⋮⋱ln1ln2…1][d1d2...
  • 1.对称正定矩阵三角分解或Cholesky分解定理
  • 平方根法就是利用对称正定的三角分解求解对称正定方程组的一种有效方法。 前提:系数矩阵A为对称矩阵,且A的所有顺序主子式均不为0。算法1:将系数矩阵A分解为L和L的转置。则求解Ax=b的过程,就变为求解Ly=b,(L...
  • 平方根法求解正定矩阵的线性方程组的Python实现 定理:对线性方程组Ax=b,若A唯正定矩阵,则有唯一分解A=LU,且U的对角线元素大于0,而U可以进一步分解为一个对角矩阵D与一个上三角矩阵的乘积,设为U=DM,进而A=LDM...
  • 基于吉文斯变换的QR分解
  • Cholesky分解法

    万次阅读 2018-05-20 16:45:13
    转自:https://blog.csdn.net/ACdreamers/article/details/44656847Cholesky分解法又叫平方根法,是求解对称正定线性方程组最常用的方法之一。对于一般矩阵,为了消除LU分解的局限性和误差的过分积累,采用了选主元...
  • Cholesky分解法又叫做平方根法,是求解对称正定线性方程组最常用的方法之一。A是一个对称正定的矩阵,则存在一个对角元均为正数的下三角阵L,使得A=LL’,称为Cholesky分解,而后我们可以由下面三步求解: (1)计算A的...
  • 这是整理发布的一款《平方根》课件PPT,PPT主要以初中数学课程为主,适合老师及学生使用,需要.....该文档为《用因式分解法解一元二次方程》ppt课件1,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 矩阵分解 Cholesky分解

    万次阅读 2017-11-17 11:36:08
    Cholesky分解法又叫平方根法,是求解对称正定线性方程组最常用的方法之一。对于一般矩阵,为了消除LU分 解的局限性和误差的过分积累,采用了选主元的方法,但对于对称正定矩阵而言,选主元是不必要的。   定理:...
  • Cholesky分解

    千次阅读 2017-01-14 09:41:44
    Cholesky分解法又称平方根法,是当A为实对称正定矩阵时,LU三角分解法的变形。如果矩阵A为n阶对称正定矩阵,则存在一个对角元素为正数的下三角实矩阵L,当限定L的对角元素为正时,这种分解是唯一的,称为Cholesky...
  • 面试中遇到先说二分解法,这是程序员的思路,此外还有“牛顿”。学AI的应该会。 二分查找:常规的二分,跳出来的时候一定是在平方根附近的,最后判断一下如果平方大于x的话就返回它前面的一个值,否则就正常返回...
  • 矩阵分解---LDL分解

    千次阅读 2018-11-12 23:46:25
    若一个矩阵A是正定的,那么该矩阵也可以唯一分解为 其中L是对角元素都为1的下三角矩阵,D是对角...由上式可以观察到不存在开根号的操作,所以也叫做“改进的平方根分解法”。 为了方便硬件实现,对上面公式进行进...
  • 矩阵的三角分解是求解线性方程组常用的方法,包括LU分解,LDU分解,杜利特(Doolittle)分解,克劳特(Crout)分解,LLT(乔累斯基Cholesky)分解,LDLT(不带平方根乔累斯基)分解等,以及为了满足分解条件又加入行列变换的...

空空如也

空空如也

1 2 3 4 5
收藏数 88
精华内容 35
关键字:

平方根法分解