# Вторая пачка часть 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

Индекс
Элементарные функции Линейные уравнения Нелинейные уравнения Случайные числа