资源描述:
《北航数值分析大作业一(纯原创,高分版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数值分析上机实习作业一题目:设有501×501的实对称矩阵A,?1???⋱⋱⋱?=?⋱⋱⋱⋱⋱⋱?[???501]0.1其中??=(1.64−0.024?)sin(0.2?)−0.64??,(?=1,2,⋯,501),?=0.16,?=−0.64。矩阵A的特征值为,??(?1,2,⋯,501,并且有?1≤?2≤⋯≤?501,
2、??
3、=???
4、??
5、1≤?≤5011.求λ1,和λ501的值。?501−?12.求A的与数??=?1+?最接近的特征值???(?=1,2,⋯,39).403.求A的(普范数)条件数cond(A)和行列式detA。说明1.在所用的算法中,凡是要给出精度
6、水平的ε,都取−12?=10。2.选择算法的时候应使矩阵A的所有零元素都不存储。3.打印以下内容:(1)算法设计方案和思路。(2)全部源程序。(3)特征值?1,?501,??,???(?=1,2,⋯,39)以及????(?)2,det?的值(采用e型输出实型数,并且至少显示12位有效数字)。(4)发现的现象与问题。算法设计思路和方案因为题目只要求求部分特征值,及最大的特征值和最小的特征值以及距离某些给定实数最近的特征值,而矩阵A是实对称矩阵,所有特征值均为实数,故我们可以用幂法和反幂法结合适当的平移量求解。其中求解最大的特征值和最小的特征值,采用幂法并结合适当的平移量求解,
7、而求解λs,和距离μk最近的特征值采用带平移的反幂法求解。算法分析一、幂法求解??,????我们知道幂法适用于求解矩阵A的绝对值最大的特征值,设矩阵A的特征值为
8、λ1
9、≥
10、?2
11、≥⋯≥
12、??
13、,对于情况
14、λ1
15、>
16、?2
17、,幂法是适用的,并可以求出特征值?1,然而对于
18、λ1
19、=
20、?2
21、时,幂法只对λ1=?2适用(也即是当绝对值最大的特征值是重根的情况,幂法是适用的),然而对于λ1=−?2,绝对值最大的特征值为互为相反数的情况并不适用。所以在用幂法求解?1,?501时,我们分两种情况讨论。1.?1≠−?501此时,由于?1≤?2≤⋯≤?501,我们知道矩阵A绝对值最大的特征值必
22、然为?1,?501中的一个,而且幂法适用,通过幂法迭代一定次数后就可以得到满足精度要求的特征值λ,这时做如下平移:?=?−??然后对矩阵B用幂法。由线性代数知识知,矩阵B的特征值为?1−?,?2−?,⋯,?501−?,若?=?1,则有0=?1−?≤?2−?≤⋯≤?501−?,对B用幂法即可求出其绝对值最大的特征值?′=?−?,也即可以得到A的特征值?=?′+?。对于另外一种情况?=?,501501501则有?−?≤?−?≤⋯≤?−?=0,对B用幂法即可求出其绝对值最大的特征值λ′=12501?−?,同样也即可以得到A的特征值?=λ′+?。11综上,对于?1≠−?501,只需
23、要对A用幂法即可得到A的绝对值最大的特征值?,然后做平移?=?−??,对B用幂法即可求出其绝对值最大的特征值?′,那么有{?,?′+?}={?1,?501}。2.?1=−?501由于这种情况,不能直接对矩阵A使用幂法。此时有两种解决办法,一种是做适当平移?=?−??,对用幂法迭代求出其绝对值最大的特征值?后,则{−(?+?),?+?}={?,?}。另一个解决思路是考虑矩阵?=?2,由线性代数知识知,矩阵B的特征值为1501?2,?2,⋯,?2,对其用幂法迭代即可求出其绝对值最大的特征值?=?2=?2。125011501综合1,2,求解矩阵A的特征值?1,?501算法思路为设
24、定最大迭代次数和收敛精度,然后对矩阵A使用幂法,如果收敛,说明?1≠−?501,则可以得到一个特征值?,然后做平移?=?−??,对矩阵B使用幂法得到B的一个特征值?′,则有{?,?}={?,?′+?};若达到最1501大迭代次数还没有达到收敛要求的精度,说明?1=−?501,则做适当平移?=?−??,对用幂法迭代求出其绝对值最大的特征值?后,则{?1,?501}={−(?+?),?+?};或者考虑矩阵?=?2,对B用幂法迭代,则可求出B绝对值最大的特征值?=?2=?2。1501二、反幂法求解??,???−1111设??=(?−??),由于??的特征值为,,⋯,,可知以次取?
25、=λ1−?λ2−?λ501−?11110,?1,?2,⋯,?39时,矩阵??绝对值最大的特征值依次为?(?)=,,,⋯,,??λ?1−?1λ?2−?2λ?39−?39而?(?)的值可以对矩阵?−??使用反幂法求出。可知,若取?0=0,从?=0,1,2,⋯,39,对矩阵?=(?−??)−1使用幂法,也即对?=?−??使用反幂法,求得?(?),则可得矩阵?????1A的特征值???=?(?+??,(?=0,1,2,⋯,39),??=??0,迭代过程中求解线性方程组?????=?)??−1,因为???是带状矩阵,上下带宽