三对角矩阵公式推导

合集下载

三对角行列式计算公式推导

三对角行列式计算公式推导

三对角行列式计算公式推导要推导三对角行列式的计算公式,我们首先需要定义三对角矩阵。

一个n×n的矩阵A是三对角的,如果它的非零元素只在主对角线上以及位于主对角线上方和下方的相邻两条对角线上。

一个三对角矩阵的一般形式如下:a1b10c2a2b200c3a3b3...0 0 cn an bn其中,ai, bi 和 ci 分别表示第i个主对角线和位于主对角线上方和下方的对角线元素。

det(A) = a1 * a2 * a3 * ... * an - 1 * an - (b1 * c2 * a2 * a3 * ... * an - 1) - (b2 * c3 * a3 * a4 * ... * an - 1) - ... - (bn - 2 * cn - 1 * an - 1 * an)推导过程如下:设三对角矩阵A的行列式为det(A)。

我们可以通过对A的第一列使用行列式展开式来推导det(A)的计算公式。

根据行列式的定义,展开式如下:det(A) = a1 * M11 - b1 * M12其中,M11是去除A的第一行和第一列后的(n-1)×(n-1)的子矩阵的行列式,M12是去除A的第一行和第二列后的(n-1)×(n-1)的子矩阵的行列式。

我们可以继续展开M11 和 M12 的行列式,直到展开到1×1 的子矩阵。

在展开的过程中,我们会发现只有b1 * c2 * ... *bn - 1 * an - 1 这一项才会保留下来。

通过这个过程,我们可以得到以下递推关系:det(A) = a1 * M11 - b1 * M12=a1*(a2*M21-b2*M22)-b1*(c2*M21-a2*M23)=a1*a2*M21-a1*b2*M22-b1*c2*M21+b1*a2*M23=a1*a2*M21-a1*b2*M22+a2*b1*M23-b1*c2*M21继续展开,我们得到:det(A) = a1 * a2 * M21 - a1 * b2 * (a3 * M31 - b3 * M32) + a2 * b1 * (c3 * M32 - a3 * M33) - b1 * c2 * M21-a1*b2*a3*M31+a1*b2*b3*M32-a2*b1*c3*M33这一过程可以继续下去,直到展开到最后一个(n-1)×(n-1) 子矩阵的行列式,此时我们只剩下最后一个主对角线上的元素an。

三对角行列式计算方法和结论

三对角行列式计算方法和结论

三对角行列式计算方法和结论1. 什么是三对角行列式?说到三对角行列式,很多人可能会一脸懵,觉得这名字听起来就像是数学界的“外星人”。

别担心,咱们慢慢来,轻松搞懂它。

首先,三对角行列式其实就是一个特别的矩阵,只有主对角线及其上下相邻的两条对角线上有数字,其他位置全是零。

这就好比在一块棋盘上,只有“国王”和“王后”能活动,而其他棋子都乖乖待在原地,不打扰他们。

1.1 三对角行列式的形状想象一下,一个三对角行列式像极了一个阶梯,越往下走,越显得整齐划一。

比如说,一个 4x4 的三对角行列式,它的样子大致是这样的:begin{vmatrixa_1 & b_1 & 0 & 0c_1 & a_2 & b_2 & 0 。

0 & c_2 & a_3 & b_3 。

0 & 0 & c_3 & a_4end{vmatrix看到这个形式,你是不是想到了“家有一老,如有一宝”?没错,这个行列式的结构,简洁而有力,绝对是数学界的宝贝。

1.2 计算的重要性三对角行列式的计算可不是随便来玩的,它在数值分析、工程计算以及物理建模中可谓是不可或缺。

想象一下,如果你的计算机程序因为一个行列式出错,那可真是“哎呀,我的老天爷”了!所以,搞清楚如何计算它,简直就像掌握了一门“绝世武功”。

2. 计算方法好啦,接下来我们来聊聊如何计算这个“宝贝”。

其实,计算三对角行列式有个简单而高效的方法,叫做“递推法”。

不如就像做饭,一步一步来,越做越好。

2.1 递推公式我们可以用一个简单的公式来表示它:D_n = a_n D_{n1 b_{n1c_{n1 D_{n2。

听起来有点复杂,其实它的意思就是:当前的行列式等于当前主对角线元素乘以前一个行列式减去上一个主对角线元素和次对角线元素的乘积乘以前前一个行列式。

听起来是不是就像在讲“家族传承”的故事?2.2 计算实例假如我们有一个 3x3 的三对角行列式:begin{vmatrixa_1 & b_1 & 0c_1 & a_2 & b_20 & c_2 & a_3end{vmatrix那我们的计算过程就能这样展开:1. 先算 (D_1 = a_1)。

三对角矩阵的压缩存储公式推导

三对角矩阵的压缩存储公式推导

三对角矩阵的压缩存储公式推导标题:深入探讨三对角矩阵的压缩存储公式推导在线性代数和数值计算中,三对角矩阵是一类特殊的矩阵,它在科学计算、工程问题和物理建模中有着广泛的应用。

三对角矩阵的压缩存储公式是对其特殊结构的一种有效利用,本文将深入探讨三对角矩阵的性质以及推导其压缩存储公式,帮助读者更好地理解和应用这一重要概念。

一、三对角矩阵的定义及性质三对角矩阵是指除了主对角线上的元素外,只有相邻对角线上的元素不为零的矩阵。

它具有以下的性质:1. 三对角矩阵是一种特殊的带状矩阵,具有较强的结构性质;2. 由于其大部分元素为零,因此可以采用压缩存储方式来节省存储空间;3. 在数值计算中,三对角矩阵往往会出现在线性方程组的求解、差分方程的离散化、特征值计算等问题中,因此了解其压缩存储公式对于优化算法和提高计算效率具有重要意义。

二、三对角矩阵的压缩存储公式推导三对角矩阵的压缩存储公式是一种基于其特殊结构的存储方式,可以将其非零元素存储在一个更小的数组中,从而节省存储空间和提高计算效率。

下面我们将对三对角矩阵的压缩存储公式进行推导。

假设我们有一个n阶的三对角矩阵A,其一般形式如下:\[ A = \begin{pmatrix} a_1 & b_1 & 0 & 0 & \cdots & \cdots & 0 \\ c_1 & a_2 & b_2 & 0 & \cdots & \cdots & 0 \\ 0 & c_2 & a_3& b_3 & 0 & \cdots & 0 \\ \vdots & \vdots & \ddots & \ddots & \ddots & \vdots & \vdots \\ 0 & \cdots & \cdots & c_{n-2} &a_{n-1} & b_{n-1} & 0 \\ 0 & \cdots & \cdots & \cdots & c_{n-1} & a_n \end{pmatrix} \]为了压缩存储这个矩阵,我们可以使用两个数组来存储非零元素,一个数组存储矩阵的对角线上的元素,另一个数组存储矩阵相邻对角线上的元素。

三对角方程组的追赶法

三对角方程组的追赶法

2013-2014(1)专业课程实践论文题目:三对角方程组的追赶法一、算法理论在一些实际问题中,例如解常微分方程边值问题,解热传导方程以及船体数学放样中建立三次样条函数等,都会要求解系数矩阵为对角占优的三对角线方程组11112222211111n n n n n n n n n b c x f a b c x f a b c x f a b x f -----⎛⎫⎛⎫⎛⎫⎪⎪ ⎪ ⎪⎪ ⎪ ⎪⎪ ⎪= ⎪⎪⎪ ⎪⎪⎪ ⎪⎪ ⎪⎝⎭⎝⎭⎝⎭, 简记为Ax f =。

求解Ax f =:等价于解两个三角形方程组,Ly f y =求;,Ux y x =求.从而得到解三对角线方程组的追赶法公式:(1)计算{}i β的递推公式()111/,/,2,3,,1;i i i i i c b c b a i n βββ==-=- (2) 解Ly f =()()11111/,/,2,3,,;i i i i i i i y f b y f a y b a i n β--==--=(3)解Ux y =1,,1,2,2,1.n n i i i i x y x y x i n n β+==-=--我们将计算系数12112n n y y y βββ-→→→→→→ 及的过程称为追的过程, 将计算方程组的解11n n x x x -→→→ 的过程称为赶的过程。

#include <stdio.h>#include <math.h>#include<stdlib.h>#define N 20double a[N], b[N], c[N-1], f[N], r[N];int n;int i;void LUDecompose(); // LU分解void backSubs(); // 回代void main(){printf("请输入方程的维数n=");scanf("%d",&n);getchar();if(n>N||n<=0){printf("由于该维数过于犀利, 导致程序退出!");return;}printf("\n输入下三角元素\n");printf("输入%d个a值: ", n-1);for (i=1; i<n; i++)scanf("%lf", &a[i]);getchar();printf("\n输入主对角线元素\n");printf("输入%d个b值: ", n);for (i=0; i<n; i++)scanf("%lf", &b[i]);getchar();printf("\n输入上三角元素\n");printf("输入%d个c值: ", n-1);for (i=0; i<n-1; i++)scanf("%lf", &c[i]);getchar();printf("\n输入%d个方程组右端项: \n", n);for (i=0; i<n; i++)scanf("%lf", &f[i]);getchar();LUDecompose();backSubs();printf("\n线性方程组的解为: \n");for (i=0; i<n; i++)printf("x%d=%lf\n", i+1, f[i]);}void LUDecompose(){ //α被b取代, β被c取代, 以节省存储空间c[0]=c[0]/b[0];for(i=1;i<n-1;i++){r[i]=a[i];b[i]=b[i]-r[i]*c[i-1];c[i]=c[i]/b[i];}r[i]=a[i];b[i]=b[i]-r[i]*c[i-1];}void backSubs(){ // y被f取代, x也被f取代, 以节省存储空间f[0]=f[0]/b[0];for(i=1; i<n; i++)f[i]=(f[i]-r[i]*f[i-1])/b[i];f[n-1]=f[n-1];for(i=n-2;i>=0;i--)f[i]=f[i]-c[i]*f[i+1];}四、 算法实现例1.用该程序计算三对角线方程组2100012100A 012100012100012⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭---=-----, 10000b ⎛⎫⎪ ⎪⎪= ⎪ ⎪ ⎪⎝⎭计算其方程组的解。

三对角矩阵的压缩存储公式推导

三对角矩阵的压缩存储公式推导

三对角矩阵的压缩存储公式推导
三对角矩阵是指除了主对角线上的元素,只有主对角线上方和下方相邻的两条对角线上的元素不为零,其余元素都为零的矩阵。

压缩存储是指将矩阵中的非零元素存储在一个一维数组中。

假设一个n阶的三对角矩阵为A,可以表示为:
A = [a[i][j]] 0 < |i - j| <= 1
其中a[i][j]为矩阵A的元素。

我们需要将A压缩存储到长度为n的一维数组B中。

推导压缩存储的过程如下:
1. 创建一个长度为3n-2的一维数组B,用于存储矩阵A的非
零元素。

2. 遍历矩阵A中的每个元素a[i][j],判断其在数组B中的位置。

a) 当 i = j 时,a[i][j]为主对角线上的元素,存储在数组B的
第i个位置。

b) 当 i = j+1 时,a[i][j]为主对角线上方的元素,存储在数组
B的第n-1+j个位置。

c) 当 i = j-1 时,a[i][j]为主对角线下方的元素,存储在数组
B的第2n-1+j个位置。

3. 遍历完成后,数组B中存储了矩阵A的所有非零元素。

即可得到三对角矩阵A的压缩存储公式:
B[i] = a[i][i] (i = 1, 2, ..., n)
B[n-1+j] = a[j+1][j] (j = 0, 1, ..., n-2)
B[2n-1+j] = a[j][j+1] (j = 0, 1, ..., n-2)
其中B为存储矩阵A的一维数组。

软考 n阶三对角矩阵 k i j 关系

软考 n阶三对角矩阵 k i j 关系

软考 n阶三对角矩阵 k i j 关系一、引言在线性代数和数值计算领域,三对角矩阵是一类非常特殊的矩阵。

它的非零元素只分布在主对角线、上对角线和下对角线上,其他位置上的元素均为零。

三对角矩阵在求解线性方程组、计算特征值和特征向量等问题中具有广泛的应用。

本文将介绍三对角矩阵的定义、性质和表示方法,并深入探讨三对角矩阵中元素的关系。

二、三对角矩阵的定义和性质2.1 三对角矩阵的定义n阶三对角矩阵是指一个n×n的矩阵,其非零元素仅分布在主对角线、上对角线和下对角线上,其他位置的元素均为零。

设矩阵为A,其一般形式可以表示为:其中ai、bi和ci分别是主对角线、上对角线和下对角线上的元素,满足i = 1, 2, …, n。

根据矩阵的定义,可以看出三对角矩阵具有大量的零元素,因此在存储和运算方面具有一定的特殊性。

2.2 三对角矩阵的性质三对角矩阵具有一些重要的性质,这些性质对于求解线性方程组和计算特征值特征向量等问题非常有用。

1.三对角矩阵的稀疏性:对于一个n阶三对角矩阵,其非零元素的个数为3n-2,占据了整个矩阵中的很小一部分。

这种稀疏性使得对三对角矩阵的存储和运算有很大的优势。

2.三对角矩阵的带状性:在三对角矩阵中,每个元素的列下标与行下标之差不超过1。

这种带状性决定了三对角矩阵的一些算法在存储和运算时只需要考虑部分元素,大大降低了计算复杂度。

3.三对角矩阵的特征值:三对角矩阵具有特殊的特征值结构,即特征值都是实数,并且彼此之间的排序关系与相应的矩阵元素的大小关系一致。

这使得计算三对角矩阵的特征值可以利用一些特殊的算法,提高计算效率。

三、三对角矩阵的表示方法三对角矩阵有多种表示方法,包括直接表示和间接表示。

接下来,将介绍两种常用的表示方法。

3.1 直接表示方法直接表示方法是将三对角矩阵的所有元素直接存储在一个一维数组中。

具体来说,可以按照行或列的顺序依次存储所有的元素,这样就将一个n×n的三对角矩阵表示为一个包含3n-2个元素的一维数组。

6.2三对角矩阵法

6.2三对角矩阵法

2
150
305.4.
3
150
319.3
4
150
333.2
5
150
347.0
V2=150 mol/h
平衡常数:
按(6-12)~(6-15)计算常数 A、B、C、D, 得到方程组的矩阵(6-16)的形式:
⎡−150
⎢ ⎢
100
⎢0
⎢ ⎢
0
⎢⎣ 0
244.5 − 344.5
100 0 0
0 325.5 525.5 200
j
Bi, j = −[Vj+1 + ∑ (Fm −Um −Wm ) −V1 + U j + (Vj +Wj )Ki, j ] m=1
Ci, j = Vj+1Ki, j+1 1 ≤ j ≤ N -1
Di, j = −Fj zi, j 1≤ j ≤ N
(6-12)
1≤ j ≤ N (6-13) (6-14) (6-15)
⎥⎢VN−1⎥ ⎢ γ N−2 ⎥
⎢⎣
αN-1 βN-1⎥⎦⎢⎣ VN ⎥⎦ ⎢⎣ γ N−1 ⎥⎦
(6-33)
逐级求解的通式:
Vj
=
γ
j−1
−α jVj−1 β j-1
⑥迭代终止标准:
(6-36)
ε T = ∑[(T j ) k − (T j ) k−1 ]2 ≤ 0.01N
(6-37) (6-38)
对于具有三对角线矩阵的线性方程组, 常用追赶法(或称托玛斯法)求解。该
法仍属高斯消元法。变换(6-16)第一行(式):
j=1:
Bi,1xi,1 + Ci,1xi,2 = Di,1 ,

三对角行列式公式

三对角行列式公式

三对角行列式公式三对角行列式公式是线性代数中的一个重要概念,它在解决许多数学问题时都有着关键的作用。

咱先来说说啥是三对角行列式。

简单来讲,就是主对角线以及与其相邻的两条对角线上有非零元素,其他位置都是零的行列式。

比如说,像下面这个样子:\[\begin{vmatrix}a_1 & b_1 & 0 & 0 & \cdots & 0 \\c_1 & a_2 & b_2 & 0 & \cdots & 0 \\0 & c_2 & a_3 & b_3 & \cdots & 0 \\\cdots & \cdots & \cdots & \cdots & \cdots & \cdots \\0 & 0 & 0 & 0 & \cdots & a_n\end{vmatrix}\]这就是一个典型的三对角行列式。

那三对角行列式公式到底是啥呢?其实它的公式有点复杂,不过别怕,咱们一点点来。

假设我们有一个 n 阶的三对角行列式 \(D_n\) ,那么它可以通过递推的方式来求解。

咱就拿一个具体的例子来说吧。

有一次我给学生们讲这个知识点的时候,有个学生就特别迷糊,一直皱着眉头。

我就问他:“咋啦,没听懂?”他怯生生地点点头。

然后我就重新给他一步一步地讲。

比如说,我们有个三阶的三对角行列式:\[\begin{vmatrix}2 & 1 & 0 \\3 & 2 & 1 \\0 & 3 & 2\end{vmatrix}\]我们先按照一般的行列式展开法则来算。

第一步,把第一行展开:\[\begin{align*}&2\times\begin{vmatrix}2 & 1 \\3 & 2\end{vmatrix} - 3\times\begin{vmatrix}1 & 0 \\3 & 2\end{vmatrix} \\=&2\times(2\times 2 - 1\times 3) - 3\times(1\times 2 - 0\times 3) \\=&2\times 1 - 3\times 2 \\=& -4\end{align*}\]这就是具体的计算过程。

三对角线矩阵法

三对角线矩阵法

精馏系统内的热量传递主要由潜热的变化引
起,由此也引起两相流率的变化,所以用热
量衡算方程,即H-方程来检验流率Vj是否正 确。
开始
规定设计变量 设定Tj、Vj初值 解三对角线矩阵方程,求xi,j
归一化xi,j
规定: 进料:Fj,zi,j,TFj,PFj 压力:pj 侧采:Uj,Wj 热负荷:Qj(除Q1和QN) 级数:N
2、Tj:(1)塔顶: 气相采出:露点温度 液相采出:泡点温度 气、液相混合:泡、露点之间的温度
(2)塔釜:釜液泡点温度 线性内插,得到中间各级温度初值。
二、归一化
由于求三对角矩阵方程时没有考虑S-eq.的约束, 必须对得到的xi,j归一化。
x
x=
i, j
i, j
C
Σx
i, j
i=1
三、泡点方程的计算 (实际就是S-eq.):
五、迭代收敛的标准
或更简单的:
泡点(BP)法 流率加和(SR)法
END
自学:等温流率加和法、同时校正法、内-外 法。 关注:非平衡级模型。
2、Tj:(1)塔顶: 气相采出:露点温度 液相采出:泡点温度 气、液相混合:泡、露点之间的温度
(2)塔釜:釜液泡点温度 线性内插,得到中间各级温度初值。
二、流率加和法计算新的Lj,Vj
由S-eq.导出流率加和方程:
L(jk +1)
=
C
L(jk

i =1
x
i
,
j
L(k )由物料衡算式(6-10)从Vj(k)算出:
i,j j-1 i,j-1 j+1 i,j+1 j i,j j j i,j j j i,j
E-eq.

三对角行列式计算公式推导

三对角行列式计算公式推导

三对角行列式计算公式推导三对角矩阵指的是只有主对角线和相邻的次对角线和超过它们一格的次对角线上有非零元素的方阵。

计算这种矩阵的行列式有一个特别简单的公式,即Cramer公式的变形:$$|A|=\prod_{i=1}^n a_i,$$其中$a_1, a_n$ 为矩阵 $A$ 的主对角线元素,$a_i, a_{i-1}$ 和 $a_{i+1}$ 分别为它的第 $i$ 个、第 $i-1$ 个、第$i+1$ 个次对角线上的元素。

我们可以采用数学归纳法来证明这个公式。

如果 $n=1$,那么$|A|=a_1$,这满足公式。

如果 $n=2$,那么 $|A|$ 的表达式可以用主对角线元素和第 $1$ 个次对角线元素表示,即:$$|A|=\left|\begin{matrix}a_1 & a_2 \\a_3 &a_4\end{matrix}\right|=a_1a_4-a_2a_3.$$根据公式可知,$|A|=a_1a_4-a_2a_3$,这满足公式。

假设$n=k$ 时公式成立,考虑 $n=k+1$ 的情况,即:$$|A|=\left|\begin{matrix}a_1 & a_2 & & & \\a_3 & a_4 & \ddots & & \\& \ddots & \ddots & \ddots & \\& & \ddots & a_{n-1} & a_n \\& & & a_{n+1} & a_{n+2}\end{matrix}\right|.$$将矩阵 $A$ 按行 $n$ 进行展开,可得:$$|A|=a_{n+1}\left|\begin{matrix}a_1 & a_2 & & & \\a_3 & a_4 & \ddots & & \\& \ddots & \ddots & \ddots & \\& & \ddots & a_{n-1} & a_n \\a_1/a_{n+1} & a_2/a_{n+1} & \cdots & a_{n-1}/a_{n+1} & 1 \end{matrix}\right|-a_n\left|\begin{matrix}a_1 & a_2 & & & \\a_3 & a_4 & \ddots & & \\& \ddots & \ddots & \ddots & \\& & \ddots & a_{n-1} & a_{n+1} \\a_1/a_n & a_2/a_n & \cdots & 1 & a_{n+1}/a_n\end{matrix}\right|.$$根据归纳假设,我们有:$$|A|=a_{n+1}\prod_{i=1}^{n} a_i-a_n\prod_{i=1}^{n-1} a_i,$$可见这满足公式。

三对角矩阵的快速算法

三对角矩阵的快速算法

三对角矩阵的快速算法三对角矩阵是一种特殊的矩阵,其非零元素只在主对角线和其相邻的两条对角线上。

由于其特殊性,我们可以采用一些特殊的算法来加速其求解。

下面就介绍三对角矩阵的快速算法。

1. Thomas算法Thomas算法是最常用的三对角矩阵求解算法。

该算法的基本思想是将原始矩阵转化为一个下三角矩阵和一个上三角矩阵的乘积形式,在此基础上使用迭代求解的方法。

具体实现过程如下:设三对角矩阵为A,向量b为待求解的线性方程组右端项,向量x为解向量,则原始的线性方程组可以表示为:Ax = b将A分解为下三角矩阵L和上三角矩阵U的乘积形式:则有:令y = Ux,可以得到:这是一个下三角矩阵和向量的乘积,可以使用前代法求解。

然后,再使用后代法求解Ux = y即可得到解向量x。

2. Sherman-Morrison算法设当前矩阵为A,其逆矩阵为A-1,将A作出如下形式的修正:A' = A + uvT其中u和v是向量,T表示向量的转置。

则有:A'-1 = A-1 - A-1uvTA-1 / (1 + vTA-1u)将上式表示为如下形式:显然,如果u和v分别为e1和en,即:u = [1, 0, …, 0]T这个式子就是Sherman-Morrison算法的核心推导。

然后,可以递归地使用这个式子进行修正即可。

3. Doolittle算法Doolittle算法是一种用于求解三对角矩阵的LU分解的算法,与一般的LU分解算法类似,其也将矩阵分解为下三角矩阵L和上三角矩阵U的乘积形式。

总结三对角矩阵是一种特殊的矩阵,其求解具有一些特殊性质,例如可以使用Thomas算法、Sherman-Morrison算法和Doolittle算法等算法进行快速求解。

由于其特殊性,这些算法都比一般的矩阵求解算法具有更高的效率,因此在实际应用中得到了广泛的应用。

分离过程-三对角线矩阵法

分离过程-三对角线矩阵法
7. 汽相流率 Vj的计算
因为F1,V1,U1,L1已经确定,可用(5-17)式计算V2。
L j V j 1 Fm Gm U m V1
m 1
j
5 17 5 32
18
V2 L1 ( F1 U1 ) V1
5.3.2 泡点法(BP法)
为使用 H 方程计算各板的气相流率 Vj ,分别对 Lj-1,Lj 写出式( 5-17 )并代入 H 方程( 5-5 ),得到修 正的H方程: Lj-1
no 是否满足迭代收敛准则 yes
结束
*BP法计算框图*
14
5.3.2 泡点法(BP法)
1. 设计变量的规定:
① 各级的进料流率、组成、温度和压力; ② 各级的压力; ③ 各级的汽、液相侧线采出流率; ④ 除第一极和第N级之外各级的热负荷(注: 加热取正号,冷却取负号); ⑤ 总级数; ⑥ 泡点温度下的回流量(L1)和塔顶气相馏出物 流率(V1)。
塔底温度:取釜液的泡点温度。
16
5.3.2 泡点法(BP法)
3. 相平衡常数Ki,j的计算
⑴ 如果Ki,j=(T,P)时,根据各级温度和压力计算。 ⑵ 如果Ki,j=(T,P,xi,j,yi,j)时,在第一次迭代中用假 设为理想溶液的相平衡常数,在后面的迭代计算 中再把组成考虑进去。
4. xi,j的归一化
第五章 多组分多级分离的严格计算
5.1 平衡级的理论模型 5.2 逐级计算法 5.3 三对角线矩阵法

5.3.1 方程的解离方法和三对角线矩阵方程的 托玛斯解法 5.3.2 泡点法(BP法) 5.3.3 流率加和法(SR法)
1
5.3 三对角线矩阵法
三对角线距阵法 是最常用的多组分多级分离过

三对角形 行列式 递推法

三对角形 行列式 递推法

三对角形行列式递推法引言在线性代数中,行列式是一种重要的概念,它可以用来描述线性方程组的解、矩阵的特征值等。

本文将介绍一种特殊类型的矩阵——三对角矩阵,并介绍使用递推法计算三对角矩阵的行列式。

什么是三对角矩阵三对角矩阵是指除了主对角线上的元素外,其余元素都为零或者具有某种规律。

一个n×n的三对角矩阵可以表示为:[a1b100⋯0 c2a2b20⋯0 0c3a3b3⋯0⋮⋮⋮⋮⋱⋮0⋯⋯c n−1a n−1b n−1 0⋯⋯0c n a n]其中a i,b i,c i为实数。

计算三对角矩阵行列式的递推法计算一个普通矩阵的行列式通常需要使用展开定理,时间复杂度为O(n!),非常耗时。

而对于三对角矩阵,我们可以使用递推法来计算其行列式,时间复杂度为O(n)。

递推关系设D n表示一个n×n的三对角矩阵的行列式,则有以下递推关系:D1=a1D2=a2D1−c2b1D i=a i D i−1−c i b i−1D i−2 (3≤i≤n)其中i表示矩阵的维度。

证明递推关系为了证明上述递推关系,我们可以使用数学归纳法。

当n=1时,显然有D1=a1,递推关系成立。

假设当n=k时递推关系成立,即D k=a k D k−1−c k b k−1D k−2。

那么当n=k+1时:由此可见,递推关系对于任意的n都成立。

递推法计算行列式根据上述递推关系,我们可以通过迭代计算的方式,从小到大依次求解D1,D2,...,D n。

具体算法如下:输入:三对角矩阵A,维度n// 初始化边界条件d_prev = a[0]d_curr = a[0]*a[1] - c[0]*b[0]for i = 3 to n do:d_next = a[i]*d_curr - c[i-1]*b[i-2]*d_prevd_prev = d_currd_curr = d_next返回:d_curr总结本文介绍了三对角矩阵和使用递推法计算三对角矩阵行列式的方法。

三对角矩阵的lu分解

三对角矩阵的lu分解

三对角矩阵的lu分解三对角矩阵的LU分解是矩阵分解的重要一个分支,其特征在于矩阵的非零元素只存在于主对角线及其相邻的一些对角线上。

该分解法广泛应用在科学计算领域,旨在将矩阵特征分解为一个低阶矩阵和一个高阶矩阵,从而简化数值计算。

一、前提知识在深入介绍三对角矩阵的LU分解之前,需要了解以下的基础知识:1. 向量的内积和模长:向量的模长指向量的长度,可以通过数学公式计算。

而向量内积是指一个向量的每个分量与另一个向量的对应分量相乘后相加,如下所示:$u\cdot v = \sum_{i=1}^na_ib_i$2. 矩阵的转置与行列式:矩阵的转置是指将矩阵的行和列交换后所得到的矩阵。

而行列式是指一个矩阵中各个元素所构成行列式的值,是一个标量。

3. 矩阵的行列变换:矩阵的行列变换是指对矩阵的某行或某列进行加减乘除等操作所得到的矩阵,这种变换可以改变矩阵的行列式和特征向量。

二、三对角矩阵三对角矩阵又叫做带状矩阵,是指矩阵中除了主对角线和它两侧相邻的两条对角线以外,其他的元素都为零的矩阵。

例如下图就是一个三对角矩阵:$\begin{bmatrix} a_{11} & a_{12} & 0 & \cdots & \cdots & 0 \\ a_{21} & a_{22} & a_{23} & 0 & \cdots & \vdots \\ 0 & a_{32} & a_{33} & a_{34} & \cdots & \vdots \\ \vdots & \ddots & \ddots & \ddots &\ddots & 0 \\ \vdots & & \ddots & a_{n-1,n-2} &a_{n-1,n-1} & a_{n-1,n} \\ 0 & \cdots & \cdots & 0 & a_{n,n-1} & a_{nn} \\ \end{bmatrix}$三对角矩阵的行列式可以快速计算,可以得到如下公式:$det(A)=a_{11}a_{22}a_{33}...a_{nn}-a_{21}a_{32}a_{43}...a_{n-1,n}a_{n,n-1}$三、三对角矩阵的LU分解三对角矩阵的LU分解是指将一个三对角矩阵分解为一个下三角矩阵和一个上三角矩阵的乘积,公式如下:$A=L\cdot U$其中,L是下三角矩阵,U是上三角矩阵。

计算n阶三对角阵

计算n阶三对角阵

计算三对角矩阵行列式、特征值及特征向量姓名:郑佳文学院:机械工程专业:机械工程指导教师计算n 阶三对角阵n 2112112112A ⎡⎤-⎢⎥--⎢⎥⎢⎥=-⎢⎥-⎢⎥⎢⎥-⎣⎦(1) 行列式 (2)特征值 (3)特征向量。

解 计算行列式n 2112112112D ---=---将n210003010024001034132 (12311)00011n n D n n nn nn n---+==⨯⨯⨯⨯⨯=+---+(2)计算特征值n n n n-1n-2212121*********==2121212111121212I A D λλλλλλλλλλλλλλ-------=--------n n-1n-2=(2)D D D λ-- (1)将式(1)看作n n n -1n --x D =()D y D x D - (2)或 n n n-1n-2-yD =x ()D D yD - (3)其中{21x y xy λ+=-=为方程2(2)10ωλω--+=的两个解。

即x y ⎧⎪⎨⎪⎩由(2)式反复递推可得 22n n-1n-1n-2n-2n-321-xD =()()...()n D y D xD y D xD y D xD --=-==- (4)同理由(3)式得2n n 21-y D =x ()n D D y D -- (5) 又,2221(2)1(),2D x y xy D x yλ=--=+-==+ 因此n n-1-xD =n D y (6) n n-1-yD =x n D (7)所以当2n 1(2)40,>4或者0,这与det (A )10矛盾,故舍去ni i n λλλλ=--><=∏=+>。

当2(2)40λ--=时 n 1=0或者=4,而det (A )10ni i n λλλ==∏=+>,矛盾,故舍去。

所以当2(2)40, 即04λλ--<<<时,联立(6)(7)两式可得:11n =,n n y x D x yy x ++-≠-即11n n n D ++-=令n 0D =,则11n n ++=11n +=所以21,1,2,,k i n ek nπ+==22cos()sin()11k k i n n ππ=+++22cos()sin()11k k i n n ππ=-++将这两式的右端分母有理化,得到22cos()sin()1122cos()sin()11k k i n n k k i n n ππππ=+++=-++将以上两个公式相加,得到222(2)2(1cos())4cos ()11k k n n ππλ-=+=++因此,三对角矩阵n A 的所有特征值22cos(),1,2,,1k k k n n πλ=+=+计算特征向量设与特征值k λ相对应的的特征向量为Tk n k k x x x ),,()()(1)( =将 22c o s (),(1,2,,)1k k k n n πλ=+=+带入0)()(=-k n k x A I λ令()1sin ()1k k x n π=+()2(2)sin ()k 21(2+2cos()2)sin ()sin ()1n+111k k k k k n x n n πλπππ-+==-=++()32k 2k k 2-sin()+(2)sin ()-sin()+(2+2cos()2)sin ()n+11n+1n+11k k k 3k 4sin ()cos ()sin ()sin ()n+1n+1n+1n+1k k k k x n n πππππλππππ=-=-++=-= …归纳得()sin(),1,2,,1k jjk xj n n π==+二、计算n 阶三对角阵n b c a b c A a b c a b ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦(1)行列式 (2)特征值 (3)特征向量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三对角矩阵公式推导
我们先定义一个三对角矩阵,记作A:
\[
A = \begin{bmatrix}
a_1 & b_1 & 0 & 0 & \dots & 0 \\
c_1 & a_2 & b_2 & 0 & \dots & 0 \\
0 & c_2 & a_3 & b_3 & \dots & 0 \\
\vdots & \vdots & \vdots & \ddots & \ddots & \vdots \\
0 & \dots & 0 & c_{n-2} & a_{n-1} & b_{n-1} \\
0 & \dots & 0 & 0 & c_{n-1} & a_n \\
\end{bmatrix}
\]
我们想要找到一个矩阵B,使得A可以通过B的逆和B相乘
得到。

如果我们能够找到相应的B,那么我们就可以得到A
的逆矩阵。

通过观察,我们可以发现这个三对角矩阵有一些特点。

首先,对角线上的元素是$a_1, a_2, a_3, \dots, a_n$,即A的主对角线元素。

其次,A的上方对角线元素是$b_1, b_2, b_3, \dots,
b_{n-1}$,下方对角线元素是$c_1, c_2, c_3, \dots, c_{n-1}$。

其他位置的元素都是零。

我们再来观察相应的矩阵B。

B的对角线上的元素是$b_1, b_2, b_3, \dots, b_{n-1}$,B的上方对角线元素是$c_1, c_2, c_3,
\dots, c_{n-1}$,下方对角线元素是$c_1, c_2, c_3, \dots, c_{n-1}$。

其他位置的元素都是零。

根据矩阵乘法的定义,我们可以将矩阵B的逆矩阵写成如下形式:
\[
B^{-1} = \begin{bmatrix}
d_1 & e_1 & 0 & 0 & \dots & 0 \\
f_1 & d_2 & e_2 & 0 & \dots & 0 \\
0 & f_2 & d_3 & e_3 & \dots & 0 \\
\vdots & \vdots & \vdots & \ddots & \ddots & \vdots \\
0 & \dots & 0 & f_{n-2} & d_{n-1} & e_{n-1} \\
0 & \dots & 0 & 0 & f_{n-1} & d_n \\
\end{bmatrix}
\]
要得到A的逆矩阵,我们需要通过B的逆和B相乘。

根据矩阵乘法的定义,我们可以得到如下关系:
\[
A = BB^{-1} = \begin{bmatrix}
a_1 & b_1 & 0 & 0 & \dots & 0 \\
c_1 & a_2 & b_2 & 0 & \dots & 0 \\
0 & c_2 & a_3 & b_3 & \dots & 0 \\
\vdots & \vdots & \vdots & \ddots & \ddots & \vdots \\
0 & \dots & 0 & c_{n-2} & a_{n-1} & b_{n-1} \\
0 & \dots & 0 & 0 & c_{n-1} & a_n \\
\end{bmatrix} \begin{bmatrix}
d_1 & e_1 & 0 & 0 & \dots & 0 \\
f_1 & d_2 & e_2 & 0 & \dots & 0 \\
0 & f_2 & d_3 & e_3 & \dots & 0 \\
\vdots & \vdots & \vdots & \ddots & \ddots & \vdots \\
0 & \dots & 0 & f_{n-2} & d_{n-1} & e_{n-1} \\
0 & \dots & 0 & 0 & f_{n-1} & d_n \\
\end{bmatrix}
\]
根据矩阵乘法的定义,我们可以计算得到A的逆矩阵的各个元素。

最终,我们可以得到A的逆矩阵的公式:
\[
(A^{-1})_{ij} = \begin{cases}
(-1)^{i-1} \frac{c_{i-1}}{\Delta_i}, & j = i-1 \\
\frac{d_i}{\Delta_i}, & j = i \\
(-1)^{i+1} \frac{b_i}{\Delta_i}, & j = i+1 \\
0, & \text{其他情况}
\end{cases}
\]
其中,$\Delta_i = a_i - c_{i-1} \frac{b_{i-1}}{d_{i-1}}$。

通过以上推导,我们可以得到三对角矩阵的逆矩阵的公式。

相关文档
最新文档