Метод Квадратного Корня

Тема в разделе "Pascal and Delphi", создана пользователем blackcat, 4 ноя 2011.

  1. blackcat

    blackcat Гость

    Разбираю чужой код. суть задачи - решение слау методом квадратного корня для ленточных матриц. в коде существует процедура,которая,насколько я поняла, умножает матрицу саму на себя для избежания выхода в комплексную область при извлечении корней. но матрица перемножается каким-то странным образом. может кто знает,что это за метод? сама процедура ниже

    Код (Text):
    MatrixB = array[1..maxn, 1..maxl] of real;

    Procedure TFormMain.MultiB (n,l: integer; Var B:MatrixB);
    var i,j,k,u:integer;
    temp: MatrixB;
    begin
    for i:=1 to maxn do
    for j:=1 to maxl do
    temp[i,j] := 0;

    for i:=1 to n do
    for j:=1 to l do
    temp[i,1] := temp[i,1] + B[i,j]*B[i,j];
    for i:=1 to n do
    for j:=2 to l do
    begin
    u := 1;
    for k:=j to l do
    begin
    temp[i,j] := temp[i,j] + B[i,k]*B[j+i-1,u];
    inc(u);
    end;
    end;
    for i:=1 to n do
    for j:=1 to l do
    B[i,j] := temp[i,j]
    end;
     
Загрузка...

Поделиться этой страницей