Вторая пачка часть 45


4.7. УМНОЖЕНИЕ УПЛОТНЕННОЙ СИММЕТРИЧЕСКОЙ МАТРИЦЫ НА ПРЯМОУГОЛЬНУЮ Произведение матрицы A=||aij|| (i = 1, ..., m; j = 1, ..., n) на матрицу B=||bij || (i = 1, ..., n; j = 1, ..., p) есть матрица C=||cij|| (i = 1, ..., m; j = 1, ..., p), эле¬мен¬ты которой определяются фор¬му¬лой , i=1, ..., m; j = 1,..., p. (1.50) Из равенства (1.50) следует, что операция п嬬¬ре¬мно¬жения матриц определена только тогда, ког¬да чис¬¬¬ло столбцов матрицы A равно количеству строк мат¬ри¬цы B. В случае если одна из пе¬ре¬мно¬жа¬е¬мых мат¬¬риц, на¬при¬мер матрица A, является сим¬мет¬¬ри¬ч¬¬еской, т.е. aij = aji, то она мжет быть уплот¬не¬на пу¬тем сведения к почти тре¬у¬голь¬ной мат¬рице (верх¬¬няя треугольная часть матрицы A, вклю¬чая гла⬬ную ди¬а¬гональ), которую из прак¬ти¬чес¬ких вы¬¬чис¬¬л謬-тель¬ных со¬ображений (экономия ма¬шин¬ной па-мя¬ти, уск¬ре¬ние поиска нужного элемента) удоб¬но по¬строч¬но п嬬¬р嬬пи¬сать в виде одномерного мас¬си¬ва d [1:n?(n+1)/2]. Заметим, что в этом случае в про¬цес¬се вы¬¬пол¬нения со¬от-вет¬ст¬вующей про¬це¬ду¬ры зна¬ч嬬ния эл嬬ментов исходной мат¬ри¬цы a[i, j] могут пр謬¬¬¬сва¬и¬ваться элементам d[mi+j], где mi = =(2n - i) (i - 1) / 2. От¬-сю¬да сле¬ду¬ет, что mi+1= mi + n - i, т.е. знବче¬ния mi мо¬гут вы¬чис¬лять¬ся рекурсивно, если по¬ло-жить m0 = 0. Тବкое уп¬лот¬не¬ние симметрической мат¬¬ри¬цы мо¬жет быть по¬ле第но, на¬при¬мер, в том слу¬чае, ког¬да она целиком не п¬мещается в сво-бод¬ную часть опе¬ра¬тив¬ной памяти ЭВМ. Раз¬ме-ще¬ние ре¬зуль¬тирующей мат¬рицы C на мес¬те вво¬ди¬мой мат¬¬ри¬цы B также по¬зво¬ляет оп¬ти¬ми-зи¬ро¬вать зат¬¬раты оп嬬ративной па¬мя¬ти. Изложенный алгоритм реализован в про-це¬ду¬ре MULTCRAM. Формальные параметры про¬цедуры. Входные: n (тип integer) - порядок квадратной мат¬рицы A и количество строк пря¬моугольной мат¬ри¬цы B; d[1:n?(n+1)/2] (тип real) - вво¬ди¬мая в виде од¬но¬мерного массива d уплотненная мат-ри¬ца A; r (тип integer) - количество столб¬цов вводимой пря¬му¬голь¬ной матрицы B; b[1:n, 1:r] (тип real) - матрица B
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz