我们考虑的最终存储方案是针对天际线矩阵的,这种矩阵也被称为变带宽或轮廓矩阵(参见达夫、埃里斯曼和里德[138])。它主要在直接求解方法中具有重要性,但也可用于处理块矩阵分解方法中的对角块。求解具有天际线系数矩阵的线性系统的显著优势在于,当不需要选主元时,天际线结构在Gauss消去过程中得以保留。如果矩阵是对称的,我们仅存储其下三角部分。存储天际线矩阵元素的一个直接方法是,将所有行(按顺序)放入一个浮点数组(val(:)),然后保留一个整数数组(row_ptr(:)),其元素指向每一行的起始位置。存储在val(:)中的非零元素的列索引容易推导出,因此不存储。
对于如图10.1所示的非对称天际线矩阵,我们以天际线存储(SKS)格式存储下三角元素,并以列导向的SKS格式存储上三角元素(转置存储在行导向的SKS格式中)。这两个分离的子结构可以通过多种方式链接。萨阿德[386]讨论的一种方法是将下三角部分的每一行和上三角部分的每一列连续存储到浮点数组(val(:))中。然后需要一个额外的指针来确定分离下三角元素和上三角元素的对角元素的位置。