Академический Документы
Профессиональный Документы
Культура Документы
Лекция 9
Ленточные матрицы
Большинство матриц, встречающихся на практике, являются разряженными, т.е. боль-
шая часть компонентов таких матриц является нулями. Одним из типов разряженных матриц
являются ленточные матрицы. Определение: матрица А порядка n (рассматриваем пока
квадратные матрицы) называется ленточной, если aij=0 при i-j>β2 и j-i>β1. Пример для n=5;
β1=2; β2=1:
a11 a12 a13 0 0
a a 22 a 23 a 24 0
21
0 a32 a33 a34 a35
0 0 a 43 a 44 a 45
0 0 0 a54 a55
Очень часто лента бывает симметричной, т.е. β1=β2=β. Число β называется полушири-
ной ленты.
Для двух рассмотренных методов умножения матрицы на вектор – скалярного умноже-
ния векторов и линейной комбинацией столбцов длины векторов изменяются от β+1 до
2β+1. Действительно:
(a1 , X )
( a , X )
1) AX = 2
M
( a n , X )
где ai - строки матрицы А; в симметричной матрице при β=1 они будут иметь вид:
a1 = [a11 , a12 , 0, 0K]; a2 = [a21 , a22 , a23 , 0, 0K]; ... an = [0, 0,K, an, n −1 , ann ];
n
2) AX = ∑ xi ai , где ai – столбцы имеют вид:
i =1
т.е.: ai
a1 = [a11 , a 21 , 0, 0K]T ; a2 = [a 21 , a 22 , a23 , 0, 0K]T ;...; a n = [0, 0,K, an, n −1 , a nn ]T ;
Для первого алгоритма, если предположить p=n (p-число процессоров, все n скалярные
произведения типа):
n
(ai , X ) = ∑ aij x j
j =1
будут выполняться параллельно. Если число процессоров p=n/k, то первые k скалярных про-
изведений можно выполнять на первом процессоре, вторые – на втором и т.д. Таким обра-
зом, степень параллелизма максимальная.
Для второго представления мы также можем распараллелить умножение векторов-
столбцов матрицы А на компоненты вектора X, но затем нам необходимо организовать сло-
жение результатов.
Что касается реализации на векторных компьютерах, то оба представления не эффек-
тивны, т.к. длины векторов малы. (от β+1 до 2β+1).