|
Текст подпрограммы и версий aig2r_c.zip aig2d_c.zip aig2c_c.zip |
Тексты тестовых примеров taig2r_c.zip taig2d_c.zip taig2c_c.zip |
Обращение вещественной матрицы методом Жордана с выбором ведущего элемента по всей матрице.
Заданная матрица А n - го порядка приводится к единичной матрице Е последовательностью элементарных преобразований Жордана L1, L2, ... LN и матрицами перестановок Р и Q так, что
LNLN-1 ... L1PAQ = E ,
при этом А- 1 = QLNLN-1 ... L1Р. Матрицы Р и Q осуществляют соответственно перестановку строк и столбцов матрицы А и обеспечивают стратегию выбора ведущего элемента по всей матрице.
В.В.Воеводин, Р.В.Петрина, Комплекс алгоритмов, основанных на преобразованиях типа Гаусса, в пакете линейной алгебры, Сб. "Численный анализ на ФОPТPАНе", вып.3, Изд-во МГУ, 1973.
int aig2r_c (real *a, integer *s, integer *n)
Параметры
| a - | двумерный n на n массив, в котором задается исходная матрица; по окончании работы подпрограммы в массиве a запоминается вычисленная обратная матрица (тип: вещественный); |
| s - | двумерный n на 2 массив, используемый подпрограммой как рабочий (тип: целый); |
| n - | заданный порядок матрицы (тип: целый). |
Версии
| aig2d_c - | обращение матрицы, заданной с удвоенной точностью, методом Жордана с выбором ведущего элемента по всей матрице. |
| aig2c_c - | обращение комплексной матрицы методом Жордана с выбором ведущего элемента по всей матрице. |
Вызываемые подпрограммы : нет
Замечания по использованию
| 1. |
В подпрограмме aig2d_c массив a имеет тип double. |
| 2. | В подпрограмме aig2c_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 aig2r_c(float *, int *, int *);
static int s1[8] /* was [4][2] */;
int i__;
aig2r_c(a, s1, &c__4);
for (i__ = 0; i__ <= 12; i__+=4) {
printf("\n %15.5e %15.5e %15.5e %15.5e \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 |