CHIZIQLI ALGEBRAIK TENGLAMALAR SISTEMASINI KVADRAT ILDIZLAR USULI BILAN YECHISH VA DASTURIY TA'MINOTINI YARATISH
Abstract
Annotatsiya Chiziqli algebraik tenglamalar sistemasini yechishning turli xil usullari mavjud. Ushbu maqolada chiziqli algebraik tenglamalar sistemasini yechishning kvadrat ildizlar usuli keltirilgan, shu usulda misollar ishlab ko`rsatilgan va dasturiy ta’minotlari ishlab chiqilgan. Kalit so‘zlar: Matritsa, chiziqli algebraik tenglamalar sistemasi, kvadrat ildizlar usuli.
Full text
PRINCIPAL ISSUES OF SCIENTIFIC RESEARCH AND MODERN EDUCATION Vol. 4 No.7 (2025) 42 CHIZIQLI ALGEBRAIK TENGLAMALAR SISTEMASINI KVADRAT ILDIZLAR USULI BILAN YECHISH VA DASTURIY TA’MINOTINI YARATISH Raximova Feruza Saidovna, Aliqulov Yolqin Qodirovich, Islamova Odila Abduraimovna, Chay Zoya Sergeyevna, Muhammad al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti o`qituvchilari Tursunaliyev Ozodbek Bahrom o`g`li, Iskandarova Dilafruz Sharofaddin qizi, Rustamova Shaxrizoda O‘ktam qizi, Muhammad al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti talabalari Annotatsiya Chiziqli algebraik tenglamalar sistemasini yechishning turli xil usullari mavjud. Ushbu maqolada chiziqli algebraik tenglamalar sistemasini yechishning kvadrat ildizlar usuli keltirilgan, shu usulda misollar ishlab ko`rsatilgan va dasturiy ta’minotlari ishlab chiqilgan. Kalit so‘zlar: Matritsa, chiziqli algebraik tenglamalar sistemasi, kvadrat ildizlar usuli. Аннотация Существуют различные методы решения систем линейных алгебраических уравнений. В данной статье представлен метод квадратных корней для решения систем линейных алгебраических уравнений (СЛАУ), приведены примеры для этого метода и разработано программное обеспечение.
PRINCIPAL ISSUES OF SCIENTIFIC RESEARCH AND MODERN EDUCATION Vol. 4 No.7 (2025) 43 Ключевые слова: Mатрица, система линейных алгебраических уравнений, метод квадратных корней. Annotation There are various methods for solving a system of linear algebraic equations. This article presents the square root method for solving a system of linear algebraic equations, examples are worked out and software is developed for this method. Keywords: Matrix, system of linear algebraik equations, square root method. Texnik yo`nalishlar talabalariga matematik fanlar mavzularini o`tishda dasturiy ta`minotlar va dasturlardan foydalanishga e’tibor qaratish o`tilgan mavzuni o`zlashtirishni osonlashtiradi, talabalarning mavzuga nisbatan qiziqishlarini orttiradi, shu bilan birga dars samaradorligi sezilarli darajada oshadi. Chiziqli algebraik tenglamalar sistemasini yechishning keng tarqalgan usullaridan biri kvadrat ildizlar usulidir. Bu usulni Xoletskiy usuli deb ham yuritiladi. Bu usul chiziqli algebraik tenglamalar sistemasining yechimini topishshning aniq usuli hisoblanadi va bu usulda o`zgaruvchilarning aniq qiymatlari topiladi. Bu usul simmetrik shakldagi musbat aniqlangan matritsali chiziqli algebraik tenglamalar sistemasini yechish uchun qulay usul hisoblanadi. Matritsaning simmetrikligi chiziqli algebraik tenglamalar sistemasini dasturiy vositalardan foydalanib yechishda qulay hisoblanadi. Aytaylik 𝐴∗𝐴=𝐴 sistema kvadrat ildizlar usuli qoʻllanilishi shartlarini bajarsin, u holda shunday S yuqori uchburchak matritsa mavjudki 𝐴𝐴∗𝐴=𝐴 (4) bo’ladi. 𝐴∗𝐴=𝐴 ⇒(𝐴𝐴∗𝐴)∗𝐴=𝐴 ⇒𝐴𝐴∗(𝐴∗𝐴)=𝐴 koʻrinishda yozish mumkin. Agar 𝐴∗𝐴=𝐴 deb belgilash kiritsak, u holda X yechimni topish algoritmi quyidagicha koʻrinishni oladi: 1) 𝐴𝐴∗𝐴=𝐴 tenglamadan S-matritsa elementlarini topamiz.
PRINCIPAL ISSUES OF SCIENTIFIC RESEARCH AND MODERN EDUCATION Vol. 4 No.7 (2025) 44 2) 𝐴𝐴∗𝐴=𝐴 tenglamadan Y-ustun matritsa (vektor) elementlarini topamiz. 3) 𝐴∗𝐴=𝐴 tenglamadan esa X-ustun matritsa, yaʼni yechimni topamiz. Yuqorida keltirilgan algoritmda faqatgina birinchi bosqich koʻp mehnat talab qiladi. Masalan A matritsa 3 × 3 matritsa boʻlsa, u holda S matritsani topish formulalarini keltiramiz, keyin umumiy holga oʻtamiz: 𝐴=(𝐴11 𝐴12 𝐴13 0 𝐴22 𝐴23 0 0 𝐴33),𝐴𝐴=(𝐴11 0 0 𝐴12 𝐴22 0 𝐴13 𝐴23 𝐴33) 𝐴𝐴∗𝐴=𝐴 𝐴𝐴∗𝐴=𝐴=(𝐴11 0 0 𝐴12 𝐴22 0 𝐴13 𝐴23 𝐴33)∗(𝐴11 𝐴12 𝐴13 0 𝐴22 𝐴23 0 0 𝐴33) =(𝐴11 2𝐴11 ∗𝐴12 𝐴13 ∗𝐴11 𝐴12 ∗𝐴11 𝐴11 2+𝐴22 2𝐴13 ∗𝐴12 +𝐴23 ∗𝐴12 𝐴13 ∗𝐴11 𝐴13 ∗𝐴12 +𝐴23 ∗𝐴12 𝐴13 2+𝐴23 2+𝐴33 2) Umumiy holatda 𝐴11 =√𝐴11,𝐴1𝐴 =𝐴1𝐴 𝐴11 ,𝐴=2,…,𝐴 𝐴𝐴 ℎ𝐴𝐴𝐴𝐴𝐴. 𝐴𝐴𝐴 =√𝐴𝐴𝐴 −∑𝐴𝐴𝐴 2 𝐴−1 𝐴=1, 𝐴𝐴𝐴 =1 𝐴𝐴𝐴 (𝐴𝐴𝐴 −∑𝐴𝐴𝐴 ∗𝐴𝐴𝐴) 𝐴−1 𝐴=1 Ushbu formula orqali S matritsani topiladi. Ushbu usulni simmetrik boʻlmagan va musbat aniqlanmagan A matritsali chiziqli algebraik tenglamalar sistemasi uchun ham qoʻllash mumkin. Buning uchun usulni qoʻllashdan oldin (3) chiziqli algebraik tenglamalar sistemasini chapdan 𝐴𝐴 matritsaga koʻpaytirish kifoya 𝐴∗𝐴=𝐴 ⇒ 𝐴𝐴∗𝐴∗𝐴=𝐴𝐴∗𝐴 natijada (3) ga ekvivalent boʻlgan sistemaga ega boʻlamiz:
PRINCIPAL ISSUES OF SCIENTIFIC RESEARCH AND MODERN EDUCATION Vol. 4 No.7 (2025) 45 𝐴 ∗𝐴=𝐴 (5) bunda 𝐴 =𝐴𝐴∗𝐴,𝐴 =𝐴𝐴∗𝐴 boʻlib, 𝐴 – matritsa simmetrik va musbat aniqlangan boʻladi, natijada kvadrat ildiz usulidan foydalansak boʻladi. (3) dan (5) ga oʻtish sistemani simmetrizatsiyalash hisoblanadi. Uch o‘zgaruvchili chiziqli algebraik tenglamalar sistemasi uchun kvadrat ildizlar usulida ildiz topilsin. {5𝐴 −7𝐴 +8𝐴 =32 8𝐴 −5𝐴 +4𝐴 =34 −7𝐴 +8𝐴 −5𝐴 =−7 (1) chiziqli algebraik tenglamalar sistemasi ni yechish talab qilingan boʻlsin, quyidagicha belgilashlar kiritamiz: 𝐴=(5−7 8 8−5 4 −7 8 −5),𝐴=(32 34 −7),𝐴=(𝐴 𝐴 𝐴) (2) u holda (1) ni quyidagicha 𝐴∗𝐴=𝐴 (3) 𝐴 =𝐴𝐴∗𝐴=(5 8 −7 −7−5 8 8 4 −5)∗(5−7 8 8−5 4 −7 8 −5) =(25 +64 +49 −35 −40 −56 40 +32 +35 −35 −40 −56 49 +25 +64 −56 −20 −40 40 +32 +35 −56 −20 −40 64 +16 +25 ) =(138 −131 107 −131 138 −116 107 −116 105 ) 𝐴 =𝐴𝐴∗𝐴=(5 8 −7 −7−5 8 8 4 −5)∗(32 34 −7)= (5∗32 +8∗34 +7∗7 −7∗32 −5∗34 −8∗7 8∗32 +4∗34 +7∗5)=(481 −450 427 ) S matritsani elementlarini topamiz: 𝐴𝐴∗𝐴=𝐴 𝐴11 =√𝐴11 =√138 =11.7473
PRINCIPAL ISSUES OF SCIENTIFIC RESEARCH AND MODERN EDUCATION Vol. 4 No.7 (2025) 46 𝐴12 =𝐴12 𝐴11 =−131 11.7473 =−11.1514 𝐴13 =𝐴13 𝐴11 =107 11.7473 =9.1084 𝐴22 =√𝐴22 −∑𝐴𝐴2 2 1 𝐴=1=√𝐴22 −𝐴12 2=√138 −11.15142=3.694 𝐴23 =1 𝐴22 (𝐴23 −∑𝐴𝐴2 ∗𝐴𝐴3)= 1 3.694 (−116 +11.1514 ∗9.1084)=3.905 1 𝐴=1 𝐴33 =√𝐴33 −∑𝐴𝐴3 2 2 𝐴=1=√𝐴33 −(𝐴13 2+𝐴23 2)=√105 −(9.10842+3.9052) =2.605 Natijada 𝐴=(11.7473 −11.1514 9.1084 0 3.694 −3.905 0 0 2.605 ) U holda 𝐴𝐴∗𝐴=𝐴 (11.7473 0 0 −11.1514 3.694 0 9.1084 −3.905 2.605)∗(𝐴1 𝐴2 𝐴3)=(481 −450 427 ) 1) 11.7473 ∗𝐴1=481,𝐴1=40.9455 2) −11.1514 ∗𝐴1+3.694 ∗𝐴2=−450 𝐴2=−450 +11.1514 ∗𝐴1 3.694 =1.6646 3) 9.1084 ∗𝐴1−3.905 ∗𝐴2+2.605 ∗𝐴3=427 𝐴3=427 −9.1084 ∗𝐴1+3.905 ∗𝐴2 2.605 =23.2446 𝐴=(40.9455 1.6646 23.2446) Endi X ning yechimlarini topamiz:
PRINCIPAL ISSUES OF SCIENTIFIC RESEARCH AND MODERN EDUCATION Vol. 4 No.7 (2025) 47 𝐴∗𝐴=𝐴 (11.7473 −11.1514 9.1084 0 3.694 −3.905 0 0 2.605 )∗(𝐴 𝐴 𝐴)=(40.9455 1.6646 23.2446) 1) 2.605 ∗𝐴=23.2446,𝐴=9 2) 3.694 ∗𝐴−3.905 ∗𝐴=1.6646 𝐴=1.6646 +3.905 ∗𝐴 3.694 =10 3) 11.7473 ∗𝐴−11.1514 ∗𝐴+9.1084 ∗𝐴=40.9455 𝐴=40.9455 +11.1514 ∗𝐴+9.1084 ∗𝐴 11.7473 =6 Demak, ushbu tenglamaning yechimlari 𝐴=(6 10 9). Ushbu misolni yuqoridagi usulda yechib beruvchi dastur yaratildi, undagi natijani keltirilgan misol natijasi bilan taqqoslaymiz va natija bir xilligini ko`ramiz: import numpy as np # === 1. Kiritish qismi === n = int(input("O'zgaruvchilar sonini kiriting (n): ")) print("\nA matritsa koeffitsiyentlarini kiriting (har bir satr alohida, elementlar orasiga bo'shliq qo'ying):") A = np.zeros((n, n)) for i in range(n): A[i] = list(map(float, input(f"{i+1}-satr: ").split())) print("\nOzod hadlarni kiriting (B vektor):") b = np.array(list(map(float, input("B = ").split())))
PRINCIPAL ISSUES OF SCIENTIFIC RESEARCH AND MODERN EDUCATION Vol. 4 No.7 (2025) 48 # === 2. Simmetrizatsiya (A^T * A va A^T * b) === A_sym = A.T @ A b_sym = A.T @ b print("\n--- Simmetriklashtirilgan matritsa (A_bar = A^T * A) ---") print(np.round(A_sym, 3)) # === 3. Cholesky (kvadrat ildizlar) usuli === def cholesky_decomposition(M): n = M.shape[0] S = np.zeros_like(M) for i in range(n): for j in range(i, n): if i == j: S[i, i] = np.sqrt(M[i, i] - np.sum(S[:i, i]**2)) else: S[i, j] = (M[i, j] - np.sum(S[:i, i] * S[:i, j])) / S[i, i] return S S = cholesky_decomposition(A_sym) print("\n--- Cholesky (S) matritsa ---") print(np.round(S, 4)) # === 4. Yechim topish === # S^T * Y = B_sym (oldinga yechish) Y = np.zeros(n) for i in range(n): Y[i] = (b_sym[i] - np.sum(S.T[i, :i] * Y[:i])) / S.T[i, i]
PRINCIPAL ISSUES OF SCIENTIFIC RESEARCH AND MODERN EDUCATION Vol. 4 No.7 (2025) 49 # S * X = Y (orqaga yechish) X = np.zeros(n) for i in reversed(range(n)): X[i] = (Y[i] - np.sum(S[i, i+1:] * X[i+1:])) / S[i, i] print("\n--- Yechimlar (X) ---") for i, val in enumerate(X, 1): print(f"x{i} = {val:.6f}") # === 5. Determinant === det_A = np.linalg.det(A) det_A_sym = np.linalg.det(A_sym) print(f"\nA matritsa determinanti: det(A) = {det_A:.6f}") print(f"Simmetrik matritsa determinanti: det(A^T*A) = {det_A_sym:.6f}") Natija:
PRINCIPAL ISSUES OF SCIENTIFIC RESEARCH AND MODERN EDUCATION Vol. 4 No.7 (2025) 50 Yuqoridagi hisoblashlardan ko`rinadiki, yechimni topish uchun ancha vaqt sarflanadi. Lekin chiziqli algebraik tenglamalar sistemasini yechishning kvadrat ildizlar usulini qo`llshga doir dastur tuzib, shartlari bajarilgan chiziqli algebraik tenglamalar sistemasini dasturdan foydalanib osongina ildizini topish mumkin. Dasturni o`zgaruvchilar soni boshqacha bo`lgan chiziqli algebraik tenglamalar sistemasini misolga qo`llab ham aniq yechimni topish mumkin. Quyida o`zgaruvchilar soni 4 ta va 5 ta bo`lgan chiziqli algebraik tenglamalar sistemasining yecimini topamiz: