초록 진술 이야기

조건이 나쁜 선형 대수 방정식 시스템. Krylov 부분공간을 사용하여 조건이 나쁜 선형 대수 방정식의 희소 시스템 풀기

실험실 작업 3번

조건이 나쁜 선형 대수 방정식 시스템 풀기

정규화 방법

입력 매개변수: 시스템의 차수 n과 동일한 n 양의 정수; a는 시스템 계수의 행렬을 포함하는 n x n 실수의 배열입니다. b - 시스템의 자유항 열을 포함하는 n개의 실수 배열(b(1) = b 1, b(2)=b 2, …b(n)=bn) .

출력 매개변수: x – 시스템 솔루션; p-반복 횟수.

알고리즘 다이어그램은 그림 18에 나와 있습니다.

프로그램 텍스트:

절차 regul(N:Integer;a:Tmatr;b:TVector;var X:TVector; var p:integer);

var a1,a2:tmatr; b1,b2,x0:t벡터; 알파,s1,s:실제; 최대,eps:실제; i,j,k,l:정수;

Out_Slau_T(n,a,b);

For I:=1 To n Do (A T A 수신)

K:=1에서 N까지

J의 경우:=1 To N Do S:=S+A*A;

For I:=1 To N Do (A T B 수신)

J의 경우:=1 To N Do

시작 S:=S+A*B[j];

알파:=0; (초기 알파 값)

k:=0; (반복 횟수)

알파:=알파+0.01; Inc(k); a2:=a1;

i:=1 ~ N do a2:=a1+alfa; (A T A+알파 수신)

for i:=1 to N do b2[i]:=b1[i]+alfa*x0[i]; (A T B+알파 수신)

SIMQ(n,a2,b2,l);

a2:=a1; X:=b2; x0:=X; b2:=b1;

vozm(N,eps,a2,b2);

심q(n,a2,b2,l);

i:=2 ~ n do에 대해

if abs(b2[i]-X[i])>max 그러면 max:=abs(b2[i]-X[i]);

X1 = 1.981 X2 = 0.4735


그림 18 - 정규화 방법 알고리즘의 구성표

정규화 방법을 사용하여 조건이 나쁜 시스템을 해결하기 위한 다양한 작업이 표 3에 나와 있습니다.

회전 방법(지정)

알고리즘 다이어그램은 그림 19에 나와 있습니다.

예. 연립방정식 풀기

프로그램 텍스트:

절차 Vrash;

Var I,J,K: 정수; M,L,R: 실제; F1:텍스트; M1,M2 라벨;

Out_Slau_T(nn,aa,b);

i:=1에서 Nn do까지

I의 경우:=1부터 Nn-1까지 시작

K:=I+1 Nn으로 시작

If (Aa0.0) 다음은 M1으로 이동합니다. If (Aa0.0) 다음은 M1으로 이동합니다.

1:M:=Sqrt(Aa*Aa+Aa*Aa);

L:=-1.0*Aa/M;

M2:J의 경우:=1 Nn으로 시작

R:=M*Aa-L*Aa;

Aa:=L*Aa+M*Aa;

R:=M*Aa-L*Aa;

Aa:=L*Aa+M*Aa;

I:=Nn Downto 1의 경우 시작하세요.

K:=0에서 Nn-I-1로 시작 M:=M+Aa*Aa; 끝;

Aa:=(Aa-M)/Aa; 끝;

for i:=1 ~ Nn do x[i]:=Aa;End;

프로그램에 따른 계산 결과는 다음과 같습니다.

X1 = 1.981 X2 = 0.4735

그림 19 - 기븐스(Givens) 방법 알고리즘의 구성표(회전)

작업 옵션

표 3

매트릭스 A

매트릭스 A

지식 통제를 위한 실험실 작업 3번 주제는 통제 및 훈련 프로그램으로 설명됩니다.

실험실 작업 No.4

비선형 방정식 및 비선형 방정식 시스템 풀기

간단한 반복 방법

실험실 작업 수행 절차:

    해의 영점 근사값을 찾습니다.

    시스템 f(x) = 0을 x = Ф(x) 형식으로 변환합니다.

    메소드의 수렴 조건을 확인하십시오.

알고리즘 다이어그램은 그림 20에 나와 있습니다.

예. 간단한 반복 방법을 사용하여 시스템을 해결합니다.

영 근사로 x = 1, y = 2.2, z = 2 점을 선택합니다. 시스템을 다음 형식으로 변환하겠습니다.

프로그램 텍스트:

절차 Iteraz;

Var I,J,K,J1: 정수;

X2,X3,Eps: 실제;

Eps:=0.01; X2:=0.0; K:=1;

J의 경우:=1부터 Nn까지 시작

I:=1 To Nn 시작 S:=S+Aa*Xx[i]; 끝;

J1:=1 Nn으로 시작 Xx:=R; 끝; X3:=Xx;

I:=1 To Nn 시작하기 If (Xx[i]>=X3) Then X3:=Xx[i]; 끝;

I:=1 To Nn 시작 Xx[i]:=Xx[i]/X3; 끝;

X1:=X3; U:=절대(X2-X1); U1:=U/Abs(X1);

If (U1>=Eps) 그러면 X2:=X1;

((K>=50)또는(U1까지

프로그램에 따른 계산 결과는 다음과 같습니다.

X(1)= 1.1132 X(2)= 2.3718 X(3)= 2.1365

반복 횟수:5

그림 20 - 단순 반복 방법 알고리즘의 구성표

뉴턴의 방법

이 프로그램은 10분의 1 이하의 차수 시스템을 해결하는 데 사용할 수 있습니다.

입력 매개변수: n - 시스템의 방정식 수(미지수 수와 일치), n £ 10; 해의 초기 추측값을 포함하는 n개의 실수로 구성된 x 배열입니다. f는 배열 x의 요소에 있는 주어진 값 x를 기반으로 함수 f의 현재 값을 계산하여 다음 위치에 배치하는 외부 프로시저 f(n, x, y)의 이름입니다. 배열 y의 요소; g - 배열 x의 주어진 값 x에서 행렬 요소를 계산하는 외부 프로시저 g(n, x, d)의 이름
, 이는 차원 n x n의 배열 d에 위치합니다. EPS - 반복 프로세스를 종료하기 위한 조건 값입니다.

출력 매개변수: x - n개의 실수 배열(입력이라고도 함)에는 서브루틴을 종료할 때 해의 대략적인 값이 포함됩니다. k는 반복 횟수입니다.

UDC 519.61:621.3

V.P. VOLOBOEV*, V.P. 클리멘코*

물리적 객체를 설명하는 선형 대수 방정식의 조건이 잘못된 시스템을 해결하기 위한 한 가지 접근 방식에 대해

우크라이나 국립과학원 수학 기계 및 시스템 문제 연구소(우크라이나 키예프)

추상적인. 선형 대수 방정식 시스템(SLAR)으로 설명되는 이산 모델인 물리적 객체 모델링 결과의 가능성은 행렬 설계가 불량한 결과가 아니라 다음과 같은 결과로 나타나는 것으로 나타났습니다. 노드 전위 또는 그 유사 방법 및 방법 자체를 사용하여 접힌 레벨 단계에서 최소 SLAR의 잘못된 선택 이는 작업을 올바르게 설정하는 방법과 큰 모순입니다. SLAR의 정확성을 확인하는 방법은 다음과 같이 구성됩니다. 생성되지 않은 대칭 행렬을 갖는 노드 전위 방법이 제안되었으며 이를 올바른 형태로 변환하는 것이 필요합니다.

핵심 단어: 시스템, 모델링, 잘못된 설정, 잘못된 추론, 선형 대수 방정식 시스템, 노드 전위 방법, 작업의 올바른 설정 방법, 정확성 확인.

주석. SLAE(선형 대수 방정식 시스템)로 설명되는 이산 모델인 물리적 개체 모델링 결과의 신뢰성은 행렬의 열악한 조건이 아니라 SLAE 변수의 잘못된 선택에 따라 달라지는 것으로 나타났습니다. 노드 전위 방법 또는 그 유사 방법을 사용하여 방정식을 구성하는 단계에서 방법 자체는 문제를 올바르게 공식화하는 방법의 특별한 한 사례입니다. 비축퇴 및 대칭 행렬을 갖는 절점 전위 방법으로 컴파일된 SLAE의 정확성을 확인하고 필요한 경우 이를 올바른 형식으로 변환하는 기술이 제안되었습니다.

핵심 단어: 시스템, 모델링, 잘못된 문제, 잘못된 조건, 선형 대수 방정식 시스템, 노드 전위 방법, 문제의 올바른 공식화 방법, 정확성 확인.

추상적인. 이 논문은 이산 모델이 선형 대수 방정식(SLAE) 시스템으로 설명되는 물리적 객체의 시뮬레이션 결과의 신뢰성이 열악한 조건의 행렬이 아니라 방정식 생성 단계에서 변수 SLAE의 잘못된 선택에 달려 있음을 보여줍니다. 노드 전위 방법 또는 그 유사 방법으로, 이 방법은 문제를 올바르게 설명하는 방법의 특별한 경우입니다. 비단수 행렬과 대칭 행렬을 갖는 노드 포텐셜 방법으로 만든 SLAE의 정확성에 대한 체크아웃 방법과 필요한 경우 이를 올바른 형태로 변환하는 방법을 제안했습니다.

키워드: 시스템, 시뮬레이션, 잘못된 문제, 불량 조건, 선형 대수 방정식 시스템, 노드 전위 방법, 문제의 올바른 설명 방법, 정확성 점검.

1. 소개

물리적(기술적) 객체 모델링의 많은 문제는 SLAE(선형 대수 방정식) 시스템을 해결하는 데서 비롯됩니다. 이러한 시스템을 풀 때 모든 계산은 유한한 유효 숫자로 수행되므로 반올림 오류로 인해 정확도가 크게 떨어질 수 있습니다. 조건이 좋지 않은(불안정한) 시스템 또는 보다 일반적인 공식에서 잘못 제기된 문제는 고정된 수준의 입력 데이터 오류 및 계산 정확도가 주어지면 솔루션의 정확성을 보장하지 않는 문제로 간주됩니다. 조건수는 SLAE를 풀 때 발생할 수 있는 오류에 대한 사전 최악의 추정치로 사용됩니다. 문헌에서 다음과 같이 잘못된 문제를 해결하기 위한 방법의 개발은 순전히 수학적 문제로 간주되며, 많은 문제의 수치적 해법에도 불구하고 물리적(기술적) 객체의 특징을 고려하지 않습니다. 수리물리학 및 복잡한 물리적 과정의 수학적 모델링

© Voloboev V.P., Klimenko V.P., 2014

올빼미와 기술 시스템은 선형 대수학 문제의 무한한 원천입니다. 나열된 문제 클래스의 경우 해결 방법을 개발할 때 특정 문제의 기능을 어떤 방식으로든 고려할 수 있는 SLAE 컴파일 단계는 고려되지 않습니다. 이 단계를 고려해야 한다는 사실은 다음 작업의 결과를 통해 확인됩니다.

우선, SLAE를 풀 때 정확도 손실이 작고 조건수의 값이 큰 행렬의 예를 제공하는 작업에 주목할 가치가 있습니다. 즉, 일반적으로 허용되는 기준이 다음과 같습니다. 조건수를 기반으로 SLAE 해결의 정확성에 대한 사전 평가가 필요하지만 충분하지는 않습니다. 잘못된 문제를 해결하기 위한 완전히 새로운 접근 방식이 작업 중에 제안되었습니다. 이는 조건수의 값이 큰 경우에도 SLAE 해결의 정확도를 높이기 위해 물리적 객체의 이산 모델을 기술하는 단계에서는 SLAE를 정확하게 구성하는 것이 제안된다는 사실이다. 이는 연구에서 보고된 바와 같이 그러한 행렬이 존재할 뿐만 아니라 객체의 이산 모델을 설명하는 SLAE 행렬을 올바르게 컴파일하기 위한 방법이 제안되었음을 의미합니다. SLAE 행렬을 컴파일하는 방법은 전기 회로, 전력 시스템, 역학 막대 시스템 및 수리 물리학의 타원 방정식의 동작을 모델링하는 문제와 관련하여 고려됩니다.

이 방법의 핵심은 기존 방법과 달리 SLAE를 형성할 때 대상 변수 선택을 통해 물리적 객체의 이산 모델 매개변수를 고려한다는 것입니다. 이 방법은 이산 모델 토폴로지가 그래프로 표시되는 객체에만 적용 가능하다는 점에 유의해야 합니다.

이 요구 사항은 전기 회로 및 전력 시스템의 설계 모델에 의해 충족됩니다. 복잡한 물리적 프로세스, 기술 시스템 및 수리 물리학의 수학적 모델링과 관련된 많은 문제의 경우 그래프 형태의 이산 모델의 토폴로지 표현이 사용되지 않습니다. 작품은 물리적 객체의 이산 모델의 계산 방식 요소의 토폴로지를 그래프 형태로 표현함으로써 위의 제한이 제거되었음을 보여줍니다. 요소들의 토폴로지를 그래프 형태로 표현하는 방법도 있습니다.

본 논문에서는 이산모델의 위상이 그래프 형태로 표현되지 않는 경우에 대해 잘못 제기된 문제를 수정하는 방법을 제안한다. 방법을 개발할 때 우리는 수리 물리학, 복잡한 물리적 프로세스 및 기술 시스템(노달 전위 방법)의 문제에 대한 이산 모델을 설명하기 위해 일반적으로 허용되는 방법이 SLAE 행렬을 올바르게 컴파일하는 방법의 특별한 경우라는 사실을 고려합니다. .

2. 물체의 이산 모델을 설명하는 SLAE 솔루션의 정확성과 방정식 구성 방법 간의 관계

학자 Voevodin V.V. 그의 연구에서 가우스 방법을 사용하여 SLAE를 해결한 결과의 가장 높은 정확도는 주 요소를 선택한 방법을 사용할 때 달성된다는 것을 보여주었습니다. 이 아이디어를 바탕으로 수많은 작품이 출판되었습니다. 그러나 실제 문제를 해결하면 특히 조건이 나쁜 행렬의 경우 SLAE 해결의 정확도가 반올림 오류로 인해 크게 손실되는 것으로 나타났습니다. 즉, 솔루션 단계에서 결과의 정확도를 향상시키기에는 충분하지 않습니다. 주요 요소를 선택하여 간단히 가우스 방법을 사용합니다.

이 아이디어의 추가 발전은 물체의 이산 모델에 대한 설명을 컴파일하는 단계에서 매트릭스의 대각선 요소를 주요 요소로 형성하기 위해 제안된 작업에서 제안된 방법입니다. 이를 위해 설명을 작성할 때 추가 정보, 즉 이산 모델의 매개변수가 사용됩니다. 이 접근법의 효율성, 즉 이산을 설명하는 SLAE 솔루션의 정확도에 대한 의존성

ISSN 1028-9763. 수학 기계 및 시스템, 2014, No. 4

방정식을 구성하는 방법으로부터 물체의 새로운 모델을 모델 예제를 사용하여 시연합니다. 아래에서는 기본 요소와 해당 솔루션을 선택하거나 선택하지 않고 에 설명된 방법을 사용하여 모델 예제에 대한 설명을 컴파일하는 것을 고려할 것입니다.

그림 1에 표시된 전기 회로가 모델 예로 선택되었습니다. 1.

쌀. 1. 전기회로

전기 회로를 설명하는 SLAE의 조건은 회로 구성 요소의 전도도(저항) 값의 확산 범위에 따라 달라지는 것으로 알려져 있습니다. 전기 회로 구성 요소의 전도도 변화 범위(15차)는 SLAE의 열악한 조건을 보장하므로 일반적으로 생각되는 것처럼 문제의 부정확성을 보장합니다. 노드 2의 전위(구성요소 G2의 전압)를 계산하는 예를 사용하여 전기 회로에 대한 설명을 작성할 때 대각선 요소를 형성하는 방법에 대한 계산 결과의 신뢰성 의존성을 분석합니다.

다음은 올바른 문제 공식화 방법을 사용하여 모델 예제를 해결하는 데 필요한 주요 조항입니다. 이 방법을 사용하여 전기 회로의 수학적 모델을 구성하는 것은 키르히호프의 법칙에 기초하여 작성된 구성 요소 방정식 및 방정식을 포함하는 전기 회로의 기본 방정식 시스템을 기반으로 합니다. 모델 예의 경우 구성요소 방정식의 형식은 다음과 같습니다.

여기서 U i는 부품 전체에 걸쳐 떨어지는 전압, I는 부품을 통해 흐르는 전류, Gt는 부품의 전도성입니다.

전기 회로의 그래프와 이에 따른 Kirchhoff의 법칙을 기반으로 한 방정식을 설명하기 위해 등고선과 단면의 위상 행렬이 사용됩니다. 회로 그래프는 전기 회로와 일치합니다. 등고선과 단면의 토폴로지 행렬을 컴파일하는 작업에는 회로 그래프 트리를 선택하고 선택한 트리에 대한 등고선을 그리는 작업이 포함됩니다. 전기 회로 그래프의 트리는 모든 전압 소스가 트리에 포함되고 모든 전류 소스가 코드에 포함되는 방식으로 선택됩니다. 회로 구성요소의 전압 벡터 U 및 전류 I의 요소는 트리(인덱스 D), 즉 분기 및 코드(인덱스 X)에 포함된 요소로 그룹화됩니다.

윤곽선은 회로 그래프 트리에 코드를 결합하여 형성됩니다. 이 경우

등고선의 토폴로지 행렬은 다음과 같은 형식을 갖습니다.

여기서 1은 화음의 단위 부분행렬이고, t는

는 행렬의 전치를 나타내며 섹션의 위상적 행렬은 |1 -F 형식입니다. 여기서 1은 가지의 단위 부분행렬입니다. 에서 다음과 같이 행렬의 대각선 항

ISSN 1028-9763. 수학 기계 및 시스템, 2014, No. 4

회로의 트리 구성 요소의 전도성이 최대 전도성을 갖는 경우 주요 요소가 됩니다. 위상 행렬의 종류를 고려하면 키르히호프의 법칙을 바탕으로 작성된 회로 방정식은 다음과 같이 행렬 형식으로 작성할 수 있습니다.

그들의 =-ґid, (3)

컴파일된 방정식 시스템의 변수는 주요 방정식 시스템의 분석 결과로 구성 요소의 전압 및/또는 전류에서 선택됩니다. 트리의 가지에 포함된 성분을 가변전압으로 선택하면 성분식 (1)과 식 (3), (4)는 다음과 같은 형태로 변환될 수 있다.

Gd U d - F(Gx (- FUd)) = 0.

아래에서는 모델 예에 대한 방정식 편집을 제시합니다. 먼저, 매트릭스의 대각선 항이 주요 항이 되도록 전기 회로에 대한 설명이 작성됩니다. 이 요구 사항은 트리에 포함된 구성 요소 E1, G6, G3, G2 세트에 의해 충족됩니다(그림 1에서 트리의 가지가 두꺼운 선으로 강조 표시됨). 다음 구성 요소의 전압 및 전류 벡터는 선택한 트리에 해당합니다.

및 위상 행렬

(6), (7) 및 변환 후 구성 요소 방정식을 고려한 방정식 (5)는 다음과 같은 형식을 갖습니다.

- (G4 + G5) (G4 + G5) G1 + G2 + G4 + G5

SLAE(8)은 행렬의 고유값 \= 1.5857864376253, R2 = 5.0E +14+j5.0E +14, A, = 5.0E +14 - j5.0E +14이므로 조건이 나쁩니다. 방정식을 구성하기 위한 옵션 선택에 따라 시스템 해결 결과의 정확도가 어떻게 달라지는지 확인하기 위해 노드 2의 잠재적 Uq 계산은 다음과 같은 일반적인 형식으로 수행됩니다.

ISSN 1028-9763. 수학 기계 및 시스템, 2014, No. 4

(g1+g2 +g4 +g5)-

계산 과정(9-11)의 분석에 따르면 전도도 값(15배)의 큰 변화에도 불구하고 다음과 같은 경우에 숫자 표현의 최종 정확도에 대한 엄격한 요구 사항은 없습니다. 방정식을 작성하고 풀 때. 신뢰할 수 있는 결과를 얻으려면 숫자를 두 개의 유효 숫자로 표현하는 정확도로 SLAE를 컴파일하고 해결하는 계산 프로세스를 수행하는 것으로 충분합니다.

SLAE(8)에서 행렬 G+G4+G5I의 두 번째 행(열)의 대각선 요소는 나머지 항의 합보다 훨씬 더 큽니다(15자릿수만큼).

행(열) | G4 + 2G51. 이는 UG = 0을 취함으로써 SLAE를 단순화할 수 있음을 의미합니다.

(8) 결과의 신뢰성을 유지합니다. 수동 계산 시대에 이 기술은 노드 2를 3과 결합하는 것에 해당합니다(그림 1).

두 번째 경우(대각선 요소를 주요 요소로 선택하지 않고) 트리에서 구성 요소 Ex, G6, G4, G2를 선택하는 것으로 충분합니다(그림 1에서 트리의 가지가 점선으로 표시됨).

선). 이러한 구성 요소의 전압 강하는 제로 노드부터 계산된 노드 전위 1, 4, 3, 2에 해당합니다. 이는 트리에서 이러한 구성 요소를 선택하면 SLAE 매트릭스를 올바르게 구성하는 방법이 노드 전위 방법과 일치한다는 것을 의미합니다. 다음 구성 요소의 전압 및 전류 벡터는 선택한 트리 및 코드에 해당합니다.

U D = UG UG G4, Ux = G1 UG3 UG G D G ig G4, Ix = G1 IG3 IG

UG G2 G5 ig G2 G5

및 토폴로지 행렬

방정식 (5)는 (12), (13) 및 구성 요소 방정식을 고려하여 다음을 취합니다.

ISSN 1028-9763. 수학 기계 및 시스템, 2014, No. 4

G5 + G6 -G5 0 UG G6 0

G5 G3 + G4 + G5 -G3 Uo. = 0

0 - G3 G1 + G2 + G3 Uo2 G1E1

방정식 (14) 시스템은 다음과 같은 행렬의 고유값을 갖기 때문에 조건이 좋지 않습니다: 1 = 1.0,1 =1015 +у1015,1 =1015-/1015. 예제의 첫 번째 버전에서와 같이 노드 2의 잠재적 UG는 일반적인 형식으로 계산됩니다.

(G + G + G) ----------

V 3 4 У (G + G)

+ (G1 + G2 + G3)

3 4 5"(G5 + G6)

방정식 시스템(15-17)을 해결하는 계산 과정을 분석한 결과 결과의 신뢰성은 방정식을 구성하고 풀 때 숫자 표현의 최종 정확도에 따라 달라집니다. 따라서 시스템(15-17)을 푸는 계산 프로세스가 유효 숫자 15개 미만의 정확도로 수행되면 결과는 다음과 같습니다.

1015 +1015 ~ 오,

정확도가 유효숫자 15자리를 초과하는 경우

1030 + 2*1015 +1030 + %+ 3/1015)

행렬 (8)과 (14)의 비교와 방정식 시스템을 해결하기 위한 계산 프로세스를 통해 다음과 같은 결론을 얻을 수 있습니다.

절점 전위 방법은 에서 제안한 방법의 특별한 경우입니다. 즉, 절점 전위 방법에서는 기본 노드와 나머지 노드를 연결하는 그래프의 가장자리가 항상 트리에 선택됩니다.

행렬의 대각선 요소는 행렬이 최대 대각선 선택 여부에 관계없이 행과 열 모두에서 다른 요소보다 모듈러스가 더 큽니다. 유일한 차이점은 대각선 요소가 비대각선 요소보다 얼마나 큰지입니다. 이는 주 요소를 선택하여 가우스 방법을 사용하여 이러한 유형의 SLAE를 해결해도 이 유형의 문제에 대한 결과의 정확도가 향상되지 않음을 의미합니다.

ISSN 1028-9763. 수학 기계 및 시스템, 2014, No. 4

가우스 해법에 사용되는 최종 유효 숫자 수는 최대 대각선 요소를 선택하여 행렬을 구성하는지 여부에 따라 크게 달라집니다. 문제의 한 버전과 다른 버전 간의 차이점은 방정식을 작성하는 단계에서 어떤 경우에는 최대 전도성을 가진 구성 요소가 트리로 선택되어 이 구성 요소의 전압이 SLAE에서 변수로 작용한다는 것입니다. 이 구성 요소의 전도성은 매트릭스의 대각선 요소 형성에만 관련됩니다. 다른 경우에는 이 구성 요소가 코드에 속합니다. 식 (3)으로부터 다음과 같이 구성요소 응력은 트리 구성요소의 응력을 통해 결정됩니다. 방정식 (4)에서 구성 요소의 전도도는 행과 열의 요소 형성에 관여하므로 현의 전도도가 이러한 매트릭스 요소의 크기를 결정합니다.

3. 노드 전위 방법으로 컴파일된 SLAE 매트릭스를 올바른 공식에 해당하는 형태로 변환합니다.

수리 물리학의 문제를 수치적으로 풀고 복잡한 물리적 과정과 기술 시스템의 수학적 모델링을 수행하여 이러한 문제의 이산 모델을 설명하는 SLAE를 컴파일할 때 노드 전위 방법 또는 그 유사 방법이 주로 사용됩니다. 이 방법의 특징은 기본 노드부터 나머지 노드까지 계산된 이산 모델의 설계 방식의 잠재력, 방정식을 구성하는 간단한 알고리즘 및 SLAE의 약하게 채워진 행렬을 SLAE 변수로 사용한다는 것입니다. 그러한 효율성에 대한 대가는 작업의 부정확성일 수 있습니다. 노드 전위 방법은 문제를 올바르게 제기하는 방법의 변형 중 하나일 뿐이라는 점을 고려하면, 잘못 제기된 문제는 행렬 변환을 적용하여 수정할 수 있습니다. 아래에서는 노드 전위 방법으로 잘못 구성된 문제를 변환하는 알고리즘을 고려합니다.

다양한 물리적 객체 중에서 선형 이산 모델이 비축퇴 및 대칭 행렬을 사용하는 SLAE로 설명되는 객체만 고려됩니다.

3.1. 행렬 변환 알고리즘

행렬 변환 알고리즘을 개발할 때 행렬 i번째 행의 j번째 비대각선 요소가 빼기 기호가 있는 행렬에 포함되고 연결을 설명하는 이산 모델 매개변수를 포함한다는 사실이 사용됩니다. 이산 모델의 i번째 노드와 j번째 노드 사이. 대각선 요소는 양수 부호가 있는 행렬에 포함되며, 비대각선 요소의 합과 i번째 노드와 기본 노드 사이의 연결을 설명하는 이산 모델 매개변수를 포함합니다. 일반적으로 이산 모델의 노드 번호를 매길 때 기본 노드는 0으로 간주됩니다.

위에서 수행한 연구에서 다음과 같이 컴파일된 SLAE 수준의 문제의 부정확성은 선의 비대각선 요소 중 하나 이상이 포함된 이산 모델의 매개변수보다 상당히 큰 경우에만 발생합니다. 대각선 요소에서. 다음은 컴파일된 SLAE의 정확성을 확인하는 방법입니다.

SLAE의 형식을 다음과 같이 설정하세요.

여기서 x는 노드 전위(노드 영향)의 벡터이고, y는 외부 흐름의 벡터이고, A는 다음 형식의 행렬입니다.

ISSN 1028-9763. 수학 기계 및 시스템, 2014, No. 4

а11 а1і a1j a1n

аі1 а,і aj ain , (21)

aJ1 an1 аі aJJ 앤

여기서 n은 행렬 크기입니다. 행렬 요소는 다음 요구 사항을 충족합니다.

ai > 0, 에이.< 0, а. = а]г,1 < i < n, 1 < j < n при j Ф і. (22)

아래에서는 행렬의 i번째 행의 정확성을 확인하고 필요한 경우 수정 사항을 고려합니다.

먼저, 행렬의 i번째 행의 대각선 요소에만 포함되는 이산 모델 매개변수 ait를 결정하고,

매개변수 ait가 조건을 만족하면 행렬의 i번째 행이 올바르게 구성된 것으로 간주됩니다.

1 < j < n, при j Ф і.

조건(24)이 충족되지 않으면 i번째 행이 조정됩니다. 먼저, 대각선이 아닌 요소 중 가장 큰 요소가 선택됩니다. 이것을 i 번째 행의 j 번째 요소로 둡니다. 행렬 구성의 특성(조건 (22))으로 인해 요소 o의 형성에 관여하는 이산 모델의 매개변수를 확인하는 것은 쉽습니다. i번째 및 j번째 라인의 a.^는 aii 및 a 요소에 통합 부분으로 포함됩니다. . i번째 행 조정의 핵심은 요소의 값이 a가 되도록 행렬의 i번째 행과 j번째 행을 변환하는 것입니다. 요소 aii에만 포함되었습니다. 변수 xi를 다음과 같은 형식으로 표현하면 쉽게 알 수 있습니다.

X = xj + xj (25)

SLAE 행렬의 j번째 열 요소에 대해 다음 변환을 수행합니다.

오 = 아이. + 아이, 1< 1 < n , (26)

변환된 요소가 a인 행렬의 새로운 j번째 열을 얻습니다. 그리고 요소 a를 형성한 이산 모델의 매개변수를 포함하지 않습니다. 그리고 .

다음 단계는 다음 공식을 사용하여 j번째 행을 변환하는 것입니다.

아지 = a.i + aii, 1< l < n . (27)

변환된 j 문자열의 a i 요소에는 a i 요소에 해당하는 이산 모델 매개변수가 더 이상 포함되지 않습니다.

ISSN 1028-9763. 수학 기계 및 시스템, 2014, No. 4

SLAE 행렬의 정확성을 확인하고 잘못된 행을 수정하는 작업은 전체 행렬에 대해 수행됩니다. 본 연구에서는 행렬을 올바른 형태로 변환하기 위한 알고리즘을 구성하는 접근 방식만 고려합니다. 행렬을 올바른 형식으로 변환하기 위한 효율적인 알고리즘 개발과 관련된 문제는 이 작업에서 고려되지 않습니다. 아래에서는 노드 전위 방법으로 컴파일된 SLAE 매트릭스(14)의 변환 예를 제공합니다.

3.2. 데모 예시

우선, 행렬(14)은 대칭이고 축퇴되지 않는다는 점에 유의해야 합니다. 행렬 계수는 조건 (22)를 충족합니다. 노드 전위는 구성 요소의 전압 강하에 해당합니다.

U4 = UG^, U3 = UG, U2 = UG

(28)을 고려하면 SLAE (14)는 다음과 같이 표현될 수 있습니다.

G5 + G6 - G5 0 U 4 0

G5 G3 + G4 + G5 - G3 U3 = 0

0 - G3 G + G2 + G3 U2 GA

행렬의 정확성을 확인하는 작업에는 다음 작업이 포함됩니다.

이산형 모델 매개변수 ait의 공식(23)에 의한 결정(포함됨)

대각선 요소로. 행렬의 첫 번째 행은 G6, 두 번째 행은 G4, 세 번째 행은 - (G1 + G2)입니다.

행렬 행의 정확성을 확인하는 것은 공식(24)에 따라 수행됩니다. 이 검사 결과, (G4 = 1) ^(G3 = 1015) 이므로 두 번째 줄은 정확성 요구 사항을 충족하지 않는 것으로 나타났습니다. 매개변수 G3은 행렬의 세 번째 행에도 포함되므로 식(25)에 따라 변수 U3의 표현은 다음 형식으로 선택됩니다.

U3 = U2 + U23, (30)

세 번째 열의 요소를 공식(26)에 따라 변환한 결과 다음 형식의 행렬(29)을 얻습니다.

G5 + G6 - G5 - G5

G5 g3 + g4 + g5 g4+g5

세 번째 행을 변환한 후 공식(27)에 따라 행렬(31)은 다음과 같은 형식을 갖게 됩니다.

(G5 + G6) - G5 - g5 U 4 0

G5 (G3 + G4 + G) (G4 + G5) U 23 = 0 . (32)

G5 (G4 + g5) (G + G2 + G4+g5) U2 G E

SLAE(32)는 정확성 요구 사항을 충족하므로 조정이 완료된 것으로 간주됩니다. SLAE 변수(32)는 SLAE 변수(8)에 해당합니다.

ISSN 1028-9763. 수학 기계 및 시스템, 2014, No. 4

트리로 변환한 결과 문제의 올바른 공식화 방법과 동일한 구성 요소가 선택되었습니다. SLAE(8)과 (32)를 비교하면 두 번째 열과 두 번째 행의 행렬(32)의 비대각선 요소의 부호가 행렬(8)과 다릅니다. 이는 행렬(14)을 변환할 때 SLAE(8)를 컴파일할 때 선택한 방향과 반대되는 G3 구성 요소의 전류 방향이 선택되었다는 사실의 결과입니다. 변수 U23을 U23 = -U23으로 대체하고 두 번째 방정식의 요소 부호를 반대 방향으로 변경하여 행렬(8)을 얻습니다.

4. 결론

모델링은 인류 지적 활동의 필수적인 부분이 되었으며, 모델링 결과의 신뢰성은 모델링 결과를 평가하는 주요 기준입니다. 결과의 신뢰성을 보장하려면 복잡한 개체와 해당 솔루션을 설명하기 위한 방법 및 알고리즘 개발에 대한 새로운 접근 방식이 필요합니다.

잘못된 문제를 해결하기 위한 방법을 개발하는 기존 접근 방식과 달리, 본 논문에서는 잘못된 문제(잘못된 조건)를 올바른 형식으로 가져오는 것을 제안합니다. 물리적 객체의 이산 모델을 설명하는 SLAE를 풀 때 신뢰할 수 있는 결과를 얻기 어렵게 만드는 것은 행렬의 조건이 좋지 않다는 것이 아니라 방정식 구성 단계에서 SLAE 변수를 잘못 선택하고 노드의 방법이 있음을 보여줍니다. 이산 모델을 설명하는 SLAE를 컴파일하는 데 사용되는 전위 및 유사체는 문제를 올바르게 공식화하는 방법의 특별한 경우입니다. SLAE 행렬이 비단수형 및 대칭형인 경우 노드 전위 방법으로 컴파일된 SLAE의 정확성을 확인하는 기술이 제안되었습니다. 행렬을 올바른 형태로 변환하는 알고리즘이 고려됩니다.

서지

1. Kalitkin N.N. 선형 대수 방정식 시스템에 대한 정량적 조건부 기준 / N.N. 칼리트킨, L.F. 유크노, L.V. Kuzmina // 수학적 모델링. - 2011. T. 23, No. 2. - P. 3 - 26.

2. Voloboev V.P. 복잡한 시스템을 모델링하는 한 가지 접근 방식 / V.P. Voloboev, V.P. Klimenko // 수학 기계 및 시스템. - 2008. - 4호. - P. 111 - 122.

3. Voloboev V.P. 전력 시스템 모델링에 대한 한 가지 접근 방식 / V.P. Voloboev, V.P. Klimenko // 수학 기계 및 시스템. - 2009. - 4호. - P. 106 - 118.

4. Voloboev V.P. 막대 시스템의 역학과 그래프 이론 / V.P. Voloboev, V.P. Klimenko // 수학 기계 및 시스템. - 2012. - 2호 - P. 81 - 96.

5. Voloboev V.P. 유한요소법과 그래프 이론 / V.P. Voloboev, V.P. Klimenko // 수학 기계 및 시스템. - 2013. - 4호. - P. 114 - 126.

6. 푸호프 G.E. 수학 기계 이론의 선정된 질문 / Pukhov G.E. - 키예프: 우크라이나 SSR 과학 아카데미 출판사, 1964. - 264 p.

7. Seshu S. 선형 그래프와 전기 회로 / S. Seshu, M.B. 리드. -M .: 고등 학교, 1971. - 448 p.

8. Zenkevich O. 유한 요소 및 근사 / O. Zenkevich, K. Morgan. -M .: Mir, 1986. -318 p.

9. Voevodin V.V. 선형대수학의 계산 기초 / Voevodin V.V. -M .: Nauka, 1977. -304 p.

10. 전기공학의 이론적 기초: 대학 교과서 / K.S. 데미르치안, L.R. 네이먼, 네바다주 코로프킨, V.L. 체츄린. - . - 피터, 2003. - T. 2. - 572 p.

선형 대수 방정식의 조건이 나쁜 시스템을 해결하는 데 어떤 어려움이 있는지는 알려져 있습니다. 이러한 시스템의 우변에 있는 작은 변화는 해의 큰(허용 가능한 한계를 넘어서는) 변화에 해당할 수 있습니다.

방정식 시스템을 고려하십시오.

Аz=u, (3; 2,1)

어디 ㅏ --요소가 a ij인 행렬 , ㅏ=(a ij ), z -- 좌표가 z j인 원하는 벡터 , z=(z j ), 그리고 --좌표가 있는 알려진 벡터 그리고 ,유= (u i ), i, j =1, 2, ..., 피.시스템 (3; 2,1)이 호출됩니다. 퇴화하다,시스템의 행렬식이 0이면 detA = 0. 이 경우 매트릭스 고유값이 0입니다. 이러한 유형의 조건이 나쁜 시스템의 경우 매트릭스는 0에 가까운 고유값을 갖습니다.

계산이 유한한 정확도로 수행되면 어떤 경우에는 주어진 방정식 시스템이 변형되었거나 조건이 나쁜지 여부를 확립하는 것이 불가능합니다. 따라서 조건이 좋지 않은 시스템과 타락한 시스템은 주어진 정밀도 내에서 구별이 불가능할 수 있습니다. 분명히 이러한 상황은 행렬이 다음과 같은 경우에 발생합니다. 0에 매우 가까운 고유값을 갖습니다.

실제 문제에서는 우변이 나오는 경우가 많습니다. 그리고및 행렬 요소 ㅏ,즉, 시스템의 계수(3; 2,1)는 대략적으로 알려져 있습니다. 이런 경우에는 시스템 대신 (3;2,1) 우리는 다른 시스템을 다루고 있습니다. Az= 그리고||A-A||<=h, ||u-u||<=--d, где смысл норм обычно определяется характером задачи. Имея вместо матрицы 행렬 A에서는 더욱이 시스템의 퇴행성 또는 비퇴화성에 대해 명확한 판단을 내릴 수 없습니다(3; 2.1).

이 경우 정확한 시스템에 대해서는 AZ=u, 그 해를 결정해야 하며, 우리는 행렬에 대해서만 알고 있습니다. 그리고 오른쪽 그리고불평등 ||A-A||<=h, ||u-u||<=--d. Но систем с такими исходными данными (손)무한히 많고 우리에게 알려진 오류 수준 내에서는 구별이 불가능합니다. 정확한 시스템(3; 2.1) 대신에 대략적인 시스템이 있으므로 Аz= 그리고,그러면 대략적인 해결책을 찾는 것에 대해서만 이야기할 수 있습니다. 하지만 대략적인 시스템은 Az=u불용성일 수 있습니다. 질문이 생깁니다:

설명된 상황에서 시스템 (3; 2.1)의 대략적인 솔루션으로 이해해야 하는 것은 무엇입니까?

"가능한 정확한 시스템" 중에는 변질된 시스템도 있을 수 있습니다. 풀 수 있다면 해결책은 무한히 많습니다. 대략적인 찾기에 대해 이야기해야 할 것은 무엇입니까?

따라서 많은 경우에 우리는 (주어진 오류 수준 내에서) 서로 구별할 수 없는 방정식 시스템의 전체 클래스를 고려해야 하며, 그중에는 퇴화되거나 풀 수 없는 것이 있을 수 있습니다. 이 클래스 시스템의 근사해를 구성하는 방법은 동일하고 일반적이어야 합니다. 이러한 솔루션은 초기 데이터(3, 2.1)의 작은 변경에도 견고해야 합니다.

이러한 방법의 구성은 "선택"이라는 개념을 기반으로 합니다. 문제 설명에 포함된 특별하고 미리 지정된 기능 W[ z ]를 사용하여 선택을 수행할 수 있습니다.

F에서 F의 모든 부분에 밀집된 부분 집합 F 1 에 정의된 음이 아닌 함수 W[ z ]는 다음과 같이 호출됩니다. 안정화 기능,만약에:

  • a) 요소 z T는 정의 영역에 속합니다.
  • b) 임의의 숫자 d>0에 대해 세트 F 1, d 요소 z는 F 1에서 다음과 같습니다.
  • W[z]

이제 임의의 선형 대수 방정식 시스템(줄여서 SLAE)을 고려해 보겠습니다.

아즈 =u, (3; 2,2)

여기서 z와 u는 벡터입니다. z=(z 1, z 2, ...,z n)-OR n, 그리고=(유 1, 유 2 , ... ,u n)--또는 m , ㅏ--요소가 a ij인 행렬 , ㅏ= (a ij ), 여기서 j =1, 2, ..., n; 나는= 1, 2, ..., 티,그리고 숫자 숫자와 같을 필요는 없습니다 티.

이 시스템은 고유하게 해결 가능하고, 퇴화되고(무한히 많은 솔루션을 가짐) 해결 불가능할 수 있습니다.

의사 솔루션시스템(3; 2,2)은 불일치를 최소화하는 벡터 z라고 합니다 || Az - 당신 || 전체 공간 Rn에 걸쳐. 시스템(3; 2,2)에는 둘 이상의 의사 솔루션이 있을 수 있습니다. F A를 모든 의사해의 집합으로 두고 z 1을 다음의 고정 벡터로 둡니다. RN,일반적으로 문제의 설명에 따라 결정됩니다.

벡터에 상대적인 법선시스템 (3;2,2)의 z 1 해는 최소 노름을 갖는 의사 해 z 0 || z - z 1 ||, 즉

|| z 0 - z 1 || =

여기. 다음에서는 표기의 단순화를 위해 z 1 = 0이라고 가정하고 벡터 z 1 = 0에 대한 법선 해는 간단히 호출됩니다. 정상적인 해결책.

(3; 2,2) 형식의 모든 시스템에는 정규 솔루션이 존재하며 고유합니다.

비고 1. 연립방정식 (3;2,2)의 정규해 z°는 벡터 z--z 1 의 좌표에 대해 주어진 양의 정부호 2차 형식을 최소화하는 의사해로 정의될 수도 있습니다. 아래 제시된 모든 결과는 유효합니다.

비고 2. 행렬의 순위를 축퇴 시스템(3; 2,1)은 r과 같습니다. < n 및 z r+1 ,z r+2 , … , z n - 선형 공간의 기초 N , 요소 z로 구성됩니다. AZ=0,해당 없음 = ( 지; AZ= 0). n--r 직교성 조건을 충족하는 시스템(3; 2,1)의 해 z°

(z 0 - z 1 , z S)= 0, S= r + 1, r + 2, .. ,n, (3; 2,3)

고유하게 결정되며 정규 솔루션과 일치합니다.

시스템 (3; 2,2)에 대한 정상적인 해를 찾는 문제가 잘못되었음을 쉽게 알 수 있습니다. 사실, 하자 ㅏ --대칭 행렬. 축퇴가 아닌 경우에는 직교 변환을 통해

z = Vz*, u = Vu*

그녀의대각선 형태로 축소될 수 있으며 변환된 시스템은 다음 형태를 갖습니다.

l i z i *=u i * , i= 1, 2,. .., 피,

여기서 l i는 행렬의 고유값입니다. ㅏ.

대칭행렬인 경우 ㅏ --축퇴되지 않고 순위 r을 갖는 경우 고유값의 n - r은 0과 같습니다. 허락하다

l i=1, 2, ..., r인 경우 0번;

l i =0(i=r+1,r+2, …, n인 경우)

우리는 시스템 (3; 2,2)이 풀 수 있다고 가정합니다. 이 경우 i =r + 1, ..., n에 대해 u i *= 0입니다.

시스템의 "초기 데이터"를 보자 (ㅏ그리고 그리고)오류와 함께 지정되었습니다. 즉, 대신 그리고 그리고그들의 근사치가 제공됩니다 그리고 유:

|| A - A ||<=h, ||u - u||<=d . При этом

내가 하자 -- 행렬 고유값 ㅏ.그들은 표준(3; 2.4)에서 A에 지속적으로 의존하는 것으로 알려져 있습니다. 결과적으로, 고유값 l r+1 , l r+2 , …,l n 충분히 작은 h에 대해 임의로 작을 수 있습니다. .

0과 같지 않으면

따라서 충분히 작은 오류 내에서도 시스템의 교란이 발생합니다. 그리고 그리고,일부 z i *는 미리 결정된 값을 취합니다. 이는 시스템 (3; 2,2)에 대한 정규해를 찾는 문제가 불안정하다는 것을 의미합니다.

다음은 오른쪽의 작은(표준(3; 2.4)) 섭동에서 안정적인 시스템(3; 2.2)에 대한 정규 솔루션을 찾는 방법에 대한 설명입니다. 그리고,정규화 방법을 기반으로 합니다.


필수 벡터

이면 시스템 (1)을 조건이 좋지 않다고 합니다. 이 경우 행렬 계수와 우변의 오류 또는 계산 시 반올림 오류로 인해 솔루션이 크게 왜곡될 수 있습니다.

많은 문제를 풀 때 시스템 (1)의 우변과 행렬 A의 계수는 대략적으로 알려져 있습니다. 이 경우 정확한 시스템(1) 대신 다른 시스템이 있습니다.

그렇게

와 d의 값이 알려져 있다고 가정한다.

시스템 (1) 대신 시스템 (2)가 있으므로 시스템 (1)에 대한 대략적인 해만 찾을 수 있습니다. 시스템 (1)의 근사해를 구성하는 방법은 초기 데이터의 작은 변화에도 안정적이어야 합니다.

시스템 (1)의 의사해는 전체 공간에 대한 불일치를 최소화하는 벡터입니다.

x 1을 일반적으로 문제 설명에 의해 결정되는 의 고정 벡터로 설정합니다.

벡터 x 1에 대한 시스템 (1) 법선의 해는 최소 노름을 갖는 의사 해 x 0입니다. 즉,

여기서 F는 시스템 (1)의 모든 의사 해의 집합입니다.

게다가

여기서 3/4는 벡터 x의 구성요소입니다.

유형 (1)의 모든 시스템에는 정규 솔루션이 존재하며 고유합니다. 조건이 나쁜 시스템(1)에 대한 정상적인 해결책을 찾는 문제는 잘못된 것입니다.

시스템 (1)에 대한 대략적인 정규 솔루션을 찾기 위해 정규화 방법을 사용합니다.

이 방법에 따르면 다음 형식의 평활 함수를 구성합니다.

그리고 이 함수를 최소화하는 벡터를 찾으세요. 더욱이, 정규화 매개변수 a는 다음 조건으로부터 고유하게 결정됩니다.

어디 .

변질된 시스템과 상태가 좋지 않은 시스템은 주어진 정확도 내에서 구별이 불가능할 수 있습니다. 그러나 시스템 (1)의 해결 가능성에 대한 정보가 있는 경우 조건 (5) 대신 다음 조건을 사용해야 합니다.

구성요소 벡터는 선형 대수 방정식 시스템에 대한 해입니다. 이는 함수의 최소값에 대한 조건에서 얻어집니다(4).

그리고 처럼 보이는데

여기서 E는 단위 행렬이고,

―에르미트 공액 행렬.

실제로 벡터를 선택하려면 추가 고려 사항이 필요합니다. 존재하지 않으면 =0으로 가정합니다.

=0의 경우 시스템 (7)을 다음 형식으로 작성합니다.

어디

발견된 벡터는 시스템 (1)의 대략적인 정규 솔루션이 됩니다.

매개변수 a를 선택하는 데 중점을 두겠습니다. a=0이면 시스템 (7)은 조건이 나쁜 시스템으로 변합니다. a가 크면 시스템 (7)은 조건이 잘 설정되지만 정규화된 솔루션은 시스템 (1)에 대한 원하는 솔루션에 가깝지 않습니다. 따라서 a가 너무 크거나 너무 작은 것은 적합하지 않습니다.

일반적으로 실제로는 매개변수 a의 여러 값을 사용하여 계산이 수행됩니다. 예를 들어,

a의 각 값에 대해 범함수(4)를 최소화하는 요소를 찾습니다. 정규화 매개변수의 원하는 값은 동등성 (5) 또는 (6)이 필요한 정확도로 충족되는 숫자 a로 간주됩니다.

III. 운동

1. 값이 10 -6 정도인 행렬식을 사용하여 세 개의 미지수가 있는 세 개의 방정식으로 구성된 선형 대수 방정식 시스템을 구축합니다.

2. 첫 번째 시스템과 유사하지만 첫 번째 시스템의 자유 조건과 0.00006만큼 다른 자유 조건을 갖는 두 번째 시스템을 구축합니다.

3. 정규화 방법(=0 및 d=10 -4로 가정)과 다른 방법(예: 가우스 방법)을 사용하여 구성된 시스템을 해결합니다.

4. 얻은 결과를 비교하고 사용된 방법의 적용 가능성에 대한 결론을 도출합니다.

IV. 보고서의 구성

보고서에는 다음 사항이 제시되어야 합니다.

1. 작품의 제목.

2. 문제에 대한 설명.

3. 해결 알고리즘(방법)에 대한 설명입니다.

4. 설명이 포함된 프로그램 텍스트.

5. 프로그램 결과.

참고문헌 목록

1. Tikhonov A.N., Arsenin V.Ya. 잘못된 문제를 해결하는 방법. -M .: Nauka, 1979. 286 p.

2. Bakhvalov N.S., Zhidkov N.P., Kobelkov G.M. 수치적 방법. -M .: BINOM. 지식연구소, 2007 636 pp.


실험실 작업 번호 23

8.2.3. 퇴화되고 상태가 좋지 않은 시스템

MxN 크기의 정사각 행렬 A를 사용하여 SLAE Ax=b로 다시 돌아가 보겠습니다. 이는 위에서 고려한 "좋은" 경우(섹션 8.D 참조)와 달리 특별한 접근 방식이 필요합니다. 두 가지 유사한 유형의 SLAE에 주목해 보겠습니다.

  • 축퇴 시스템(행식이 0인 |A|=0);
  • 조건이 나쁜 시스템(행렬식 A는 0이 아니지만 조건 수가 매우 큽니다).

이러한 유형의 방정식 시스템이 서로 크게 다르다는 사실에도 불구하고(첫 번째에는 해결책이 없지만 두 번째에는 하나만 있음) 컴퓨터의 실제 관점에서 볼 때 공통점이 많습니다. 그들을.

SLAE 퇴화

축퇴 시스템은 행렬식 |A|=0이 0인 행렬(단수 행렬)로 설명되는 시스템입니다. 이러한 시스템에 포함된 일부 방정식은 다른 방정식의 선형 조합으로 표현되므로 실제로 시스템 자체는 부족 결정됩니다. 우변 벡터 b의 특정 유형에 따라 해의 개수가 무한하거나 전혀 없을 수도 있다는 것을 쉽게 알 수 있습니다. 첫 번째 옵션은 일반적인 의사 솔루션을 구성하는 것입니다(즉, 무한한 솔루션 집합에서 특정 벡터(예: 0, 벡터)에 가장 가까운 솔루션을 선택하는 것). 이 사건은 섹션에서 자세히 논의되었습니다. 8.2.2(목록 8.11-8.13 참조)

쌀. 8.7. 단일 행렬을 사용하여 두 방정식의 불일치 시스템을 그래픽으로 표현

단일 정사각 행렬 A가 있는 SLAE Aх=b에 단일 솔루션이 없는 두 번째 경우를 고려해 보겠습니다. 이러한 문제의 예(두 방정식 시스템에 대한)가 그림 1에 설명되어 있습니다. 8.7의 위쪽 부분에는 행렬 A와 벡터 b가 도입되어 있고 isolve 함수를 사용하여 시스템을 풀려는 시도가 이루어졌습니다(행렬 A가 특이 행렬이기 때문에 실패). 그림의 주요 부분을 차지하는 그래프는 시스템을 정의하는 두 방정식이 평면 (x0,xi)에 두 개의 평행선을 정의한다는 것을 보여줍니다. 선은 좌표 평면의 어느 지점에서도 교차하지 않으므로 시스템에 대한 솔루션이 없습니다.

메모

먼저, 2x2 크기의 비특이 정사각 행렬로 정의된 SLAE는 평면에서 한 쌍의 교차 선을 정의합니다(아래 그림 8.9 참조). 둘째, 시스템이 일관적이라면 방정식의 기하학적 표현은 무한한 수의 해를 설명하는 두 개의 일치하는 선이 될 것이라고 말할 가치가 있습니다.

쌀. 8.8. 잔차 함수 f(x) = |Ax-b|의 섹션 그래프

불일치를 최소화하는 시스템의 의사 솔루션의 단일 사례에서 |Ax-b| , 무한히 많을 것이며 그림 2에 표시된 두 직선과 평행한 세 번째 직선에 놓이게 됩니다. 8.7이며 그 사이의 중간에 위치합니다. 이는 그림에 설명되어 있습니다. 8.8, 함수 f(x) = = |의 여러 섹션을 보여줍니다. 도끼-b | , 이는 동일한 깊이의 최소값 계열이 있음을 나타냅니다. 내장 함수 Minimize를 사용하여 이를 찾으려고 하면 수치 방법은 항상 언급된 선의 한 지점을 찾습니다(초기 조건에 따라 다름). 따라서 고유한 솔루션을 결정하려면 전체 의사 솔루션 집합 중에서 가장 작은 노름을 갖는 솔루션을 선택해야 합니다. 기본 제공 Minimize 함수 조합을 사용하여 Mathcad에서 이러한 다차원 최소화 문제를 공식화할 수 있지만 더 효율적인 방법은 정규화(아래 참조) 또는 직교 행렬 분해(8.3절 참조)를 사용하는 것입니다.

상태가 좋지 않은 시스템

조건이 나쁜 시스템은 행렬식 A가 0이 아니지만 조건수 |A -1 | |아| 매우 큰. 조건이 나쁜 시스템에는 고유한 솔루션이 있다는 사실에도 불구하고 실제로는 이 솔루션을 찾는 것이 의미가 없는 경우가 많습니다. 두 가지 구체적인 예를 사용하여 조건이 나쁜 SLAE의 속성을 고려해 보겠습니다(목록 8.14).

목록 8.14. 조건이 좋지 않은 두 개의 가까운 SLAE 솔루션

목록 8.14의 각 줄에는 두 개의 매우 가까운 조건이 나쁜 SLAE(오른쪽 b는 동일하고 행렬 A는 약간 다름)의 솔루션이 포함되어 있습니다. 근접성에도 불구하고 이러한 시스템의 정확한 솔루션은 서로 매우 멀리 떨어져 있습니다. 두 방정식으로 구성된 시스템의 경우 정확한 솔루션을 쉽게 얻을 수 있지만 고차원 SLAE를 해결할 때 계산 중에 필연적으로 누적되는 사소한 반올림 오류("정확한" 가우스 알고리즘 포함)는 큰 오류로 이어진다는 점에 유의해야 합니다. 결과적으로. 문제가 발생합니다. 문제 자체의 불안정성으로 인해 완전히 잘못된 것으로 판명될 수 있다는 것이 미리 알려진 경우 수치 솔루션을 찾는 것이 합리적입니까?

조건이 나쁜 SLAE(목록 8.14에 예시로 제공된 두 방정식의 시스템)를 해결하기 위한 특별한 방법을 찾도록 강요하는 또 다른 고려 사항은 실험 결과로서의 물리적 해석과 관련됩니다. 처음에 입력 데이터가 약간의 오류로 얻은 것으로 알려진 경우 조건이 나쁜 시스템을 해결하는 것은 전혀 의미가 없습니다. 모델(행렬 A 및 벡터 b)의 작은 오류가 솔루션에 큰 오류로 이어지기 때문입니다. 그러한 속성의 문제를 잘못된 자세라고 합니다.

부정확한 이유를 더 잘 이해하려면 두 방정식의 조건이 좋은 시스템(그림 8.9)과 조건이 나쁜 시스템(그림 8.10)의 그래픽 해석을 비교하는 것이 유용합니다. 시스템에 대한 해는 각 방정식을 나타내는 두 직선의 교차점으로 시각화됩니다.

쌀. 8.9. 두 방정식의 조건이 양호한 시스템 그래프

쌀. 8.10. 조건이 나쁜 두 방정식의 시스템 그래프

그림에서. 8.10에서는 조건이 좋지 않은 SLAE에 해당하는 직선이 서로 매우 근접하게(거의 평행하게) 위치한다는 것이 분명합니다. 이와 관련하여, 각 선의 위치에 대한 작은 오류는 교차점(SLAE의 솔루션)을 국지화하는 데 심각한 오류로 이어질 수 있습니다. 선의 기울기는 교차점 위치에 거의 영향을 미치지 않습니다(그림 8.9).

메모

매트릭스의 불량한 컨디셔닝은 과도하게 결정된(일관되지 않은) SLAE(예: 단층 촬영 문제)에 의해 지정된 실험 데이터를 재구성할 때 일반적입니다. 이는 다음 섹션에서 설명하는 경우입니다(아래 목록 8.16 참조).

정규화 방법

잘못된 문제, 특히 퇴화되고 조건이 나쁜 SLAE를 해결하기 위해 정규화라는 매우 효과적인 기술이 개발되었습니다. 이는 실제 사례에서 매우 자주 나타나는 솔루션의 구조(선험적 추정치 xo의 벡터)에 대한 추가적인 선험적 정보를 고려하는 것을 기반으로 합니다. 정규화가 섹션에서 자세히 논의되었다는 사실로 인해. 6.3.3에서 우리는 SLAE Ax=b를 푸는 문제가 Tikhonov 함수의 최소값을 찾는 문제로 대체될 수 있다는 점만 기억합니다.

Ω(x,λ) = |Ax-b| 2 +λ |x-x0| 2. (8.3)

여기서 R은 최적의 방식으로 선택되어야 하는 작은 양의 정규화 매개변수입니다. Tikhonov 함수를 최소화하는 문제는 결국 또 다른 SLAE 해결로 축소될 수 있음을 알 수 있습니다.

(A T A+ λ I)-x=A T B+λ x0, (8.4)

어느 곳에 λ ->0 조건이 나쁜 원래 시스템으로 들어가고 조건이 좋은 큰 x에 대해 해 x 0을 갖습니다. 분명히 A의 일부 중간 값이 최적이 되어 허용 가능한 조건과 원래 문제에 대한 근접성 사이에 특정 절충안을 설정합니다. 정규화 접근법은 문제의 선형성으로 인해 독특하고 안정적인 시스템(8.4)에 대한 해를 찾는 조건부로 잘 제기된(Tikhonov에 따르면) 문제로 잘못된 문제를 줄입니다.

불필요한 설명 없이 그림 1에 제시된 축퇴 시스템의 정규화된 솔루션을 제시해 보겠습니다. 8.8. 목록 8.15는 문제(8.4)에 대한 해결책을 찾는 것을 보여주며 정규화 매개변수 R에 대한 잔류 및 솔루션 자체의 결과 종속성은 그림 1에 표시됩니다. 각각 8.11과 8.12. 원래 시스템의 솔루션과 그에 따른 시스템(8.4)의 솔루션이 다음과 같다는 점을 강조하는 것이 중요합니다. λ =0 존재하지 않는다.

목록 8.15 퇴화된 SLAE의 정규화

정규화의 마지막 단계는 최적의 값을 선택하는 것입니다. λ . 잔차의 의존성을 기반으로 정규화 매개변수를 선택할 수 있는지 여부에 따라 최소한 두 가지 고려 사항이 있습니다. 고려중인 예에서 우리는 결정 기준을 적용합니다 λ , 입력 데이터를 지정할 때 오류의 선험적 추정치와 동일한 잔차 노름 선택을 기반으로 합니다: 행렬 A 및 벡터 b, 즉 값 | δA | + |5λ|. 예를 들어, 잔차 노름을 선택하고 그에 따라 모수를 선택할 수 있습니다. λ 그리고 해 x( λ ), 이는 그림에 표시되어 있습니다. 8.11 및 8.12 점선.

참고 1

또 다른 선택 λ 모델 오류에 관한 선험적 고려가 필요하지 않은 소위 준최적 방법은 섹션에서 논의됩니다. 6.3.3.

노트 2

선형 문제의 경우 식 (8.4)가 일반 식 (8.3)과 동일한 결과를 제공하는지 확인하는 것이 유용합니다. 이를 위해서는 SLAE(8.4)의 해를 표현하는 목록 8.15의 마지막 줄을 목록 8.16에 표시된 것처럼 수치적 방법으로 최소화를 구현하는 코드로 변경하면 충분합니다. 계산(상당히 더 많은 컴퓨터 시간이 필요함)은 그림 1에 표시된 것과 동일한 결과를 제공합니다. 8.11 및 8.12.

노트 3

목록 8.15와 8.16의 계산을 시도하여 (여기에 사용된 0 벡터 x0 대신) 보다 현실적인 해의 사전 추정을 취하고 이것이 결과에 어떤 영향을 미치는지 확인하십시오.

쌀. 8.11. 매개변수 A에 대한 축퇴 SLAE의 정규화된 해의 잔차 의존성(목록 8.15에서 계속)

참고 4

Tikhonov 함수로서 공식 (8.3) 대신 또 다른 의존성을 사용하는 것도 흥미롭습니다. Ω(x,λ ) = |Ax-b|+ λ |x-x0 | . CD에서 해당 계산 예를 찾을 수 있습니다.

쌀. 8.12. λ에 따라 정규화된 해법(목록 8.15에서 계속됨)

목록 8.16. 최소화 알고리즘을 사용한 SLAE 정규화(목록 8.15에서 계속)