حذف غاوس-جوردان
في الجبر الخطي، يعتبر حذف غاوس-جوردان نسخة عن الحذف الغاوسي والذي يضع أصفارا فوق وتحت عنصر المحور عندما يتحرك من أعلى صف في المصفوفة المعطاة إلى الأسفل. أي أنه يعيد المصفوفة إلى الصورة المثلثية.
![](../I/Question_book-new.svg.png.webp)
![](../I/Breezeicons-actions-22-help-about.svg.png.webp)
تعود التسمية إلى كارل فريدريك غاوس ووليام جوردان.
تطبيقات إيجاد المعكوس
يمكن استعمال حذف غاوس-جوردان في المصفوفة المربعة لحساب معكوسها كما يلي.
إذا كانت المصفوفة المربعة الأصلية, , معطاة بالتعبير:
حينئذ يمكن بالاستعانة بمصفوفة الوحدة الحصول على:
وبتطبيق عمليات الصف الأساسية على المصفوفة حتى تصل صورة الصف المخفض يمكن في النهاية الحصول على النتيجة:
والان بعكس الوسيط, يمكن الحصول على:
c++ code for matrix inverse
#include <cstdlib>
double** gauss(double **matrix, int diminsion)
{
double **inverse;
inverse = (double**) malloc(diminsion * sizeof (double *));
for (int i = 0; i <diminsion; i++)
inverse[i] = (double*) malloc(diminsion * sizeof (double));
for (int i = 0; i <diminsion; i++)
for (int j = 0; j <diminsion; j++)
inverse[i][j] = 0;
for (int i = 0; i <diminsion; i++)
inverse[i][i] = 1;
for (int k = 0; k <diminsion; k++)
{
for (int i = k; i <diminsion; i++)
{
double val = matrix[i][k];
for (int j = k; j <diminsion; j++)
matrix[i][j] /= val;
for (int j = 0; j <diminsion; j++)
inverse[i][j] /= val;
}
for (int i = k + 1; i <diminsion; i++)
{
for (int j = k; j <diminsion; j++)
matrix[i][j] -= matrix[k][j];
for (int j = 0; j <diminsion; j++)
inverse[i][j] -= inverse[k][j];
}
}
for (int i = diminsion - 2; i>= 0; i--)
{
for (int j = diminsion - 1; j> i; j--)
{
for (int k = 0; k <diminsion; k++)//this part can be can canceled (the two lines)
inverse[i][k] -= matrix[i][j] * inverse[j][k]; //
for (int k = 0; k <diminsion; k++)//this part can be can canceled (the two lines)
matrix[i][k] -= matrix[i][j] * matrix[j][k]; //
}
}
return inverse;
}
- بوابة رياضيات
- بوابة جبر
- بوابة خوارزميات
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.