Вторая пачка часть 46
Выходные: b[1:n, 1:r] (тип real) - вы¬во¬димая на месте вхо¬дной матрицы B матрица-про¬из¬ведение C = A*B.
PROCEDURE MULTCRAM (D: MAS1; N,R: INTEGER;
VAR B:MAS2);
VAR S:REAL; I,J,K,M : INTEGER; V ARRAY [1..N] OF REAL;
BEGIN
FOR J:=1 TO R DO
BEGIN
FOR I:=1 TO N DO
BEGIN
S:=0; M:=I-N;
FOR K:=1 TO N DO
BEGIN
IF K <= I THEN M := M+N+1-K
ELSE M:=M+1;
S:=S+D[M]*B[K,J]
END {K}; V[I]:=S
END {I};
FOR I:=1 TO N DO
B[I,J]:=V[I]
END {J};
END {MULTCRAM}.
Процедура MULTCRAM была получена из про¬це¬ду¬¬ры CRAM [Агеев, 1976] путем ее перевода с язы¬ка ALGOL на язы¬к PASCAL. Тестирование про¬це¬ду¬ры прводилось на IBM PC/AT-386 для тех же ис¬хо䬬ных данных, что и в работе Каффрей (1961):
.
При этом был получен верный результат:
.
4.8. КОРРЕКТИРОВКА ОБРАТНОЙ МАТРИЦЫ ПОСЛЕ ИЗМЕНЕНИЯ ОДНОГО ЭЛЕМЕНТА В ПРЯМОЙ МАТРИЦЕ
Пусть дана матрица A = M -1 размерностью [n?n] и мат¬ри¬ца M', полученная в результате ув嬬ли¬чения эле¬мен¬та m[i,j] матрицы M на величину d. Тогда скор¬рек¬ти¬рованная мат-ри¬ца B = (M') -1 мо¬жет быть эффективно вы¬-числена по эле¬мен¬там мат¬рицы A без обращения мат¬рицы M при по¬мо¬щи пре䬬став¬лен¬ной процедуры ADJUST.
Формальные параметры про¬цедуры. Входные: a[n,n] - (тип real) - исходная матрица A; n (тип in¬te¬ger) - по¬ря¬док мат¬рицы A; i, j (тип in¬-te¬ger) - ин¬дек¬сы измененного эле¬мен¬та m[i, j] мат¬ри¬цы M; d (тип real) - величина из¬ме¬нения эл嬬мен¬та m[i, j]. Вы¬ходные: b[n, n] (тип real) - скор¬рек¬ти¬ро¬ванная мат¬рица B.
PROCEDURE ADJUST (A:MAS1;N,I,J: INTEGER;
D:REAL; VAR B:MAS1);
VAR T : REAL; R,S : INTEGER;
BEGIN T:=D/(A[J,I]*D+1);
FOR R:=1 TO N DO
FOR S:=1 TO N DO
B[R,S]:=A[R,S]-T*A[R,I]*A[J,S]
END {ADJUST};
Процедура ADJUST представляет собой перевод на язык PASCAL опубликованной в работе [Агеев и др., 1976], ис¬правленной, сокращенной и ор¬ди¬нар¬¬но пе¬ре¬ра¬бтанной про-цедуры, опубликованной в работе [Herndon, 1961]. Тес¬ти¬ро¬ва¬ние про¬цедуры ADJUST было вы¬пол¬не¬но на IBM PC/AT-286 для следующих ис¬ход¬ных дан¬ных:
, n = 2, i = 1, j = 2, d = 3
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа