矩阵乘幂优化k阶常系数线性递推关系

合集下载

七、矩阵特征值的乘幂方法和反乘幂方法

七、矩阵特征值的乘幂方法和反乘幂方法

1、用幂法计算矩阵A的主特征值和对应的特征向量。

function [k,lambda,Vk,Wc]=mifa(A,V0,jd,max1)lambda=0;k=1;Wc=1;jd=jd*0.1;state=1;V=V0;while((k<=max1)&(state==1))Vk=A*V;[m j]=max(abs(Vk));mk=m*sign(Vk(j));tzw=abs(lambda-mk);Vk=(1/mk)*Vk;txw=norm(V-Vk);Wc=max(txw,tzw);V=Vk;lambda=mk;state=0;if(Wc>jd)state=1;endk=k+1;endif(Wc<=jd)disp('迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:')elsedisp('迭代次数k已经达到最大迭代次数max1,主特征值的迭代值lambda,主特征向量的迭代向量Vk,相邻两次迭代的误差Wc如下:')endVk=V;k=k-1;Wc;>> A=[1 -1;2 4];>> V0=[1,1]';>> [k,lambda,Vk,Wc]=mifa(A,V0,0.00001,100)迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k =33lambda =3.0000Vk =-0.50001.0000Wc =8.6919e-007>> [V,D]=eig(A)V =-0.7071 0.44720.7071 -0.8944D =2 00 3>> Dzd=max(diag(D))Dzd =3>> wuD=abs(Dzd-lambda)wuD =1.7384e-006>> wuV=V(:,2)./VkwuV =-0.8944-0.8944>> A=[1 2 3;2 1 3;3 3 6];>> V0=[1 1 1]';>> [k,lambda,Vk,Wc]=mifa(A,V0,0.00001,100)迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k =3lambda =9Vk =0.50000.50001.0000Wc =>> [V,D]=eig(A)V =0.7071 0.5774 0.4082-0.7071 0.5774 0.40820 -0.5774 0.8165D =-1.0000 0 00 -0.0000 00 0 9.0000>> Dzd=max(diag(D))Dzd =9>> wuD=abs(Dzd-lambda)wuD =>> wuV=V(:,2)./VkwuV =1.15471.1547-0.5774>> A=[1 2 2;1 -1 1;4 -12 1];>> V0=[1 1 1]';>> [k,lambda,Vk,Wc]=mifa(A,V0,0.00001,100)迭代次数k已经达到最大迭代次数max1,主特征值的迭代值lambda,主特征向量的迭代向量Vk,相邻两次迭代的误差Wc如下:k =100lambda =-0.0909Vk =1.00001.00001.0000Wc =1.9582>> [V,D]=eig(A)V =0.9045 -0.7255 -0.72550.3015 -0.2176 - 0.0725i -0.2176 + 0.0725i-0.3015 0.5804 - 0.2902i 0.5804 + 0.2902iD =1.0000 0 00 -0.0000 + 1.0000i 00 0 -0.0000 - 1.0000i>> Dzd=max(diag(D))Dzd =1.0000>> wuD=abs(Dzd-lambda)wuD =1.0909>> wuV=V(:,2)./VkwuV =-0.7255-0.2176 - 0.0725i0.5804 - 0.2902i(4)>> A=[-4 14 0;-5 13 0;-1 0 2];>> V0=[1 1 1]';>> [k,lambda,Vk,Wc]=mifa(A,V0,0.00001,100)迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k =22lambda =6.0000Vk =1.00000.7143-0.2500Wc =8.1744e-007>> [V,D]=eig(A)V =0 0.7974 0.66670 0.5696 0.33331.0000 -0.1994 -0.6667D =2.0000 0 00 6.0000 00 0 3.0000>> Dzd=max(diag(D))Dzd =6.0000>> wuD=abs(Dzd-lambda)wuD =8.1744e-007>> wuV=V(:,2)./VkwuV =0.79740.79740.79742、用原点位移反幂法计算矩阵A的特征值和对应的特征向量。

第七章求解递推关系2剖析

第七章求解递推关系2剖析
hn cos 3 3 sin 3
总结
对线性齐次递推式
hn a1hn1 a2hn2 ... ak hnk 0 (ak 0)
若 q1 , q2 , ... qt 是特征方程的全部互异的特征根,
qi是si重根(i 1,2,..., t ),则
其中
hn
H (1) n
H (2) n
...
特征根:
x3
齐次通解: Hn c3n 再求非齐特: Gn An B
代入递推式: Gn 3Gn1 4n
An B 3A(n 1) B 4n
(3A 4)n 3(B A)
比较系数:
A 3A 4 B 3(B A)
A 2 B 3
非齐次特解: Gn 2n 3
非齐特通解: hn c3n 2n 3
相应的特征方程为: xk a1 xk1 ... ak1 x ak 0
若 q 是特征方程的解, 则 qn 是齐次递推式的解.
性质4 对线性齐次递推式
hn a1hn1 a2hn2 ... ak hnk 0 (ak 0)
若 q1 , q2 , ... qk 是特征方程的k个不同的 特征根,则
解 特征方程: x2 4 x 4 0
x 22 0
二重特征根: x 2
通解:
hn c1 c2n2n
性质6 对线性齐次递推式
hn a1hn1 a2hn2 ... ak hnk 0 (ak 0)
若 q1,2 i e iθ
是 特 征 方 程 的 单 重 共 轭 复 根 , 则
比较n3系数: D D 1
求 hn hn-1 n3 , h0 0 的特解。
解法2 hn hn-1 n3
n
求和: hn h0 k 3 k 1 hn 13 23 33 ... n3

matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量

matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量

竭诚为您提供优质文档/双击可除matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量篇一:幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量数值计算解矩阵的按模最大最小特征值及对应的特征向量一.幂法1.幂法简介:当矩阵a满足一定条件时,在工程中可用幂法计算其主特征值(按模最大)及其特征向量。

矩阵a需要满足的条件为:(1)|1||2|...|n|0,i为a的特征值xn(2)存在n个线性无关的特征向量,设为x1,x2,...,1.1计算过程:n对任意向量x,有x(0)(0)iui,i不全为0,则有i1x(k1)ax(k)...ak1x(0)aαiuiαiλik1uik1i1i1nnnk12k1λ1u1()a2u2()anun11k111u1k112|越小时,收敛越快;且当k充分大时,有可见,当|1 (k1)k111u1x(k1)x(k1)(k)x1(k),对应的特征向量即是。

kxx11u12算法实现(1).输入矩阵a,初始向量x,误差限,最大迭代次数n(2).k1,0;y(k)x(k)max(abs(x(k))(3).计算xay,max(x);(4).若||,输出,y,否则,转(5)(5).若kn,置kk1,,转3,否则输出失败信息,停机.3matlab程序代码function[t,y]=lpowera,x0,eps,n)%t为所求特征值,y 是对应特征向量k=1;z=0;%z相当于y=x0./max(abs(x0));%规范化初始向量x=a*y;%迭代格式b=max(x);%b相当于ifabs(z-b) t=max(x);return;endwhileabs(z-b)>epsz=b;y=x./max(abs(x));x=a*y;b=max(x);end[m,index]=max(a(matlab用规范化乘幂法求以下矩阵的按模最大特征值及其特征向量)bs(x));%这两步保证取出来的按模最大特征值t=x(index);%是原值,而非其绝对值。

常系数线性齐次矩阵列及函数列递归关系的解法

常系数线性齐次矩阵列及函数列递归关系的解法
证明 用 As ij 表示矩阵 As 的位于第 i 行第 j 列位
是递归关系 (3)的通解,其中 C1 , C 2 , , C k 为任意 s t 常 数矩阵。 证明 用 As ij 表示矩阵 As 的位于第 i 行第 j 列位


置的元素。由(3),则有
置的元素。由(3),则有
An ij
a1 An 1 ij a 2 An 2 ij a k An k ij ,
An ij
a1 An 1 ij a 2 An 2 ij a k An k ij ,
i 1,2, , s; j 1,2, , t
x k a1 x k 1 a2 x k 2 ak 1 x ak 0

共 有 t 个 不 同 的 根 q1 , q 2 , , qt , 它 们 的 重 数 分 别 为
An ij C1 ij q1n C 2 ij q 2n C k ij q kn

它们的重数分别为
m1 , m2 , , mt ,
A0 C11 C 21 A1 C11 C12 C 21 2 2 A2 C11 2C12 C 21 2
则递归关系(4)的通解为:
f n (t ) F1 (n, t ) F2 (n, t ) Ft (n, t ) ,
n k
(3)
An C1 1n C2 2n 2 2n 3 2n 2 2 n 1 。 5 2 n 1 10 5 2 n 1 2 n 1 定理 2 若矩阵列递归关系(3)的特征方程(2)共有 t
个不同的根
定义 2

4.2_求解线性递推关系

4.2_求解线性递推关系

a2 = ������������,������ +2������������,������ +4������������,������ =-1,∴ ������������,������ =3, ������������,������ = −������
4.所得������������,������ ������������,������ ������������,������ 值代入第2步,得an =(1+3n-2n2)(-1)n
������
练习P190 2 c)d)e)f)g)
4.2.2 求解常系数线性齐次递推关系
特征根相等的情况:
定理2 c1 和c2 是实数, c2 ≠0。 r2 – c1r – c2 = 0 只有一个根:������������ 当 ������������
0
������������n
0
(n = 0,1,2,… ,������������ 和 ������������ 是常数)
练习P190 2 a)b)
4.2.2 求解常系数线性齐次递推关系
下面推广:求大于2阶的线性齐次递推关系的解。 它的特征根也有两种情况:不相等,有重根。
特征根不相等的情况:
定理3
c1, c2 ,…, ck是实数。 rk – c1rk−1 –⋯ – ck = 0有k个不等的根: r1, r2, …, rk。

n
(n = 0,1,2,… ,α1, α2,…, αk是常数)时,序列 {an} 是递推 关系an = c1an−1 + c2an−2 + ….. + ck an−k的解。
4.2.2 求解常系数线性齐次递推关系
例. 求递推关系an = 6an−1 -11an−2 + 6an−3的解,其中初 始值a0 = 2 , a1 = 5,a2 = 15 。 解:1.求其特征方程: an =rn代入,得rn –6rn-1+11rn-2 – 6rn-3 =0,除以rn-3得 r3 −6r2 +11r −6= 0.该方程的根为r=3 ,r=2和r=1 n 2.根据定理3公式 an = ������ 1 ������������ +������ 2������������ + ������ 3������������ 3.由已知的初始值 a0 = 2 , a1 = 5, a2 = 15代入上式得 a0 =������ 1 +������ 2 +������ 3 = 2 ,a1 =������ 1 +������������ 2 +3������ 3 =5, a2 =������ 1 +������������ 2 +9������ 3 =15,∴������ 1 =1,������2=-1, ������ 3 =2 4.所得������ 1 、������ 2 、������ 3值代入第2步,得an =1-2n + 2∙3n.

矩阵在常系数递推关系中的应用

矩阵在常系数递推关系中的应用

目录内容摘要 (1)关键词 (1)1引言 (1)1.1研究现状 (1)1.2研究意义 (2)1.3研究思路及研究方法 (2)2矩阵相关知识 (2)2.1矩阵的加法和数与矩阵的乘法 (2)2.2矩阵的乘法 (3)2.3矩阵对角化 (4)2.4可对角化矩阵的性质 (5)3矩阵在常系数线性递推关系中的应用 (7)3.1矩阵在常系数线性齐次递推关系(组)的应用 (8)3.1.1应用矩阵表示常系数线性齐次递推关系 (8)3.1.2矩阵方法求解常系数线性齐次递推关系 (9)3.2矩阵在常系数线性非齐次递推关系(组)的应用 (11)3.2.1应用矩阵表示常系数线性非齐次递推关系 (11)3.2.2矩阵方法求解常系数线性非齐次递推关系 (12)4应用矩阵方法求解常系数线性递推关系的优劣 (13)5结论 (15)参考文献 (16)Abstract (16)Key words (16)矩阵在常系数线性递推关系中的应用专业:数学与应用数学学号:201413008132 学生姓名:李成金指导老师:李勇刚职称:讲师【内容摘要】本文在前人的研究基础上,对应用矩阵的相关知识与常系数线性递推关系进行研究.首先,归纳出一些矩阵的相关知识.其次,应用矩阵来表示常系数线性递推关系.然后再应用矩阵求解常系数线性递推关系,介绍矩阵方法如何应用.最后,举出简单的递推关系的问题,用一般方法和矩阵方法分别对这些问题进行解答,并比较这些方法在解决实际问题中的优劣之处,提出一些自己的建议.将递推关系组与矩阵相结合,用矩阵对角化及特征值理论求解一类递推关系组,并给出通解.【关键词】矩阵的加法;可对角化;应用矩阵;递推关系;1 引言1.1 研究现状递推关系不仅对组合论有重要意义,而且几乎对一切数学分支都有重要意义.求解常系数线性递推关系的最有效的常见的方法是母函数法和特征根法,而本文将用矩阵进行求解,其基本思想为:对于某些递推关系定义的数列,根据矩阵特征值理论,将数列的一般项表为含有对角阵的矩阵乘法形式,在此基础上推出数列的通项公式.杨振生在《组合数学及其算法》[1]中提到常系数线性齐次递推关系以及常系数线性非齐次递推关系的求解,通过对不同形式的递推关系问题采用不同的方法进行求解归纳,以及简单的应用.岳嵘在《利用矩阵对角化求数列通项》[2]中提出利用矩阵求解具有特殊性质的数列的通项公式;尹飞,杨方,赵天玉在《用矩阵对角化求解一类递推关系组》[3]中把递推关系与矩阵相结合,用矩阵对角化来求解一类递推关系组;郑华盛,徐伟在《矩阵对角化的应用》[4]中利用矩阵对角化求解一类具有递推关系式的数列的通项与极限及一类三对角线行列式,这是矩阵在求解递推关系问题中知识的延拓与提升.通过文献整理可知,目前矩阵在常系数线性递推关系中的应用只是简单的利用矩阵对角化解决常系数线性递推关系问题.对矩阵方法在常系数线性递推关系中的应用没有具体说明该怎么用,为什么要这么用或是为什么要用矩阵方法来解决,只是草草地给出定义以及引理,并没有深入去研究应用矩阵解决常系数线性递推关系问题可以带来怎么样的方便,只是简单地说明了应用矩阵解递推关系问题的方便之处在于将常系数线性递推关系问题简单化、统一化,降低了思维难度.1.2 研究意义矩阵在求解一类具有递推关系式中占有非常重要的作用,通过矩阵的对角化将数列的一般项表示为含有对角阵的矩阵乘法形式,运用矩阵相关知识,并且结合数学思想与方法,并与高等数学中的基础知识融为一体,考查学生的数学思维能力及创新能力,提高学生的学习兴趣.矩阵在常系数线性递推关系中的相关研究是符合当代大学生的一项研究.研究的目的在于通过一系列研究得出矩阵对角化解法在某类递推关系中是具体优势的,让学生能够在解题中明白知识是环环相扣的.1.3 研究思路及研究方法本文研究的基本思路:首先收集资料进行综合分析,归纳整理,了解当前研究的背景及其现状.基于目前研究矩阵的现状,提出研究的意义.然后,对矩阵的相关知识进行分析.将矩阵知识与常系数线性递推关系进行结合,应用矩阵表示常系数线性递推关系;用满足矩阵可对角化的条件,证明常系数线性递推关系.由矩阵知识用到某些复杂的递推关系问题上,综合比较常规的解题方法总结出各自的优缺点以及适用情况.在掌握了矩阵方法解决常系数线性递推关系问题的一般步骤后,对矩阵方法应用于常系数线性递推关系进行进一步研究,分析得出用矩阵方法解题所适合的情况及其优劣之处.基于对文献资料的分析上,归纳出应用矩阵在求解常系数线性递推关系的技巧与方法.最后,对文章进行总结.本研究首先采用文献研究法,根据所研究的论文题目,通过查阅相关文献,从而能够正确的了解掌握所要研究的问题.在研究矩阵在常系数线性递推关系中的研究现状上运用文献研究法,能形成关于研究对象的印象.然后采用比较研究法,通过纵横比较,对矩阵方法与常规方法进行利弊分析,最后总结矩阵方法是否实用.2 矩阵相关知识2.1 矩阵的加法和数与矩阵的乘法定义2.1[5] 两个m 行n 列矩阵)(ij a A =,)(ij b B =对应位置元素相加得到的m 行n 列矩阵,称为矩阵A 与矩阵B 的和,记为B A +,即()()()n m ij ij n m ij n m ij b a b a B A ⨯⨯⨯+=+=+.例2.1.1 设矩阵⎪⎪⎪⎭⎫ ⎝⎛=321034022753A ,⎪⎪⎪⎭⎫ ⎝⎛=846075120231B ,求B A +.解:⎪⎪⎪⎭⎫ ⎝⎛++++++++++++=⎪⎪⎪⎭⎫ ⎝⎛+⎪⎪⎪⎭⎫ ⎝⎛=+834261007354102202273513846075120231321034022753B A⎪⎪⎪⎭⎫ ⎝⎛=11670109142984注1 只有对于两个行数、列数分别相等的矩阵(即同型矩阵),加减法运算才有意义,即加减运算是可行的.定义2.2 以数k 乘矩阵A 的每一个元素所得到的矩阵,称为数k 与矩阵A 的积,记作kA .如果()n m ij a A ⨯=,那么()()n m ij n m ij ka a k kA ⨯⨯==.例2.1.2 设⎪⎪⎪⎭⎫ ⎝⎛=321034022753A ,求A 2.解:⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯⨯=⎪⎪⎪⎭⎫ ⎝⎛=6420680441410632221202324202222272523232103402275322A2.2 矩阵的乘法定义2.3 设矩阵l m ik a A ⨯=)(的数列与矩阵n l kj b B ⨯=)(的行数相同,则由元素∑==+++=lk kj ik li il j i j i ij b a b a b a b a c 12211 ()n j m i ,2,1;,2,1==构成的m 行n 列矩阵()nm l k kj ik n m ij b a c C ⨯=⨯⎪⎭⎫ ⎝⎛==∑1 称为矩阵A 与矩阵B 的积,记为B A C ⋅=或AB .这个定义说明,如果矩阵A 的列数等于矩阵B 的行数,则A 与B 的乘积C 中第i 行第j 列的元素,等于矩阵A 的第i 行元素与矩阵B 的第j 列对应元素乘积的和,并且矩阵C 的行数等于矩阵A 的行数,矩阵C 的列数等于矩阵B 的列数.例2.2.1设矩阵⎪⎪⎭⎫ ⎝⎛-=1121A ,⎪⎪⎭⎫ ⎝⎛--=211321B ,计算AB . 解:AB 是32⨯的矩阵.设它为⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛--⎪⎪⎭⎫ ⎝⎛-=2322211312112113211121c c c c c c AB , 那么 ⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎭⎫ ⎝⎛--⎪⎪⎭⎫ ⎝⎛-=5121412113211121AB . 注2 (1)只有当左矩阵的列数等于右矩阵的行数时,两个矩阵才可以相乘;(2)乘积矩阵的行数等于左矩阵的行数,列数等于右矩阵的列数;(3)乘积矩阵的第i 行第j 列的元素等于左矩阵的第i 行与右矩阵的第j 列的对应元素的乘积之和.2.3 矩阵对角化定义2.4[6] 设A ,B 为n 阶矩阵,如果有n 阶可逆矩阵P 存在,使得B AP P =-1成立,则称矩阵A 与B 相似,记为B A ~.例2.3.1 ⎪⎪⎭⎫ ⎝⎛-=1513A ,⎪⎪⎭⎫ ⎝⎛-=2004B ,⎪⎪⎭⎫ ⎝⎛-=5111P 则 ⎪⎪⎪⎪⎭⎫ ⎝⎛-=-616161651P ,B AP P =⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎭⎫ ⎝⎛-⎪⎪⎭⎫ ⎝⎛-⎪⎪⎪⎪⎭⎫ ⎝⎛-=-200451111513616161651, 所以B A ~,即⎪⎪⎭⎫ ⎝⎛-⎪⎪⎭⎫ ⎝⎛-2004~1513.通俗地说就是经过矩阵的一系列行、列变换(初等变换)后,能得到一个只有主对角线上元素不全为零,而且其他位置全为零的另一个矩阵(这个矩阵称为对角阵),这个过程叫做矩阵的对角化,并不是所有的矩阵都能对角化.矩阵可对角化在求矩阵的高次幂中有重要作用,矩阵的对角化有多种判别方法.本节对矩阵对角化作一点讨论.例2.3.2 矩阵⎪⎪⎭⎫ ⎝⎛-=4132A 是否能对角化?如果能,将其对角化. 解:先求A 的特征值和特征向量.特征方程为()()0515641322=--=+-=--=-λλλλλλλA E 则A 的特征值为 11=λ,52=λ.把11=λ代入()0=-x A E λ,求得特征向量⎪⎪⎭⎫ ⎝⎛=131ξ; 把52=λ代入()0=-x A E λ,求得特征向量⎪⎪⎭⎫ ⎝⎛=132ξ. 由于特征值都是单根,所以矩阵A 是可对角化的.取 ()⎪⎪⎭⎫ ⎝⎛-==1113,21ξξP , 则⎪⎪⎭⎫ ⎝⎛-=-3111411P , 于是有 ⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛-⎪⎪⎭⎫ ⎝⎛--⎪⎪⎭⎫ ⎝⎛-=-5001311341323111411AP P . 注3 (1)当矩阵A 的特征值全部是单根时,A 是可对角化的.(2)当矩阵A 的特征值是重根时,只要每一个重根的特征值所对应的全部线性无关的特征向量的个数都等于特征值的重数,则A 是可对角化的;当有一个重根的特征值所对应的全部线性无关的特征向量的个数小于特征值的重数时,则A 不能对角化.引理 2.3.1 设n P B A ⨯∈n ,,且BA AB B B A A ===,,22,则存在可逆矩阵P ,使B A ,可同时对角化.引理 2.3.2 如果n n n P diag P ⨯∈=),,,(21λλλ 有n 个互不相同的对角元素,对某个n n P B ⨯∈,则BP PB =当且仅当B 本身是对角阵.2.4 可对角化矩阵的性质定理 2.4.1 设A 是数域P 上的一个可对角化的n 阶矩阵,t λλλ,,,21 是A 的互不相同的特征根,则存在n 阶矩阵t A A A ,,,21 ,使t t A A A A λλλ+++= 2211)1;E A A A t =+++ 21)2,E 为单位矩阵;i i A A =23);0)4=j i A A ,j i ≠,0为零矩阵,其中1-=T TB A i i .证明1)由A 可对角化,则存在P 上的一个n 阶可逆矩阵T ,使得B AT T t =⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=-λλλ000000000000211 其中i λ的重数为i S ,由于⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛++⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=100000000000010000000000000000000000000000000000000000100000000000011 t B λλ 既t t B B B λλλ+++ 2211,所以122111)(--+++==T B B B T TBT A t t λλλ1122111---+++=T B T T B T T B T t t λλλ)()(1111--++=T TB T TB t t λλ记t t A A A λλλ+++ 2211,其中1-=T TB A i故t t A A A A λλλ+++= 2211.2)由每个i B 为对角形幂等阵,则E B B B t =+++ 21,E TET T B B B T T TB T TB T TB A A A t t t ==+++=+++=+++-----11211121121)( , 故E A A A t =+++ 21.3)由1-=T TB A i i ,则1111))((----==T TB T TB T TB T TB A i i i i i1121---===T TB T TB T B TB i i i ii A =故i i A A =2.4)当j i ≠时,0))((11111====-----T B TB T TB T TB T TB T TB A A j i j i j i i i ;0为零矩阵 故0=j i A A ,j i ≠.3 矩阵在常系数线性递推关系中的应用常系数线性递推关系分为常系数线性齐次递推关系和常系数线性非齐次递推关系两种情况.定义3.1 常系数线性齐次递推关系,其形如()()()()r n H a n H a n H a n H r -++-+-= 2121或r n r n n n H a H a H a H ---+++= 2211这里r a a a ,,,21 全部是常数.例如2123--+=n n n H H H就是一个常系数线性齐次递推关系.定义3.2 常系数线性非齐次递推关系,其形如()n f H c H c H c r n r n n =+++-- 110这里r c c c ,,,10 全部是常数.例如321+=-n n H H31+-=-n H H n n都是常系数线性非齐次递推关系.那么对于非常系数非线性递推关系的求解一般是非常困难的,目前的求解方法还不够成熟,因此我们只考虑求解常系数线性齐次递推关系以及常系数线性非齐次递推关系这两类特殊的递推关系.3.1 矩阵在常系数线性齐次递推关系(组)的应用3.1.1 应用矩阵表示常系数线性齐次递推关系递推数列形如[7]k n k n n n a c a c a c a ---+++= 2211),2,1,0( ++=≠k k n c k对此情形的数列,通过观察等式,可等价给出方程组⎪⎪⎩⎪⎪⎨⎧==+++=+-+------,,,11112211k n k n n n k n k n n n a a a a a c a c a c a 该方程组可表示为矩阵形式⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛---+--k n n n k k n n n a a a c c c a a a 2121110100001.(1)例3.1.1[8]构造数列,57,31,17,9,5,3,1,1,1且满足递推关系 ),2,1(1210112 =⎩⎨⎧===++=-++i a a a a a a a i i i i 现在考虑将数列采用矩阵的形式表示.因为 ),2,1()1,1,1(11112=⎪⎪⎪⎭⎫ ⎝⎛=++=-+-++i a a a a a a a i i i i i i i),2,1()0,0,1(111 =⎪⎪⎪⎭⎫ ⎝⎛=-++i a a a a i i i i ),2,1()0,1,0(11 =⎪⎪⎪⎭⎫ ⎝⎛=-+i a a a a i i i i所以 ),2,1(0100011111112 =⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛-+++i a a a a a a i i i i i i3.1.2 矩阵方法求解常系数线性齐次递推关系令⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=+--+-111k n n n k n a a a A ,⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=----k n n n k n a a a A 21,⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=010000121 k c c c A , 则式(1)可以写成k n k n AA A -+-=1.由该式递推得11A A AA A k n k n k n --+-=== .那么求n a 的问题就转为求矩阵1+-k n A ,也就是求解矩阵k n A -.若矩阵A 可以对角化,即存在可逆矩阵P ,使得B AP P =-1为对角形矩阵,则问题变得更方便求解.例3.1.2 已知数列{}n a 满足n n n a a a a a 23,3,11221-===++.求数列{}n a 的通项公式.解:由原数列可得 ⎩⎨⎧=-=++++,,231112n n n n n a a a a a 也即 ⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡+++1211201230123a a a a a a nn n n n . 可令 ⎥⎦⎤⎢⎣⎡-=0123A , 则存在 ⎥⎦⎤⎢⎣⎡=1112T , 使得 P AT T =⎥⎦⎤⎢⎣⎡=-10021. 从而 ⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡++-++12121212112n n n n n a a T TP a a , 综上所述 *)(12N n a n n ∈-=.小结:对于该题的求解,我们可以发现矩阵方法解决此类型题比较简便,首先我们应用矩阵方法求出矩阵A ,进而求出可逆矩阵T ,在求解矩阵T 的逆矩阵时,使用矩阵的乘法需要细心,避免求解错误,运用矩阵方法可避免了构造新的数列难点,更突出了矩阵方法方便、快捷的优点.例3.1.3 有递推关系,1,1,1021==+=--F F F F F n n n ,4,3,2=n 求解这个常系数线性齐次递推关系.解:该递推关系的递推定义方式可以看成是由11++=n n F F 与n n n F F F +=++12的联立方程组,作矩阵向量),(1+=n n n F F v ,则上述联立方程组可表为:,1,0,11101=⎪⎪⎭⎫ ⎝⎛=+n v v n n ,记⎪⎪⎭⎫ ⎝⎛=1110A ,则A 的特征多项式1)det(2--=-λλλI A ,故A 的特征根为 2511+=λ,2512-=λ. 故A 可对角化,令⎪⎪⎭⎫ ⎝⎛=2111λλQ ,⎪⎪⎭⎫ ⎝⎛---=-11112211λλλλQ ,可得 12100-⎪⎪⎭⎫ ⎝⎛=Q Q A n n n λλ. 又由于n n n A v A v v 01===- ,故有:()()1211211211510010)(++-+--=⎪⎪⎭⎫ ⎝⎛==⋅n n n n n n n n n Q Q v F F λλλλλλ, 可得 ()nn n F 2151λλ-= 即 ⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛--⎪⎪⎭⎫ ⎝⎛+=n n n F 25125151. 小结:类似上题的斐波那契数列也是一类常系数线性齐次递推关系,在求解时用矩阵的加减法求出nn 21λλ-,进而利用矩阵对角化方法,将递推关系的定义方式看成联立的方程组,作出矩阵向量,避免了母函数构造新数列的复杂操作,使得求解方便快捷.3.2 矩阵在常系数线性非齐次递推关系(组)的应用3.2.1 应用矩阵表示常系数线性非齐次递推关系情况3.2.1 递推数列形如n n n qb pa a +=+1,由此数列可得⎩⎨⎧⨯=+=-+,,11n n n n n b b b qb pa a 写成矩阵形式表示为⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡-+110n n n n b a b qb p b a情况3.2.2 双递推数列形如⎩⎨⎧++=++=++,,2111ααn n n n n n db ca b bb aa a (21,αα为常数). 对此数列,可写成矩阵形式⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡==⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+++110011001001212111b a d c b a b a d c b a b a n n n n n αααα . 因此原递推关系问题转化成求解幂矩阵问题,从而可求出数列{}n a 和{}n b 的通项公式.3.2.2 矩阵方法求解常系数线性非齐次递推关系对于递推数列n n n qb pa a +=+1将其写成矩阵形式⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡-+110n n n n b a b qb p b a进而对其求解即⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡==⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡---+1000111211a b qb p b a b qb p b a b qb p b a nn n n n n n . 由此原问题转化成求矩阵运算,进而可求出通项公式n a .例3.2.1 设数列满足,23,21211-+⨯=-=n n n a a a 求数列{}n a 的通项公式.解:将递推关系12123-+⨯=-n n n a a 变形后写成矩阵形式.14061440614111⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡-+a a a nn n n n 易求得矩阵 ⎥⎦⎤⎢⎣⎡=4061A 的特征根和对应的一个特征向量分别为,12,4,01,12211⎥⎦⎤⎢⎣⎡==⎥⎦⎤⎢⎣⎡==αλαλ 则存在 ⎥⎦⎤⎢⎣⎡=1021T 使得 ,40011P AT T =⎥⎦⎤⎢⎣⎡=-所以 ,421241211⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡+-+n n n n n T TP a从而可知 .212-=n n a小结:这个问题的正常思路是通过构造{}122--n n a 型的常数列来求解,但是却不容易易想得到,应用矩阵方法可以避开这些难点,因此问题转化成求解矩阵的问题. 例 3.2.2 设数列{}n a 和{}n b 满足 ,0,100==b a ),2,1,0(,478,36711 =⎩⎨⎧-+=-+=++n b a b b a a n n n n n n .求证:n a 是完全平方数.解:有已知条件容易推知 .49,421==a a记矩阵 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=100478367A . 易求得矩阵A 的特征根为 ,1,347,347321=-=+=λλλ则存在可逆矩阵P 使得 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-+=-10003470003471AP P .于是可由 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-+=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-++++1011000347000347101100478367111111P P b a n n n n . 求得n a 的通项公式形如 ,)347()347(321k k k a n n n +-++=将210,,a a a 代入上式可求得 ,21,41321===k k k 于是有 []2)32()32(4121)347(41)347(41n n n n n a -++=+-++=. 小结:双递推数列问题在使用一般方法解决的过程中较为繁杂,类似此题,需要构造新的数列再使用特征方程的方法求解.若用矩阵方法求解,可达到事半功倍的效果.4 应用矩阵方法求解常系数线性递推关系的优劣求解常系数线性递推关系最有效的常见的方法是母函数法和特征根法,而本文用矩阵方法进行求解,那么矩阵方法又存在怎样的优势以及局限性,以下对三种方法进行一下讨论.例4.1.1 设边界条件1,010==h h ,24-=n n h h , 4,3,2=n ,求解该递推关系.解法一:(母函数法)设() +++++=n n x h x h x h h x A 22110则存在 ∑∑∞=-∞==2224n n n n nn x h x h 所以 ()∑∞=--=--2222104n n n x h xx h h x A 易求得 ()()()⎪⎭⎫ ⎝⎛+--=-+=-=x x x x x xx x A 211211412121412 又有 x x x x n -=+++++1112 所以 ()n n n h 241241--⋅= 解法二:(特征根法)该递推关系的特征方程为: 0)2)(2(042=+-⇒=-x x x , 所以 2,221-==x x ,从而 n n n c c h )2(221-+= , 3,2,1=n又由1,010==h h 可得 ⎩⎨⎧=+=-+1)2(20)2(212110201c c c c 解得 41,4121-==c c 因此 n n n h )2(41241--⋅=. 解法三:(矩阵方法)由原数列可得⎩⎨⎧==---1124n n n n h h h h , 也即 ⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡---n nn n n n h h h h h h 121101400140, 可令 ⎥⎦⎤⎢⎣⎡=0140A , 则存在 ⎥⎦⎤⎢⎣⎡-=1122T ,使得 P AT T =⎥⎦⎤⎢⎣⎡-=-20021, 从而 ()()⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⋅-⋅-⋅-⋅=⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡----110111241241241241n n n n n n n h h T TP h h 所以 ()n n n h 241241-⋅-⋅=. 小结:母函数法需要构造新的数列,操作比较复杂,但是能够有效的解决递推关系问题.特征根法求解便捷,类似这一道题,如果在遇到有重根的问题时会对求解递推关系带来不便.矩阵方法求解递推关系时,如果能够将递推关系写成矩阵形式,并且该矩阵能够对角化,进而求解幂矩阵,那么求解递推关系就很方便了.例4.2.1 设边界条件0,110=-=h h ,21168---=n n n h h h , 4,3,2=n ,求该递推关系. 解法一:(母函数法)设 +++++=n n x h x h x h h x A 2210)(则存在 n n n nn n n n n x h x h x h 22212168-∞=∞=-∞=∑∑∑-= 所以 222212110168)(-∞=--∞=-∑∑-=--n n n n n n x h x xh x h h x A易求得 2222)41(1)41(8)41(18168118)(x x x x x x x x x A ---=--=+-+= 又有 2132)1(1)1(4321x x n nx x x x n n -=+++++++- 所以 n n n n n x 4)1(481⋅+-⋅⋅=-综上所述 n n n h 4)1(-= .解法二:(特征根法)该递推关系的特征方程为 01682=+-x x提公因式得 ()()044=--x x解得 4,421==x x所以 n n n n c c h 4421+=因为 0,110=-=h h所以 ⎩⎨⎧=+-=0441211c c c所以 1,121=-=c c综上所述 ()n n n n n n h 4144-=+-=.解法三:(矩阵方法)将递推关系21168---=n n n h h h 变形后写为矩阵形式⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡---012110116801168h h h h h h n n n n n易求得矩阵⎥⎦⎤⎢⎣⎡-=01168A 的特征根和对应的一个特征向量分别为 ,28-,4,14-,42211⎪⎪⎭⎫ ⎝⎛==⎪⎪⎭⎫ ⎝⎛==αλαλ 因为该矩阵的特征方程有相同的特征根并且特征向量线性相关,因此无法求出对角化矩阵,无法应用矩阵方法求解.小结:母函数方法能够有效求解递推关系,但是需要构造新的数列,操作比较复杂,特征根法求解便捷,但是如果在遇到有重根的问题时会对求解递推关系带来不便.而矩阵方法则可避免重新构造数列,但是类似上题,通过变形求解得出两个特征向量线性相关,无法求出对角化矩阵,因此应用矩阵方法求解递推关系具有一定的局限性.5 结论矩阵的对角化将数列的一般项表示为含有对角阵的矩阵乘法形式,避免了类似母函数一样需要构造新的数列,解决问题时较为方便快捷,至于特征根法,对于有重根的特征方程求解不方便,我们利用矩阵方法时,列出矩阵,求出矩阵A 可对角化,再得出可逆矩阵T ,进而求出幂矩阵,最终求解出递推关系式.本文在研究中也存在很多不足之处:对于某些方阵不可对角化时,矩阵方法存在很大的局限性;对于阶数较大的方阵不便于求解.并且由于研究水平能力有限等原因,因此,本文对矩阵方法应用于常系数线性递推关系中只是初步的研究,实践中还有需进一步验证和总结.【参考文献】[1]杨振生.组合数学及其算法[M].合肥:中国科学科技大学出版社,1997.110-124.[2]岳嵘. 利用矩阵对角化求数列通项[J]. 高等数学研究, 2007, 10(4):66-68.[3]尹飞,杨方,赵天玉.用矩阵对角化求解一类递推关系组[J].科学与财富, 2010(1):37-38.[4]郑华盛, 徐伟. 矩阵对角化方法的应用[J]. 高等数学研究, 2008, 11(3):58-64.[5]赵树嫄.线性代数[M].北京:中国人民大学出版社,2017.45-50.[6]徐爱华.线性代数[M].上海:同济大学出版社,2015.102-104.[7]龚丽燕, 陈益智, 蔡俊树. 递推数列通项的矩阵解法[J]. 高等数学研究, 2014(5):3-6.[8]郑长波. 利用矩阵特征值理论求解递推关系[J]. 沈阳师范大学学报(自然科学版), 2011, 29(3):347-351.Application of Matrix in Linear Recursive relation with constantcoefficients[Abstract] On the basis of previous studies, this paper studies the relationship between the relative knowledge of applied matrices and linear recursion of constant coefficients. Firstly, some related knowledge of matrices is summarized. The matrix is used to express the linear recursion relation of constant coefficient, then the matrix is used to solve the linear recursive relation of constant coefficient, and how to apply the matrix method is introduced. Finally, the problem of simple recursive relation is given. The general method and matrix method are used to solve these problems, and the advantages and disadvantages of these methods in solving practical problems are compared, and some suggestions are put forward. To solve the problem of matrix diagonalization and eigenvalue theory Class recursive relation group, and give the general solution.[Key words] Keywords addition of matrix; diagonalization; application matrix; recursive relation。

幂矩阵的计算方法

幂矩阵的计算方法
在网络分析中,幂矩阵的计算方法也被广泛应用。例如,我们可以使用幂矩阵的计算方法来计算网络节点的权重。具体来说,我们可以定义一个邻接矩阵,其中矩阵的元素a[i][j]表示从节点i到节点j的连接强度。然后,我们可以计算邻接矩阵的m次幂矩阵,其中m表示节点的权重。通过这种方式,我们可以快速有效地计算出网络中节点的权重,从而进行进一步的分析和处理。
幂矩阵的计算方法
幂矩阵是一种特殊的矩阵乘法,在计算机科学和数学领域被广泛应用。它可以用于解决一些重要的问题,比如图论中的路径计算、网络分析中的节点权重计算等。
幂矩阵的计算方法是通过矩阵的乘法运算来实现的。假设我们有一个n阶矩阵A,我们想要计算A的m次幂矩阵,也就是A的m-1次幂矩阵与A的乘积。
我们需要定义矩阵的乘法运算。矩阵的乘法运算是将两个矩阵的对应们的乘积C可以表示为C = AB,其中C的元素c[i][j]的计算方式为c[i][j] = ∑a[i][k] * b[k][j],其中k的范围是从1到n。
幂矩阵的计算方法在实际应用中有广泛的用途。例如,在图论中,我们可以使用幂矩阵的计算方法来计算图中两个节点之间的路径数量。具体来说,我们可以定义一个邻接矩阵,其中矩阵的元素a[i][j]表示从节点i到节点j的边的数量。然后,我们可以计算邻接矩阵的m次幂矩阵,其中m表示两个节点之间的最短路径的长度。通过这种方式,我们可以快速有效地计算出图中任意两个节点之间的最短路径。
在计算幂矩阵的过程中,我们需要进行多次矩阵乘法运算。假设我们要计算矩阵A的m次幂矩阵,我们可以使用迭代的方法来实现。具体来说,我们首先将A赋值给一个临时矩阵B,然后进行以下操作m-1次:将B与A相乘,将结果赋值给B。最后,B就是A的m次幂矩阵。
需要注意的是,幂矩阵的计算方法要求矩阵A是一个方阵,也就是行数和列数相等。否则,矩阵的乘法运算无法进行。

矩阵乘法的优化

矩阵乘法的优化

>才智/207分析方法,分别a/b、c/a、t/a、d/l、h/a 对最大翘曲应力精确度的影响。

限于文章篇幅有限,本文仅讨论h/a 对求最大翘曲应力精度的的影响。

h/a 的变化情况可以直接反映连梁的数量以及杆件有效高度Z 的变化情况。

取a/b=1.30,c/a=0.30,t/a=0.06,并固定三者数值不变。

然后分别取h/a=0.60、1.0、1.50、2.0、3.0。

即截面尺寸为:a=10.0cm,b=8.0cm,c=2.50cm,壁厚t=0.50cm,杆件材料的弹性模量E=2.50×105N/cm2,泊松比V= V=0.1667,杆件顶端所受到的几种扭矩大小M=2010N.cm。

对其最大翘曲应力进行计算,其中有限元计算结果同理论解的比较见表2。

表2有限元解同理论解的比较结果从表2中可以看出,当h/a 的取值越小时,本文采用的连续法所得到的结果越接近理论值,随着h/a 比值的逐渐增大,有限元解同理论解之间的相对误差逐渐增大。

2 结语本文以高层建筑筒体结构约束扭转为研究对象,较为详细的分析了连梁对开口薄壁筒体约束扭转的影响,最后,探讨了连续化方法求最大翘曲应力时对精确度的影响关系。

希望本文的提出能起到抛砖引玉的作用,其他研究人员继续这方面的研究,为取得更大的研究成果而不懈努力。

参考文献:[1] 往荫长. 高层建筑筒体结构的计算,科学出版社,1988.[2] 鲍永方. 薄壁结构的约束扭转分析[D]. 北京农业工程大学学报,北京,1996.矩阵乘法的优化谢林川 武警警官学院电子技术系 610041在科学与工程计算的许多问题中经常需要进行矩阵计算。

矩阵乘、求解线性方程组和矩阵特征值问题是矩阵计算最基本的内核。

许多先进的计算机上都配有高效的串行程序库。

为了在并行计算环境上实现矩阵乘积,研究并行算法是非常必要的。

本文主要讲述了如何在多核处理器上对矩阵乘法进行优化。

1. 矩阵乘法串行算法矩阵乘法在实现上比较简单,可以通过3层循环得到。

方阵高次幂的若干算法 毕业论文

方阵高次幂的若干算法  毕业论文

方阵高次幂的若干算法毕业论文摘要矩阵算法是现代数学和计算机领域中重要的研究方向之一。

本文主要讨论方阵高次幂的计算问题,并介绍了一些相关的算法和优化方法。

首先介绍了传统的幂方法和其收敛速度较慢的问题,然后介绍了快速幂方法和其应用到顺序线性代数中的优化。

接着介绍了分治法和递推法等高效算法,最后讨论了在实际应用中可能遇到的一些问题及其解决方法。

关键词:方阵高次幂;幂方法;快速幂方法;分治法;递推法AbstractMatrix algorithm is one of the important research directions in modern mathematics and computer fields. This paper mainly discusses the calculation of higher powers of square matrices, and introduces some related algorithms and optimization methods. Firstly, the traditional power method and its slow convergence rate are introduced. Then the fast power method and its optimization in sequential linear algebra are introduced. Next, efficient algorithms such as divide-and-conquer and recurrence are introduced. Finally, some problems that may be encountered in practical applications and their solutions are discussed.Keywords: higher powers of square matrices; power method; fast power method; divide-and-conquer; recurrence1. 引言方阵高次幂的计算在实际工程和科学研究中具有广泛的应用。

线性变换、二阶矩阵及其乘法

线性变换、二阶矩阵及其乘法
单击此处添加文本具体内容,简明扼要地阐述你的观点
202X
个人报告总结模板
知识点
考纲下载
考情上线
线性变换、二阶矩阵及其乘法
1.了解二阶矩阵的概念. 2.二阶矩阵与平面向量的乘法、平面图形 的变换. (1)了解矩阵与向量的乘法的意义,会用映射与 变换的观点看待二阶矩阵与平面向量的乘法. (2)理解矩阵变换把平面上的直线变成直线(或点), 即A(λ1α+λ2β)=λ1Aα+λ2Aβ. (3)了解几种常见的平面变换:恒等变换、伸缩变 换、反射变换、旋转变换、投影变换、切变变 换. 3.变换的复合——二阶矩阵的乘法 (1)了解矩阵与矩阵的乘法的意义. (2)理解矩阵乘法不满足交换律. (3)会验证二阶矩阵乘法满足结合律. (4)理解矩阵 乘法不满足消去律.
因为矩阵M表示反射变换,矩阵N表示旋转变换,所以变换后所得图形与原图形全等.
解:在矩阵N= 的作用下,一个图形变换为其绕原点逆时针旋转90°得到的图形,在矩阵M= 的作用下,一个图形变换为与之关于直线y=x对称的图形.因此△ABC在矩阵MN作用下变换所得到的图形与△ABC全等,从而其面积等于△ABC的面积,即为1.
几种特殊线性变换
旋转变换 直线坐标系xOy内的每个点绕原点O按逆时针方向旋 转α角的旋转变换的坐标变换公式是 对应的二阶矩阵为 .
平面上任意一点P对应到它关于直线l的对称点P′的线 性变换叫做关于直线l的反射.
在直角坐标系xOy内将每个点的横坐标变为原来的k1 倍,纵坐标变为原来的k2倍,其中k1,k2为非零常数, 这样的几何变换为伸缩变换.
03
点A′(4,5),点B(3,-1)变成了点B′(5,1). 求矩阵M; 若在矩阵M的变换作用下,点C(x,0)变成了点C′(4,

牛顿线性递推公式

牛顿线性递推公式

牛顿线性递推公式牛顿线性递推公式是一种用于求解非线性系统中最小损失函数的最优化算法。

它被广泛应用于机器学习中,主要用于求解模型参数。

该方法在实际应用中是采用随机梯度下降法和牛顿法等结合使用,其速度比梯度下降法更快,可以达到相对更佳的效果。

一、牛顿线性递推公式的基本原理牛顿线性递推公式的基本原理是基于牛顿法。

牛顿法是基于梯度下降法的一种优化算法,它通过利用目标函数的二阶导数信息来计算搜索方向,从而提升优化的速度和精度。

二、牛顿线性递推公式的具体形式牛顿线性递推公式是基于批量随机梯度下降法(Batch Random Gradient Descent, BRGD)来求解模型参数。

循环更新模型参数,具体公式为:θ:=θ-μH^-1∇L(θ)其中:μ:学习率H:损失函数的Hessian矩阵∇L(θ):损失函数关于θ的梯度三、优缺点1、优点:(1)优化速度快:牛顿线性递推公式能充分利用计算机计算能力,比梯度下降法更快,在优化过程中能提高速度和精度。

(2)收敛性更好:由于使用了目标函数的二阶信息,在精度要求比较高的情况下,可以达到更小损失值。

2、缺点:(1)比较耗费计算资源:由于使用Hessian矩阵,需要对矩阵进行求逆和计算,耗费计算资源较多。

(2)优化的初始步长不太容易求解:牛顿线性递推公式直接迭代模型参数,因此初始步长不太容易计算,而初始步长过大或过小都会影响优化的效率。

四、应用牛顿线性递推公式在机器学习领域被广泛应用,如:(1)在统计自然语言处理(NLP)领域,牛顿线性递推公式可用于计算最大熵模型中的参数。

(2)在机器视觉领域,牛顿线性递推公式可用于几何变换算法,以及多视图三维重建等算法中。

(3)在推荐系统领域,牛顿线性递推公式可用于求解用户和商品的特征向量,从而实现推荐功能。

(4)在深度学习领域,牛顿线性递推公式可用于求解多层神经网络的参数,也可用于求解线性SVM模型等。

矩阵乘法递推的优化

矩阵乘法递推的优化

a2 0 1 0 . . . 0 0
a3 0 0 1 . . . 0 0
··· ··· ··· ··· .. . ··· ···
ak −1 0 0 0 . . . 1 0
ak 0 0 0 . . . 0 0
hk−1 hk−2 hk−3 . . X= . h2 h1 h0 1 (k+1)×1 a1 1 0 Y = MX = 0 . . . 0 0 a2 0 1 0 . . . 0 0 a3 0 0 1 . . . 0 0 ··· ··· ··· ··· .. . ··· ··· ak −1 0 0 0 . . . 1 0 ak 0 0 0 . . . 0 0 h h b n k −1 k hk−2 hk−1 0 hk−3 hk−2 0 . . . . 0 . = . h2 h3 . . . h2 h1 0 h0 h1 1 1 1
k ∑ i=1
ai · pn + bn
2 利用矩阵乘法计算递推数列的某一项
2.1 构造递推矩阵
设数列 {hn } 满足 k 阶常系数线性递推关系: hn = a1 hn−1 + a2 hn−2 + a3 hn−3 + · · · + ak hn−k 构造矩阵 a1 1 0 M=0 . . . 0 0 与初始值向量 a2 0 1 0 . . . 0 0 a3 0 0 1 . . . 0 0 ··· ··· ··· ··· .. . ··· ··· ak −2 0 0 0 . . . 1 0 ak −1 0 0 0 . . . 0 1 ak 0 0 0 . . . 0 0 k×k

矩阵快速幂和矩阵乘法

矩阵快速幂和矩阵乘法

矩阵快速幂和矩阵乘法矩阵并不是⼀个数⽽是可以表⽰⼀个⽐较复杂的模型(集合),⽽集合⾥封装着任意类型的值,⽽矩阵乘法则是⼀个⽐较重要的⼀个运算⽅式。

先说⼀下矩阵乘法的定义:矩阵乘以矩阵的时候。

这个结果是怎么算出来的?也就是说,结果矩阵第m⾏与第n列交叉位置的那个值,等于第⼀个矩阵第m⾏与第⼆个矩阵第n列,对应位置的每个值的乘积之和。

公式则是:其中c ij为A的第i⾏与B的第j列对应乘积的和,即:C ij =Σa ik*b kj(1<=i<=n,1<=j<=n,1<=k<=n)。

Example(线性⽅程式)矩阵的最初⽬的,只是为线性⽅程组提供⼀个简写形式。

附矩阵乘法的代码const int N=100;int c[N][N]; //c是最终的矩阵void multi(int a[][N],int b[][N],int n){memset(c,0,sizeof c);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++) for(int k=1;k<=n;k++) c[i][j]+=a[i][k]*b[k][j];}快速幂求幂时我们常常会因结果太⼤⽽导致速度很慢,这时候我们就需要运⽤倍增的思想特殊的乘法应运⽽⽣————快速幂。

举个例⼦,如果求a10,我们需要求⼗次,⽽如果我们⽤了快速幂就可以把a10转变为⼆进制的形式从⽽加快运算速度。

⽽我们⼜知道a i=(a i/2)2因此就有如下代码总的来说就是把指数变⼩,底数变⼤,让运算次数变⼩的过程。

(感觉我就这句话写的有⽤int fastpow(int a,int i){int ans=1;//ans是最后的结果int res=a;//res就相当于上⽂中的a的i-1次⽅。

while (i>0){if (i%2==1)//因为当I是奇数的时候你就不能再把它分成2进制啦ans=ans*res;//这时候就将res乘上去res=res*res;//底数不停变⼤i=i/2;指数缩⼩}return ans;}接下来就是矩阵快速幂了。

3.2常系数线性齐次递推关系

3.2常系数线性齐次递推关系

2
也都是递推关系(3.2.1)的解。
3.2.4 递推(3.2.1)特征根互不同
特征方程(3.2.2)有k个不同的根x1,x2,…,xk 递推关系(3.2.1)的通解 an=A1x1n+A2x2n+…+Akxkn 共轭复根x1=peiө,x2=pe-iө 递推关系(3.2.1)的通解an=A1pncosnө + A2pnsinnө +A3x3n +…+Akxkn
定理3.2.3 如果特征方程(3.2.2)有k 个不同的根x1,x2,…,xk (可有共轭虚 x ( 根),则 an=A1x1n+A2x2n+…+Akxkn 是递推关系(3.2.1)的通解,其中 A1,A2,…,Ak为任意的常数。
3.2.4 递推(3.2.1)特征根互不同
例3.2.1 解递归 f 0=0, 1=1 f
3.2.4 递推(3.2.1)特征根互不同
把f0=0, f1=1代入通解得
A1 + A 2 = 0 1 + 5 1− 5 A1 + 2 A 2 = 1 2
5 A1 = 5 =− 5 A2 5
因此所求递归的解为
5 1+ 5 5 1− 5 fn= − 5 5 2 2
定理3.2.5 设x1,x2,…xt-1,xt(t<k)是特征方程 (3.2.2)的t个不同根,且xt为m(m=k-t+1) 重根,则 an=A1x1n+A2x2n+…+At-1xt-1n +n0Atxtn+n1At+1xt+1n+ …+nm-1Akxkn 是递推关系(3.2.1)的通解,其中A1,A2,…,Ak 为任意的常数。
3.3.5 递推(3.2.1)特征根有重根
例3.2.3 解递归 a 0=0,a =1, 2=2, 3=3 a a

矩阵的应用PPT优质资料

矩阵的应用PPT优质资料

n n-1 n-1
Fibonacci序列的矩阵求法
Fibonacci序列的矩阵求法
求上述方程的k个根(特征根),得:
通解可以用前面的方法求得,特解一般需要猜测得到。
考虑1×3的矩阵[Fn-1,Fn-2,1]
能否找到一个2×2的矩阵A,使得
常系数线性非齐次递推关系
如果Fn=Fn-1+Fn-2+1,如何求得Fn?
非齐次递推关系的特解
经验性的特解列表 若没有重根( ri ≠ rj , i ≠ j ),则递推关系的解为:
则称{hn}满足常系数线性齐次递推关系
考虑1×2的矩阵[Fn-1,Fn-2]
求解常系数线性齐次递推关系 Fibonacci序列的矩阵求法
bn
hn
下面不加证明地给出一般常系数线性齐次递推关系的解法
但是对于我们来说,它的价值却不像数学 中那样大
它有如下局限性:
1、需要求解k阶方程 2、求出的k个根不一定都是实根 3、精度误差 4、……
矩阵的乘法
设 A=(aij)是一个m×s的矩阵,B=(bij)是 一个s×n的矩阵,即A的列数等于B的行 数,规定A与B的乘积C=AB是一个m×n 的矩阵,且有: 其第i行第j列的元素Cij等于A的第i行各元 素与B的第j列对应元素的乘积的和
常系数线性齐次递推关系
若数列a1,a2,…,ak均为常数,bn=0 则称{hn}满足常系数线性齐次递推关系 竞赛中经常遇到求解常系数线性齐次递推
关系的问题 下面不加证明地给出一般常系数线性齐次
递推关系的解法 下面以求解Fibonacci数列Fn为例说明此
解法
求解常系数线性齐次递推关系
将递推关系写成:
hn + a1hn-1 + a2hn-2 + … + akhn-k =0 的形式

线性常系数递推关系43页PPT

线性常系数递推关系43页PPT

Байду номын сангаас
线性常系数递推关系
56、极端的法规,就是极端的不公。 ——西 塞罗 57、法律一旦成为人们的需要,人们 就不再 配享受 自由了 。—— 毕达哥 拉斯 58、法律规定的惩罚不是为了私人的 利益, 而是为 了公共 的利益 ;一部 分靠有 害的强 制,一 部分靠 榜样的 效力。 ——格 老秀斯 59、假如没有法律他们会更快乐的话 ,那么 法律作 为一件 无用之 物自己 就会消 灭。— —洛克
60、人民的幸福是至高无个的法。— —西塞 罗
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。——康德 72、家庭成为快乐的种子在外也不致成为障碍物但在旅行之际却是夜间的伴侣。——西塞罗 73、坚持意志伟大的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非

矩阵乘幂优化k阶常系数线性递推关系

矩阵乘幂优化k阶常系数线性递推关系

矩阵乘幂优化k 阶常系数线性递推关系一、认识k 阶常系数线性递推关系我们熟悉的Fibonacci 数列:F[n]=F[n-1]+F[n-2],就是一个2阶常系数线性递推关系,由此我们得出k 阶常系数线性递推关系的一般形式:k n k n n n F a F a F a F −−−+++=Λ2211其中:,是常数,有k 项,所以叫着k 阶常系数线性递推关系;k a a a 、、、Λ21∑=−×=k i in i n F a F 1二、对矩阵的认识矩阵就是一个数字阵列,一个n 行r 列的矩阵可以表示为: ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡nr n n r r a a a a a a a a a ΛΛΛΛ212222111211 我们称上面的矩阵为r n ×矩阵。

例如下面一个2×3矩阵; ⎥⎦⎤⎢⎣⎡662341如果一个行数和列数相等的矩阵,我们叫作方阵。

例如下面3×3方阵:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡679762341 其实,矩阵对我们来说,并不陌生,因为它正好对应Pascal 中的一个二维数组。

Type matrix=array[1..n,1..r] of longint;三、矩阵的运算1、加法,减法⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡964687652342312345⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡−⎥⎦⎤⎢⎣⎡0100036523426623452、乘法:设A ,B 是两个矩阵,令C=A ×B ;那么:(1)A 的列数必须和B 的行数相等;设A 是n ×r 矩阵,B 是r ×m 矩阵;(2)A 和B 的乘积C 是一个n ×m 的矩阵;(3)∑=×=×++×+×+×=r k jk k i jr r i j i j i j i j i b a b a b a b a b a c 1,,,,,33,,22,,11,,Λ例如:已知: ,,求A ×B 。

矩阵乘幂的一种显式公式

矩阵乘幂的一种显式公式

矩阵乘幂的一种显式公式
纪跃
【期刊名称】《新疆大学学报:自然科学版》
【年(卷),期】1996(013)001
【摘要】本文给出用线性Diophantus方程的解计算矩阵乘幂的显式公式,并给出常系数联立线性递推关系组的解的显式表达式。

【总页数】7页(P29-35)
【作者】纪跃
【作者单位】无
【正文语种】中文
【中图分类】O151.21
【相关文献】
1.调和微分求积法权系数矩阵的一种显式计算式 [J], 王鑫伟;何柏庆
2.利用伴随矩阵求逆矩阵公式推导的一种方法 [J], 夏利民
3.波动方程数值模拟的一种显式方法——界面节点公式的构建 [J], 谢志南;廖振鹏
4.Pascal矩阵的一种显式分解 [J], 杨胜良
5.Vandermonde矩阵的逆矩阵的一种显式算法 [J], 杨胜良;乔占科
因版权原因,仅展示原文概要,查看原文内容请购买。

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

矩阵乘幂优化k 阶常系数线性递推关系一、认识k 阶常系数线性递推关系我们熟悉的Fibonacci 数列:F[n]=F[n-1]+F[n-2],就是一个2阶常系数线性递推关系,由此我们得出k 阶常系数线性递推关系的一般形式:k n k n n n F a F a F a F −−−+++=Λ2211其中:,是常数,有k 项,所以叫着k 阶常系数线性递推关系;k a a a 、、、Λ21∑=−×=k i in i n F a F 1二、对矩阵的认识矩阵就是一个数字阵列,一个n 行r 列的矩阵可以表示为: ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡nr n n r r a a a a a a a a a ΛΛΛΛ212222111211 我们称上面的矩阵为r n ×矩阵。

例如下面一个2×3矩阵; ⎥⎦⎤⎢⎣⎡662341如果一个行数和列数相等的矩阵,我们叫作方阵。

例如下面3×3方阵:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡679762341 其实,矩阵对我们来说,并不陌生,因为它正好对应Pascal 中的一个二维数组。

Type matrix=array[1..n,1..r] of longint;三、矩阵的运算1、加法,减法⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡964687652342312345⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡−⎥⎦⎤⎢⎣⎡0100036523426623452、乘法:设A ,B 是两个矩阵,令C=A ×B ;那么:(1)A 的列数必须和B 的行数相等;设A 是n ×r 矩阵,B 是r ×m 矩阵;(2)A 和B 的乘积C 是一个n ×m 的矩阵;(3)∑=×=×++×+×+×=r k jk k i jr r i j i j i j i j i b a b a b a b a b a c 1,,,,,33,,22,,11,,Λ例如:已知: ,,求A ×B 。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=635241A ⎥⎦⎤⎢⎣⎡=654321B ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+++++++++=×4536273629222722176*63*35*62*34*61*36*53*25*52*24*51*26*43*15*42*14*41*1B A 由矩阵乘法的运算法则,我们得出下列结论:矩阵乘法满足结合律,不满足交换律。

矩阵乘法的程序实现:function mul(a,b:matrix;n,r,m:integer):matrix; //矩阵乘法var c:matrix;i,j,k:longint;beginfillchar(c,sizeof(c),0);for i:=1 to n dofor j:=1 to m dofor k:=1 to r doc[i,j]:=c[i,j]+a[i,k]*b[k,j]mul:=c;end;练习:并观察有什么样的结论(和F[n]=F[n-1]+F[n-2])已知: ,,求A ×B ;A ×B ×B ;A ×B ×B ×B 。

[]21−−=n n F F A ⎥⎦⎤⎢⎣⎡=0111B 3、方阵乘幂方阵乘幂是指,A 是一个方阵,将A 连乘n 次,即:。

n A C =【想一想】:如果A 不是方阵,能否进行n 次幂运算?【练习试题】: ⎥⎦⎤⎢⎣⎡=0111A ,求 3A C =由于矩阵乘法满足“乘法结合律”,因此我们可以用二分快速幂的思想来求方阵乘幂。

(1)求a^n 的二分快速幂程序//程序中的mm 为取余数function power(a,n:longint):longint;var x:longint;beginif n=1 then power:=a elsebeginx:=power(a,n shr 1) mod mm;x:=(x*x) mod mm;if odd(n) then power:=(x*a) mod mmelse power:=xend;end;(2)求矩阵A^xfunction mpower(a:matrix;n,r,m,x:longint):matrix;var c:matrix;beginif x=1 then mpower:=a elsebeginc:=mpower(a,n,r,m,x shr 1);c:=mul(c,c,n,r,m);if odd(x) then mpower:=mul(c,a,n,r,m)else mpower:=c;end;end;四、线性递推方程的优化算法【例题一】:Fibonacci 数列求Fibonacci 数列的第n 项,其中1<=n<=10^9,第一项是1,第2项是1。

输出Fibonacci 数列的第n 项Mod 2008 的值。

【问题分析】:考虑1×2的矩阵[f[n-2],f[n-1]]。

根据fibonacci 数列的递推关系,我们希望通过乘以一个2×2的矩阵,得到矩阵[f[n-1],f[n]]=[ f[n-1],f[n-2]+f[n-1]],很容易构造出这个2×2矩阵A ,即:[][]⎥⎦⎤⎢⎣⎡×−−=−1110]1[]2[][]1[n F n F n F n F 所以,有[f[1],f[2]]×A =[f[2],f[3]]又因为矩阵乘法满足结合律,故有: [][][][][]1111110111110]2[]1[]2[]1[1110]1[]2[][]1[−−−⎥⎦⎤⎢⎣⎡×=⎥⎦⎤⎢⎣⎡×=×=⎥⎦⎤⎢⎣⎡×−−=−n n n F F A F F n F n F n F n F这个矩阵的第一个元素即为所求。

至于如何快速求出A n-1,相信大家都会,即递归地:n 为偶数时,A n =(A n/2)2;n 为奇数时,A n =(A n/2)2*A 。

【例题二】:数列f[n]=f[n-1]+f[n-2]+1,f[1]=f[2]=1的第n 项的快速求法, 输出该数列的第n 项Mod 2008 的值。

【试题分析】:仿照前例,考虑1×3的矩阵 [f[n-2],f[n-1],1],希望求得某3×3的矩阵A ,使得此1×3的矩阵乘以A 得到矩阵:[f[n-1],f[n],1]=[f[n-1],f[n-1]+f[n-2]+1,1]容易构造出这个3×3的矩阵A ,即: ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=110011010A2110011010 f[2],1][f[1],110011010 1],1]-f[n 2],-[f[n A 1],1]-f[n 2],-[f[n 1,1]2]-f[n 1]-f[n 1],-[f[n f[n],1]1],-[f[n −⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡×==⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡×=×=++=n 五.常见例题【典型例题1】:线性递推式【问题描述】动态规划的实现形式之一是递推,因此递推在OI 中十分重要。

在某信息学的分支学科中,LC 学会了如何求一阶线性递推数列。

由于他想在正在学习主干学科,因此希望知道求出N 阶线性递推数列。

为此,他了解到了以下的内容:一个N 阶线性递推式是这样的式子:也就是说,这个数列的每一项都是由他之前连续N 项相加所得。

其中还包括一个常数An 。

例如,当N=2,A0=A1=1,A2=0时,这个式子就是我们熟悉的斐波那契数列。

当然,作为边界条件,F0、F1……Fn-1都是已知的。

LC 对如何去求这个式子一筹莫展,因此请你来帮助他。

你的任务就是对于一个给定的N 阶线性递推式,求出它的第K 项是多少。

【文件输入】第一行两个整数:N ,K ,其中N 表示这个式子是N 阶线性递推式,K 表示你需要求的那一项。

第二行有N+1个整数:A0,A1,…,An ,表示这个递推式的系数。

第三行有N 个整数:F0,F1,….,Fn-1,表示数列的初始值。

【文件输出】只有一行,其中只有一个整数,表示这个数列第K 项的值。

由于数据较大,你只需输出结果 mod 9973的值。

【样例输入】2 101 1 00 1【样例输出】55【数据规模】对于50%的数据:N<=K<=10^6对于100%的数据:1<N<=10N<=K<=101^81<=Ai ,Fi<=104【试题分析】线性递推式求第k 项可转换成矩阵连乘如:已知起始项F1,F2,F3,F n =2F n-1+3*f n-2+4F n-3+6,求第K 项值列矩阵方法1:]6,1*6322314,3,2[1100021003010400*]6,3,2,1[]6,4,3,2[+++=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=F F F F F F F F F F F ,,,,,,,,,,,,或]1,1*6322314,3,2[1600021003010400*]1,3,2,1[]6,4,3,2[+++=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=F F F F F F F F F F F ,,,,,,,,,,,,因此第K 项的值是[F1,F2,F3,6]* 矩阵的k-1次方得到的矩阵第一项的值。

构造方法,若不考虑常数项,则n 阶递推式构造n*n 的矩阵,从第二行第一列开始的(n-1)*(n-1)的子矩阵为对角线为1的矩阵,第n 列从上到下为n 阶递推式由前到后的n 个系数,其它项为0。

若有常数项,则列在最后,并增加矩阵维数。

注意:列项时由前到后列如,[F n-2 F n-1 F n ]列矩阵方法2:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+++=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡66322314326321*10001234010000106432F F F F F F F F F F F ,,,,,,,,,,,,同样,第K 项的值是矩阵的k-1次方得到的矩阵第一项的值。

构造方法,若不考虑常数项,则n 阶递推式构造n*n 的矩阵,从第一行第二列开始的(n-1)*(n-1)的子矩阵为对角线为1的矩阵,第n 行为n 阶递推式由前到后的n 个系数,其它为项为0。

注意:列项时由前到后列如,[F n-2 F n-1 F n ]因此,本题的方法核心是构造矩阵。

本题由于项是从第0项开始的,所以第k 项即为求矩阵的k 次方。

const m=9973;mxn=9;type matrix=array[1..mxn+1,1..mxn+1]of longint;var a,b:matrix;f,ans,n,i,j,c:longint;k:int64;function multiply(a,b:matrix):matrix;var c:matrix;i,j,k:longint;beginfillchar(c,sizeof(c),0);for i:=1 to n+1 dofor j:=1 to n+1 dofor k:=1 to n+1 doc[i,j]:=(c[i,j]+a[i,k]*b[k,j])mod m;exit(c);end;function pow(i:int64):matrix;var t:matrix;beginif i=1 then exit(a);t:=pow(i div 2);t:=multiply(t,t);if odd(i) then t:=multiply(t,a);exit(t);end;beginreadln(n,k);for i:=2 to n do a[i,i-1]:=1;for i:=1 to n+1 dobeginread(c);a[i,n]:=c;end;a[n+1,n+1]:=1;b:=pow(k);ans:=b[n+1,1];for i:=1 to n dobeginread(f);ans:=(ans+f*b[i,1])mod m;end;writeln(ans);end.【典型例题1】:病毒入侵【问题描述】H5N1型高致病性禽流感击了bzbz国,不可避免的,bzbz 国的大量鸡死于流感。

相关文档
最新文档