Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Maple 9.5/10 Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, Ρ„ΠΈΠ·ΠΈΠΊΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 76

Автор Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ Π”ΡŒΡΠΊΠΎΠ½ΠΎΠ²

На рис. 6.1 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° графичСская визуализация ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΊ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† A ΠΈ Π’. Для усилСния эффСкта восприятия примСняСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ закраска Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ. Для задания Ρ†Π²Π΅Ρ‚Π° Π²Π²Π΅Π΄Π΅Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° F.

6.3. Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ LinearAlgebra ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ NAG

6.3.1. НазначСниС ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚Π° LinearAlgebra

Π’ Π½ΠΎΠ²Ρ‹Ρ… рСализациях систСм Maple Π±Ρ‹Π»Π° сдСлана ставка Π½Π° использованиС Π΄Π°Π²Π½ΠΎ Π°ΠΏΡ€ΠΎΠ±ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… быстрых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… создатСлями Number Algorithm Group (NAG). Π­Ρ‚ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈΠ·Π΄Π°Π²Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π­Π’Πœ ΠΈ ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, обСспСчивая ускорСниС числСнных ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π· Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дСсятков Ρ€Π°Π·. Π˜Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ обСспСчиваСт эффСктивноС использованиС систСм символьной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡, сводящихся ΠΊ Π·Π°Π΄Π°Ρ‡Π°ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹. Π’ числС Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ многочислСнныС Π·Π°Π΄Π°Ρ‡ΠΈ тСорСтичСской элСктротСхники, ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², модСлирования элСктронных устройств ΠΈ Ρ‚.Π΄.

Π’ Maple 9.5/10 использованиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² NAG рСализуСтся ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ LinearAlgebra. Для Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Ρ„Π°ΠΉΠ» NAG):

> restart; with(LinearAlgebra):

> infolevel[LinearAlgebra]:=1;

infolevelLinearAlgebra:= 1

МногиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ этого ΠΏΠ°ΠΊΠ΅Ρ‚Π° (ΠΈΡ… большой список ΠΎΠΏΡƒΡ‰Π΅Π½) повторяСт ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ старого ΠΏΠ°ΠΊΠ΅Ρ‚Π° linalg, описанного Π²Ρ‹ΡˆΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΈΡ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ описании. Π“Π»Π°Π²Π½ΠΎΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ возмоТности быстрых Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² NAG ΠΈ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Π° linalg, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° числСнныС расчСты Π² Ρ‚ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ вСщСствСнных чисСл, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅Π½ для примСняСмой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π—Π½Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΉΠΌΠ΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Π° LinearAlgebra ΠΏΠΎ ΠΈΡ… составным названиям. НапримСр, DeleteColumn ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ столбца ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, ToeplitzMatrix ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ созданиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π’Π΅ΠΏΠ»ΠΈΡ†Π°, ZeroMatrix β€” созданиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ элСмСнтами ΠΈ Ρ‚.Π΄. ВсС ΠΈΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ этого ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹.

6.3.2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π° LinearAlgebra

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² NAG особСнно эффСктивно Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ встроСнная Π² соврСмСнныС микропроцСссоры Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π»Π°Π³Π° Ρ‚Π°ΠΊΡƒΡŽ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ:

> UseHardwareFloats := false; # use software floats

Use Hardware Floats := false

> UseHardwareFloats := true; # default behaviour

UseHardwareFloats := true

ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобках, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

> Πœ1:=<<1|2>,<4|5>>; М2:=<<1|2.>, <4|5>>;

ПослС этого ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ с Π½ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ) ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹:

> М1^(-1); М2^(-1);

MatrixInverse: "calling external function"

MatrixInverse: "NAG" hw_f07adf

MatrixInverse: "NAG" hw_f07ajf

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Maple Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ сообщСния ΠΎ Π½ΠΎΠ²Ρ‹Ρ… условиях Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ инвСртирования ΠΌΠ°Ρ‚Ρ€ΠΈΡ† с вСщСствСнными элСмСнтами ΠΈ, Π² частности, ΠΎΠ± использовании Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² NAG ΠΈ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ, встроСнной Π² сопроцСссор.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ созданиС Π΄Π²ΡƒΡ… случайных ΠΌΠ°Ρ‚Ρ€ΠΈΡ† M1 ΠΈ М2 ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡ… ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅:

> M1:=RandomMatrix(2,3); М2:=RandomMatrix(3,3);

Multiply(M1,M2,'inplace'); M1;

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ inplace Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ умноТСния обСспСчиваСт ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° умноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Π½Π° мСсто исходной ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ М1 β€” ΠΈΠ·Π»ΡŽΠ±Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ΅ΠΌ создатСлСй быстрых ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² NAG. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ M1 ΠΈ М2 Π·Π°Π΄Π°Π½Ρ‹ ΠΊΠ°ΠΊ случайныС, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΈ этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, СстСствСнно, Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Ρ‹ΠΌΠΈ, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ LU-разлоТСния Π½Π°Π΄ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ М, созданной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Matrix:

> M:=Matrix([[14,-8,1],[-11,-4,18],[3,12,19]], datatype=float);

LUDecomposition(М,output=['NAG'],inplace);

ipiv:=%[1];

M;

LUDecomposition: "calling external function"

LUDecomposition: "NAG" hw_f07adf

6.3.3. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ систСм Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ срСдствами ΠΏΠ°ΠΊΠ΅Ρ‚Π° LinearAlgebra

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ являСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ систСм Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ. Для этого ΠΏΠ°ΠΊΠ΅Ρ‚ LinearAlgebra ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ряд ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ срСдств ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

β€’ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ коэффициСнтов ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΠΈΠ΄Π° Π₯=А-1*Π’;

β€’ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° LU-Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ (method='LU');

β€’ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° QR-Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ (method='QΠ ');

β€’ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° дСкомпозиция Π₯олСсского (method='Cholesky');

β€’ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ подстановки (method='subs').

РСшСниС с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ обращСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ коэффициСнтов Π»Π΅Π²ΠΎΠΉ части систСмы ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ А ΡƒΠΆΠ΅ Π½Π΅ Ρ€Π°Π· Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΎΡΡŒ ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ. Π’ связи с этим ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ особСнности Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ систСм Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сдСлано ΠΈ Π±Π΅Π· Π΅Π³ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

6.3.4. РСшСниС систСмы Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ LU-Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

Π—Π°Π΄Π°Π΄ΠΈΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ А Π»Π΅Π²ΠΎΠΉ части систСмы ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ свободных Ρ‡Π»Π΅Π½ΠΎΠ² Π’:

> restart; with(LinearAlgebra): UseHardwareFloats := false:

> A:=<<4|.24|-.08>,<.09|3|-.15>,<.041-.08|4>>; B:=<8, 9, 20>;

ΠŸΡ€ΡΠΌΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ этим ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ выполняСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Ρ„ΠΎΡ€ΠΌΠΎΠΉ записи:

> Ρ… := LinearSolve(А, Π’, method= 'LU');

Ρ… := LinearSolve(<А|B>, method='LU');

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ систСмы ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ:

> А.Ρ…-Π’;

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ (Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… точности вычислСний ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ).

МоТно Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ провСдя ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ LU-Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ наглядным Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ подстановки:

> P,L,U:=LUDecomposition(A);

> V2:=Transpose(Π ).Π’;

> V3:=ForwardSubstitute(L,V2);

> x:=BackwardSubstitute(U,V3);

> A.x-B;

6.3.5. РСшСниС систСмы Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ QR-Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Ρ‚Π΅Ρ… ΠΆΠ΅ исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ QR-Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ LinearSolve:

> Ρ… := LinearSolve(А, Π’, method='QR');

> A.x-B;

Π”Ρ€ΡƒΠ³ΠΎΠΉ, Π±ΠΎΠ»Π΅Π΅ явный, Π½ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ прСдставлСн Π½ΠΈΠΆΠ΅:

> Q,R := QRDecomposition(А);

> V2:=Transpose(Q).B;

> x:=BackwardSubstitute(R,V2);

> A.x-B;

Π’ΡƒΡ‚, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ вычислСний оказалась нСсколько Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ LinearSolve. Однако ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ допустимой ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

6.3.6. РСшСниС систСмы Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π₯олСсски

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΅Ρ‰Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π₯олСсски:

> x:=LinearSolve(А, Π’, method='Cholesky');

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ систСмы ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π₯олСсски:

> M_temp := Matrix(4, (i,j)->i+i*j-7, shape=triangular[lower]);

M :=M_temp.Transpose(M_temp);

IsMatrixShape(M, symmetric); IsDefinite(M);

> V := <6,1,3,-2>;

> x:=LinearSolve(M, V, method='Cholesky');

> M.x-V;

> M:=Matrix(3, (i,j)->i+2*j-8, shape=triangular[lower]); V:=<7,8,1>;

> x := ForwardSubstitute(M, V);

x := LinearSolve(M, V);

6.3.7. ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… систСм ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ

ΠœΡ‹ ограничимся простым ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ сразу Ρ‚Ρ€Π΅Ρ… систСм ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ. Π”Π°Π±Ρ‹ Π½Π΅ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ массивными выраТСниями, ограничимся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ систСм ΠΈΠ· Π΄Π²ΡƒΡ… Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° коэффициСнтов Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ΄Π½Π°, Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ свободных Ρ‡Π»Π΅Π½ΠΎΠ² Ρ€Π°Π·Π½Ρ‹Π΅. НиТС ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΎΠΉ систСмы:

> М:=Matrix([[1.,3],[4,5]],datatype=float);

V1:=<1.,2>;

V2:=<7,-11>;

V3:=<-34,-67>;

> LinearSolve(М,<V1|V2|V3>);

> М: =Matrix([[1.,3],[4,5]],datatype=float);

ipiv, M := LUDecomposition(M,output=['NAG'], inplace);

LinearSolve([ipiv, M], <V1|V2|V3>);

Ha этом ΠΌΡ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ ΠΎΠ±Π·ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π° LinearAlgebra. Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ, ΠΏΠΎΠ·Π½Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠ»ΠΈ Π·Π½Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π»ΡŽΠ±Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ этого ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с мноТСством ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Ρ… Π² справочной систСмС Maple ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ дСмонстрационных ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² LE_Linear_Solve.mws. ВозмоТности ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² linalg ΠΈ LinearAlgebra удовлСтворят самых Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… спСциалистов Π² этой области ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ.