精华内容
下载资源
问答
  • 对称三对角矩阵
    千次阅读
    2021-04-20 14:06:23

    假设两个实对称矩阵A和B,如果存在一个可逆的矩阵X, XAX'=B,已知A和B,知道怎么用matlab求X?

    本例中数据如下:

    A=[0.287402 0 0

    0 0.483209 0

    0 0 0.000025];

    B=[0.287402 -0.028039 -0.0000727

    -0.028039 0.483209 0.001299

    -0.0000727 0.001299 0.000025];

    下面是对一个对称矩阵求转换后的对角矩阵的matlab程序

    程序来自

    《基于Matlab的实对称矩阵对角化》一文,作者 计文军等

    其中a的对称矩阵,d是对角化后的矩阵,p是相应的合同变换,满足pTap=d

    function [p,d]=juzheng(a)

    [m,n]=size(a);

    a=[a eye(n)]';

    for k=1:n

    if a(k,k)==0

    for r=(k+1):n

    if a(k,r)~=0

    for i=k:n

    a(k,i)=a(k,i)+a(r,i);

    end

    for i=k:2*n

    a(i,k)=a(i,k)+a(i,r);

    end

    break

    end

    end

    end

    for i=k+1:n

    l=a(i,k)/a(k,k);

    for j=k:n

    a(i,j)=a(i,j)-l*a(k,j);

    end

    for j=k:2*n

    a(j,i)=a(j,i)-l*a(j,k);

    end

    end

    end

    p=a(n+1:2*n,1:n);

    d=a(1:n,1:n);

    return

    下面在脚本文件中调用juzheng.m函数

    A=[0.287402 0 0

    0 0.483209 0

    0 0 0.000025];

    B=[0.287402 -0.028039 -0.0000727

    -0.028039 0.483209 0.001299

    -0.0000727 0.001299 0.000025];

    [p,d]=juzheng(B);

    X=(inv(p))';% 这一步是将计算的结果转成本例中我所需要的形式

    %你可以验证X*A*X'=B

    完毕!

    感谢文章作者

    更多相关内容
  • 这是 dstevx lapack routinte 的 matlab 包装器。 要使用此例程,只需键入: mex trideigs.c extern\lib\win32\lcc\libmwlapack.lib 并添加到路径中。
  • 对称三对角矩阵特征值的二分法[总结].pdf
  • 二分法求解对称三对角矩阵的特征值二分法求解对称三对角矩阵的特征值二分法求解对称三对角矩阵的特征值二分法求解对称三对角矩阵的特征值二分法求解对称三对角矩阵的特征值二分法求解对称三对角矩阵的特征值二分法...
  • 基于对称三对角矩阵特征求解的分而治之方法,提出了一种改进的使用MPI/Cilk模型求解的混合并行实现,结合节点间数据并行和节点内多任务并行,实现了对分治算法中分治阶段和合并阶段的多任务划分和动态调度....
  • 运用递归的方法求解对称三对角矩阵的特征值

    运用递归的方法求解对称三对角矩阵的特征值

    问题

    求解如下的对称三对角矩阵的特征值
    在这里插入图片描述
    我们在求解过程中,发现有如下的递推关系
    在这里插入图片描述
    于是我想到了运用matlab中的sym变量并用递归的方法把特征多项式表达出来,然后求解。

    递归函数

    首先我们定义这样一个函数,理解不畅可以参考斐波那契数列的递归求解

    function y = recurMatrix( n )
    %recurMatrix 运用递归的方法求解对称三对角矩阵特征值
    %   n:size of the matrix,n>0 and is int
    %   y:特征多项式
    syms y lambda;
    if n == 1
        y = lambda-2;
    elseif n==2
        y = (lambda-2)^2-2;
    else 
        y = (lambda-2)*recurMatrix(n-1) - recurMatrix(n-2);
    end

    然后我们可以输入任意的n,运用solve函数进行求解

    效果

    在这里插入图片描述

    结果出来的是分数表达式如果想要具体的数值,可以使用eval/double
    在这里插入图片描述

    写在最后

    当然了,我所解决的问题依旧是矩阵规模较小的情况,而且矩阵具有比较强的特殊性。

    这个问题可以当成训练递归思想的一个例子,但在实际问题中,如果真的求解一般矩阵的特征值,那还得是诸如QR方法之类的比较常见的,成熟的方法

    展开全文
  • 对称三对角本征求解器2016年Spring学期在普渡大学完成CS 51501数值线性代数中的并行性的最终项目,它是Fortran 90实施的并行特征求解器的并行本征求解器,采用Intel MKL,OpenMP和MPI。 该算法使用Sturm序列来计算...
  • 首先考虑最小二乘问题(LSP) :给定矩阵X∈Rn×p,对角矩阵Λ∈Rp×p,求对角对称矩阵A,Β满足关系式‖AX - BXΛ‖=min.其次考虑了一个最佳逼近问题:给定对角对称矩阵~A,~B,求矩阵A^,B^满足‖A^ -~A‖2+‖B^ -~B...
  • 数学实验“对称三对角矩阵特征值的二分法”实验报告(内含matlab程序)西京学院数学软件实验任务书课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题对称三对角矩阵特征值的二分法实验目的熟悉对称三对...

    数学实验“对称三对角矩阵特征值的二分法”实验报告(内含matlab程序)

    西京学院数学软件实验任务书

    课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题对称三对角矩阵特征值的二分法实验目的熟悉对称三对角矩阵特征值的二分法实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成实验内容对称三对角矩阵特征值的二分法成绩教师实验十四实验报告

    实验名称:对称三对角矩阵特征值的二分法。

    实验目的:熟悉对称三对角矩阵特征值的二分法。

    实验要求:运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成程序设计。

    实验内容:

    %对称三对角矩阵特征值的二分法

    program ex0001integer nreal x1,x2,x,f1,f2,fx,epsreal,allocatable::d(,e( write(*,*) "Please enter n:"read(*,*) n allocate(d(n),e(n-1))????????

    eps=1.0E-6fx=1.0do j=1,nd(j)=-2end dodo j=1,n-1e(j)=1end do!write(*,*) "Please enter array d and e:"???? !read(*,*) d,ea1=d(1)-e(1)a2=d(1)-2*e(1)a3=d(1)+e(1)a4=d(1)+2*e(2)y1=min(a1,a2)y2=max(a4,a3)y=(y2-y1)/nx1=y1x2=y1+ywrite(*,*)"矩阵的特征值为:"do m=1,ntemp=x210 if(abs(fx)>eps) thenx=(x1+x2)/2f1=MValue(x1,n,d,e)f2=MValue(x2,n,d,e)fx=MValue(x,n,d,e)if (fx*f1>0) thenx1=x else x2=xend ifgo to 10 end ifprint*,"--------------------"write(*,*) xx1=tempx2=temp+yz=(x1+x2)/2fx=MValue(z,n,d,e)end doprint*,"--------------------"containsreal function mValue(x,n,d,e)????Integer n,ireal xreal d(n),e(n-1),s(n)S(1)=x-d(1)S(2)=(x-d(1))*(x-d(2))-e(1)**2Do i=3,nS(i)=(x-d(i))*s(i-1)-e(i-1)**2*s(i-2)End domValue=s(n) returnEnd function mValueend

    - 0 -

    展开全文
  • 提出由对称三对角阵及其去掉第K行第K列所余子拒的各一个特征对来构造原拒的问题。讨论了解的存在性和唯一性的充分必要条件。
  • 不可约对称三对角矩阵特征值的Newton迭代算法[归纳].pdf
  • 矩阵的特征值与特征向量的计算的matlab实现,幂法、反幂法和位移反幂法、雅可比(Jacobi)方法、豪斯霍尔德(Householder)方法、实对称矩阵三对角化、QR方法、求根位移QR方法计算实对称矩阵 的特征值、广义特征值问题...
  • 矩阵化为三对角形式的Lanczos方法,保留其特征值的同时,使用类似的计算方式,实际上与共轭梯度法相关联。 在这种方法中,变换矩阵[P]是用相互正交的向量构造的。通常我们求对称矩阵的特征值由下式开始: 确保[P]...

    第三十二篇 Lanczos转化到三对角形式

    在之前的篇章里,有许多求解线性方程的迭代方法,如最陡下降法,可以通过向量乘法和各种简单的向量运算,简化为一个单个矩阵的循环。将矩阵化为三对角形式的Lanczos方法,保留其特征值的同时,使用类似的计算方式,实际上与共轭梯度法相关联。
    在这种方法中,变换矩阵[P]是用相互正交的向量构造的。通常我们求对称矩阵的特征值由下式开始:
    在这里插入图片描述
    确保[P]T [P]=[I]的一种方法是构造互相正交的,单位长度的正交化向量,如{P}, {q}和{r}构造[P]。以3 × 3矩阵为例,可以得到
    在这里插入图片描述
    在Lanczos方法中,要求得到的[P]T [A][P]是一个对称的三对角矩阵
    在这里插入图片描述
    所以
    在这里插入图片描述
    因为[P]是由正交向量组成的
    在这里插入图片描述
    可以展开上面的式子
    在这里插入图片描述

    将上式的第一,第二和第三分别乘以{p}T, {q}T和{r}T,并注意向量的正交性,得到
    在这里插入图片描述

    构造“Lanczos向量”{p}、{q}和{r},并求解三对角形式αi和βi,可以遵循以下算法:
    1)开始猜一个单位长度的向量{p}(如[1 0 0]T)
    2)通过方程2,计算α1 = {p}T [A]{p}
    3)通过方程1,计算β1{q} = [A]{p}−α1{p}
    4) {q}的长度是一个单位,因此通过正交化计算β1和{q}
    5)由方程2,计算α2 = {q}T [A]{q}
    6)有方程1计算β2 {r} =[A]{q}−α2{q}−β1{p}
    7) {r}是单位长度,因此通过正交化计算β2和{r}
    8)由式2计算α3 = {r}T [A]{r}等。
    通常,对于一个n × n矩阵[A],将[P]的正交向量列记为{y}j, j = 1,2,···,n,程序使用的算法如下(设β0 = 0)
    在这里插入图片描述
    程序如下:

    #对称矩阵到三对角矩阵的Lanczos推导
    import numpy as np
    n=4
    alpha=np.zeros((n))
    beta=np.zeros((n))
    v=np.zeros((n))
    y0=np.zeros((n))
    z=np.zeros((n))
    y1=np.array([1.0,0.0,0.0,0.0])
    a=np.array([[1,-3,-2,1],[-3,10,-3,6],[-2,-3,3,-2],[1,6,-2,1]],dtype=np.float)
    print('对称矩阵到三对角矩阵的Lanczos推导')
    print('系数矩阵A')
    print(a[:])
    print('开始猜测值')
    print(y1)
    y0[:]=0
    beta[-1]=0
    for j in range(1,n+1):
        v[:]=np.dot(a,y1)
        alpha[j-1]=np.dot(y1,v)
        if j==n:
            break
        z[:]=v[:]-alpha[j-1]*y1-beta[j-2]*y0
        y0[:]=y1[:]
        beta[j-1]=(np.dot(z,z))**0.5
        y1[:]=z[:]/beta[j-1]
    print('转化后的主对角线')
    for i in range(1,n+1):
        print('{:13.4e}'.format(alpha[i-1]),end='')
    print()
    print('转化后的非主对角线值')
    for i in range(1,n):
        print('{:13.4e}'.format(beta[i-1]),end='')
    
        
        
    
    

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

    展开全文
  • 当 A 是五对角线(5 带)且强非奇异时,解决问题 Ax=b。 对于大型矩阵,这比 x=A\b 快得多。 该算法将检查 A 是否对称,如果是,则使用更有效的算法。 鼓励用户改进和重新分发此脚本。
  •  10.4.3 实对称矩阵三对角化 365  10.4.4 三对角阵特征值与特征向量的求解 367  10.5 QR方法 369  10.5.1 QR分解 369  10.5.2 基本QR方法 370  10.5.3 带原点位移的QR方法 372  10.6 MATLAB自带函数应用 ...
  • 此函数将使用 Householder 方法对方形对称矩阵进行三对角化。
  • 基于MATLAB的实对称矩阵对角化.pdf
  • 特殊矩阵——三对角矩阵(Tridiagonal Matrix) 注:压缩存储的矩阵可以分为特殊矩阵和稀疏矩阵。对于那些具有相同元素或零元素在矩阵中分布具有一定规律的矩阵,被称之为特殊矩阵。对于那些零元素数据远远多于非零...
  • 此代码基于 Lapack 子程序 ZHETRD 和 ZUNGTR 提供了可靠的三对角矩阵分解程序。 Lapack 是数值分析中最可靠的 Fortran 程序之一。 在 Lapack 中,对角化用于计算 Hermitian 矩阵的特征值分解。 请参阅...
  • 对角矩阵 对角矩阵只在对角线上含有非0元素,其它位置都为0。我门用diag(v)diag(v)diag(v)表示一个对角元素由向量vvv组成的对角方阵。对角矩阵的乘法计算效率很高。我们已经见过一种特殊的对角矩阵:单位矩阵。 不是...
  • 用构造兼证明方法实现对称三对角阵 Tk- 1矩阵表示的递进约化,在利用 Gauss变换的乘积性质容易确定单位下三角的递推基础上,建立一个与 Tk- 1关系密切的临时矩阵 Hk- 1为纽带,以矩阵关系确定的元素关系运算操作为...
  • 对称矩阵对角
  • 因此,此提交帮助人们使用矩阵的双对角化,A = Q * B * P',其中 A 是非平方的复数或实数,B 是双对角的实数,Q 和 P 是酉或正交的。 最初的 Lapack 接口例程来自 Tim Toolan 在“文件交换”中的工作。 此代码可...
  • 对称矩阵对称矩阵(Symmetric Matrix)是指元素以主对角线为对称轴对应相等的矩阵,例如: 可以看到,对称矩阵的转置等于其自身,即: 对角矩阵对角矩阵(Diagonal Matrix)是指除主对角线之外其他元素都为0的矩阵,...
  • 三对角矩阵:M是一个三对角矩阵,当且仅当|i-j|>1时,M(i,j)=0 下三角矩阵:M是一个下三角矩阵,当且仅当i<j时,M(i,j)=0 上三角矩阵:M是一个上三角矩阵,当且仅当i>j时,M(i,j)=0 对...
  • 对称矩阵对角

    千次阅读 2021-10-10 21:39:28
    矩阵对角形相似(P−1AP=ΛP^{-1}AP=\LambdaP−1AP=Λ)的条件 定理1 AAA 相似于对角形 Λ\LambdaΛ 的充要条件是 AAA 有 nnn 个线性无关的特征向量。 推论 ...所有的实对称矩阵都能对角化!!! 向量
  • 三对角矩阵持征对的计算复杂性一般为O(n2)(n为矩阵的阶)。利用一类三对角矩阵持征对的局限性质,采用...该算法适用于持征对具局限性的一类大型非对称三对角矩阵,且具有较高的精度;适合于并行计算。最后给出了数值算例。
  • 2 ,对角矩阵 : 定义 : 1 ,主对角线的元素不为 0 2 ,其他元素都为 0 例如 : 3 ,正定矩阵 : 定义 : 1 ,可以让非零实向量乘以他自己的转置 > 0 ,这样的矩阵叫正定矩阵 2 ,理解 : 把它的方向正过来 ...
  • 数组+【矩阵压缩存储】:对称、三角、三对角、稀疏矩阵
  • 对称矩阵对角

    万次阅读 2019-03-29 09:32:22

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,171
精华内容 13,668
关键字:

对称三对角矩阵