这三条对角线上的元素总数为3n-2,故可以使用一个拥有3n-2个位置的一维
数组来描述T,因为仅需要存储三条对角线上的元素。
三对角矩阵上共有10个元素,如果把这些元素逐行
映射到t中,则有t[0:9]=[2,1,3,1,3,5,2,7,9,0];如果逐列映射到t上,则有t[0:9]=[2,3,1,1,5,3,2,9,7,0];如果按照对角线的次序(从最下面的对角线开始)进行映射,则有t[0:9]=[3,5,9,2,1,2,0,1,3,7]。
利用Store函数把传入的x值存储在相应的三对角矩阵中,并通过
switch语句判断其所在位置。具体程序如下:
QR法对于三对角矩阵来说是很好的,在这个方法中,矩阵被分解成以下形式: ,其中 是
正交矩阵, 是
上三角矩阵。产生如下的矩阵序列:将 化成乘积形式 ,则 定义为 。
一般来说,对于 化成 ,其中 是正交矩阵, 是上三角矩阵,则 被定义为 和 以相反次序乘积式,即 。因为 是正交矩阵, 。 是对称的,与 有相同的
特征值。我们定义和成这样的形式:是三对角矩阵,最终趋于变为对角阵,其对角线上的元素给出原矩阵的特征值。
特征多项式法可以像
特征多项式的根一样确定
特征值。有一种有效的方法来构造三对角矩阵的特征多项式。使用符号法可以求特征值的归类,从而形成一个Sturmian序列。然后用
对分法或
试位法来求精确的特征值。由
Householder变换得到的对称三对角矩阵的特征多项式为: