MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
MUSTAQIL ISH
Fan:Chiziqli algebra
Fakultet:Telekomunikatsiya texnologiyalari
Guruh:412-20
Bajardi:Abduxakimova Saida
Tekshirdi:Raxmatov R.R
Маtritsaning LU, LDU yoyilmalari, va ularning diterminantni hisoblashga hamda chiziqli tenglamalar sistemasini yechishga tatbiqi(matritsaning LU va LDU yoyilmalarini topishni С++ dasturida bajarish).
Quyida biz kvadrat matritsalarni LU va LDU koʻpaytmalarga yoyish bilan shugʻullanamiz, bu yerda L – quyi uchburchak matritsa, U–yuqori uchburchak matritsa, D esa diagonal matritsadir.
Avval quyidagi misolni koʻrib chiqamiz.
matritsadan diagonal ostidagi elementni nolga aylantirish uchun uni chapdan ga koʻpaytiramiz.
.
Endi bu matritsani chapdan ga koʻpaytiramiz,
Xuddi shu kabi, kabi yozish mumkin. Bu esa
matritsaning elementini nolga aylantirish uchun uni chap tarafdan matritsaga koʻpaytirgandik, matritsaning diagonal ostidagi elementlarini nolga aylantirish uchun uni chap tarafdan ketma- ket , va koʻpaytirish kifoya, ya’ni
Bu tenglikni chap tarafdan ga koʻpaytiramiz:
,
Xuddi sha kabi, va koʻpaytiramiz va natijada,
ifodani hosil qilamiz. Bu yerda matritsaning diagonaldan yuqoridagi elementlar nol ekanini e’tiborga olsak,
Oxirgi tenglikdagi U matritsani xuddi yuqoridagi kabi D diagonal matritsa va U matritsaning koʻpaytmasi shaklda ifodalash mumkin, faqat bu yerdagi yuqori uchburchak matritsaning bosh diagonal elementlari birlardan iboratdir.
#include
using namespace std;
bool matrix[10][10];
void t_main(){
for(int i = 0;i < 10;i ++){
matrix[9][i] = 1;}
for(int i = 0;i < 9;i ++){
for(int j = 0;j < 10;j ++){
matrix[i][0] = 1;
matrix[i][9] = 1;}}
for(int i = 0;i < 10;i ++){
for(int j = 0;j < 10;j ++)
cout << matrix[i][j] << ' ';
cout << '\n';}
cout << '\n' << '\n';
for(int i =0;i < 9;i ++)
matrix[i][9] = 0;
for(int i = 0;i < 10;i ++){
for(int j = 0;j < 10;j ++)
cout << matrix[i][j] << ' ';
cout << '\n';}
for(int j = 9,i = 0;i < 10;i ++){
matrix[i][i] = 1;
matrix[i][j--] = 1;}
cout << '\n' << '\n';
for(int i = 0;i < 10;i ++){
for(int j = 0;j < 10;j ++)
cout << matrix[i][j] << ' ';
cout << '\n';}}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t = 1;
//cin >> t;
while(t--)t_main();
return 0;
}
Natija
Foydalanilgan adabiyotlar:
Gilbert Strang “Introduction to Linear Algebra” MIT, 2016 y.
Soatov Yo.U. “Oliy matematika”, 1995 y., I va III jildlar.
Internet saytlari
Wikipedia.uz
Aim.uz
Library-ziyonet.uz
Cplusplus.com
Do'stlaringiz bilan baham: |