Вы здесь

Метод Гаусса. Вычисление определителя матрицы

Исходный код на C++: 

Теория

Используя метод Гаусса «прямой ход», приведём матрицу к треугольному виду (смотри статью “Метод Гаусса. Решения систем линейных уравнений”). Перемножая элементы главной диагонали, получим определитель матрицы (рис. 1).


рис. 1.Метод Гаусса. Вычисление определителя матрицы

Программная реализация

int gaus_det(int cnt_str,double **mass,double &det)
{
int i,j,k;
det=1;
//прямой ход
for(i=0;i<cnt_str;i++)
{
for(j=i+1;j<cnt_str;j++)
{
if(mass[i][i]==0)
return 0;
double b=mass[j][i]/mass[i][i];
for(k=i;k<cnt_str;k++)
mass[j][k]=mass[j][k]-mass[i][k]*b;
}
det*=mass[i][i];//вычисление определителя
}
return 1;
}