Текст подпрограммы и версий
aig0r_c.zip  aig0d_c.zip  aig0c_c.zip 
Тексты тестовых примеров
taig0r_c.zip  taig0d_c.zip  taig0c_c.zip 

Подпрограмма:  aig0r_c

Назначение

Обращение вещественной матрицы методом Жордана без выбора ведущего элемента.

Математическое описание

Заданная матрица А N - го порядка приводится к единичной матрице Е поледовательностью элементарных преобразований Жордана L1, L2, ..., LN  так, что  LNLN-1...L1*А = Е,  при этом  А-1 = LNLN-1 ... L1.

В.В.Воеводин, Р.В.Петрина, Комплекс алгоритмов, основанных на преобразованиях типа Гаусса, в пакете линейной алгебры. Сб. "Численный анализ на ФОPТPАНе", вып.3, Изд-во МГУ, 1973.

Использование

    int aig0r_c (real *a, integer *n)

Параметры

a - двумерный n на n массив, в котором задается исходная матрица; по окончании работы подпрограммы в массиве a запоминается вычисленная обратная матрица (тип: вещественный);
n - заданный порядок матрицы (тип: целый).

Версии

aig0d_c - обращение матрицы, заданной с удвоенной точностью, методом Жордана без выбора ведущего элемента.
aig0c_c - обращение комплексной матрицы методом Жордана без выбора ведущего элемента.

Вызываемые подпрограммы : нет

Замечания по использованию

  1. 

В подпрограмме aig0d_c массив a имеет тип double.

  2.  В подпрограмме aig0c_c массив a имеет тип complex.

Пример использования

int main(void)
{
    /* Initialized data */
    static float a[16] /* was [4][4] */ = { 7.9f,8.5f,4.3f,3.2f,5.6f,-4.8f,
                       4.2f,-1.4f,5.7f,.8f,-3.2f,-8.9f,-7.2f,3.5f,9.3f,3.3f };
    /* Local variables */
    extern int aig0r_c(float *, int *);
    int i__;

    aig0r_c(a, &c__4);

    for (i__ = 0; i__ <= 12; i__+=4) {
         printf("\n %13.4e %13.4e %13.4e %13.4e \n",
                 a[i__], a[i__+1], a[i__+2], a[i__+3]);
    }
    return 0;
} /* main */


Результат:

                  |  0.0505   0.0542   0.0062   0.0350 |
                  |  0.0518  -0.0846   0.0721  -0.0003 |
    a-1  =    | -0.0084   0.0432   0.0202  -0.1211 |
                  | -0.0497   0.0279   0.0790  -0.0577 |