主要内容

이번역번역이지는최신내용을담고담고않습니다않습니다。최신최신내용을영문영문으로여기를클릭클릭

LU행렬분해(矩阵分解)

설명

예제

[L.] = LU(一种는비희소또는희소행렬一种甲= L * U가되도록되도록상부삼각와치환된하부삼각행렬L.로분해합니다。

예제

[L.P.] = LU(一种a = p'* l * u를충족하는치환행렬P.도도합니다。이구문에서L.은단위하부삼각행렬이고는상부삼각행렬입니다。

예제

[L.P.] = LU(一种OutputForm.OutputForm.에서지정된형식으로P.를반환합니다。P.A(P,:) = L * U를충족하는치환벡터로반환하려면OutputForm.'向量'로로하십시오。

예제

[L.P.问:] = LU(S.는희소행렬S.P * S * Q = L *ù가되도록되도록단위하부삼각삼각L.,상부삼각행렬,행치환행렬P.와열치환행렬问:로분해합니다。

[L.P.问:D.] = LU(S.P *(d \ S)* Q = L * U를충족하는대각스케일링행렬D.도도합니다。일반적으로,행행을수행하면이더커지고커지고더욱안정적적으로분해를수행할수있게있게

[___] = LU(S.阈值가사용하는피벗연산전략의임계값을위에열거된출력인수의임의의조합을사용하여지정합니다。지정된출력인수의개수에따라阈值입력값의디폴트값과요구사항이달라집니다。자세한내용은阈值인수설명을참조하십시오。

예제

[___] = LU(___OutputForm.OutputForm.으로지정된형식으로P.问:를반환합니다。P.问:를치환벡터로반환하려면OutputForm.'向量'로로하십시오。위에열거된구문에나와있는입력인수를원하는대로조합하여사용할수있습니다。

예제

모두축소

행렬의LU분해를계산하고결과로출력되는인수를검토합니다。LU분해는행렬 一种 pa = 가되도록되도록상부삼각 ,하부삼각행렬 L. 과치환행렬 P. 로분해하는한가지방법입니다。이들행렬은행렬이기약행사다리꼴이될때까지행렬에대한가우스소거법을수행하는데필요한단계를설명해줍니다。 L. 행렬은모든승수를포함하며,치환행렬 P. 는행을상호교환하는역할을합니다。

3×3행렬을만들고LU인수를계산합니다。

A = [10 -7 0 -3 2 6 5 -1 5];
[L,U] = LU(A)
l =3×31.0000 0 0 -0.3000 -0.0400 1.0000 0.5000 1.0000 0
你=3×310.0000 -7.0000 0 0 2.5000 5.0000 0 0 6.2000

인수를곱하여一种를를만듭니다。2-입력값구문에서는반환되는L.이실제로는p'* l이되도록되도록치환P.L.인수에반영하므로甲= L * U가됩니다。

ans =.3×310.0000 -7.0000 0 -3.0000 2.0000 6.0000 5.0000 -1.0000 5.0000

출력값3개를지정하면L.에서승수로부터치환행렬을분리할수있습니다。

[l,u,p] = lu(a)
l =3×31.0000 0 0 0.5000 1.0000 0 -0.3000 -0.0400 1.0000
你=3×310.0000 -7.0000 0 0 2.5000 5.0000 0 0 6.2000
P =3×31 0 0 0 0 1 0 1 0
P'* L * U
ans =.3×310.0000 -7.0000 0 -3.0000 2.0000 6.0000 5.0000 -1.0000 5.0000

lu분해를수행하고인수를사용하여하여문제를단순하여선형시스템시스템을이결과결과를백슬래시연산자分解객체를사용하는다른접근방식과비교합니다。

5×5마방진행렬을만들고B.의모든요소가마방진의합인65와같은선형시스템 斧头 = B. 를풉니다。이행렬의마방진의합은65이므로(모든모든열의합이65)X의의예상되는해는는는구성구성된벡터

A =魔法(5);B = 65个*也是(5,1);X = A \ B
X =5×11.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

일반일반사각각행렬행렬에서백슬래시백슬래시연산자는분해분해를를하여선형시스템의해를를lu분해는一种행렬삼각행렬곱으로하므로삼각에에에선형시스템은수식사용하여하여쉽게풀수수

백슬래시로구한답을다시만들려면一种의LU분해를계산하십시오。그런다음인수를사용하여다음2개의선형시스템을푸십시오。

ÿ= L \(P * B);X = U \ÿ;

선형시스템의해를구하기에행렬행렬를먼저에이접근방식은분해분해이필요번않기때문반복이하지않기을풀어야여러성능시스템시스템을할때이높아질높아질수。

[l,u,p] = lu(a)
l =5×51.0000 0 0 0 0 0 0.7391 1.0000 0 0 0 0 0.4783 0.7687 1.0000 0 0 0.1739 0.2527 0.5164 1.0000 0 0.4348 0.4839 0.7231 0.9231 1.0000
你=5×523.0000 5.0000 7:0000 14.0000 16.0000 0 20.3043 -4.1739 -23478 3.1739 0 0 2 24.8608 -2.8908 -1.0921 0 0 0 19.6512 18.9793 0 0 0 0 -22.2222
P =5×50 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0
ÿ= L \(P * B);X = U \ÿ
X =5×11.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

分解객체도객체도인수를먼저하는접근방식의적인이점을얻으면서도인수를사용하는지알필요분해를때문역시된분해를를分解객체를'鲁'유형과함께사용하여동일한결과를다시만듭니다。

DA =分解(A,'鲁');x = da \ b
X =5×11.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

희소행렬의lu분해를계산하고하고L *Ù= P * S * Q를검증합니다。

버크버크민스터풀러의측지선측지선의연결그래프에에대한대한대한연결60연결그래프에대한생성생성의연결연결연결그래프그래프에대한생성

s = bucky;

네개의출력값을가진희소행렬구문사용용S.의璐분해를계산하고행과치환치환행렬을합니다。

[L,U,P,Q] = LU(S);

S.의행과열을p * s * q로치환하고이결과를삼각인수를곱한결과()와와합니다。두차이에에1-노름(符号)이반올림오차내에있으므로,L *Ù= P * S * Q를나타냅니다。

e = p * s * q  -  l * u;常量(e,1)
ANS = 5.7732e-15

행렬의LU분해를계산합니다。행치환을행렬이아닌벡터로반환하여메모리를절약합니다。

1000×1000확률행렬을만듭니다。

a = rand(1000);

행렬P.로저장된치환정보를사용하여lu분해를계산합니다。이결과결과를P.로로저장된치환치환정보와비교비교행렬행렬크기가클수록치환벡터를사용했을때메모리효율이높아집니다。

[L1,U1,P] = LU(A);[L2,U2,P] = LU(A,'向量');谁是P.P.
名称大小字节类属性P 1000×1000 8000000双P 1x1000的8000双

치환벡터를사용하면이후의연산에서의실행단축됩니다됩니다。예를들어,앞에서본lu분해사용하여선형시스템 斧头 = B. 를구할수있습니다。이때치환벡터로구한해와치환행렬로구한해는(반올림오차내에서)동일하지만치환벡터를사용할때시간이더적게걸립니다。

열치환을사용하여행렬의lu분해를계산한와와와와

실수값의479×479희소행렬인West0479.행렬을불러옵니다。

加载West0479.A = west0479;

출력값3개를반환하는를호출하여一种의lu분해를계산。l인수와u인수인수의희소성희소성패턴보여주는플롯을생성생성

[L,U,P] = LU(A);子图(1,2,1)间谍(L)标题(“L因素”)子图(1,2,2)间谍(U)标题(“U因素”

이번에는출력값4개를반환하는를사용하여一种의lu분해를계산。이때lu는一种의열을치환하여인수에서0이아닌값의개수를줄입니다。이결과로나오는인수는열치환을사용하지않은경우에비해희소성이훨씬높습니다。

[l,u,p,q] = lu(a);子图(1,2,1)间谍(L)标题(“L因素”)子图(1,2,2)间谍(U)标题(“U因素”

입력인수

모두축소

입력행렬입니다。一种는비희소또는희소행렬일수있고수있고정사각행렬이나직사각행렬일수있습니다。

데이터형:单身的|双倍的
복소수지원여부:

희소입력행렬입니다。S.는는사각각이나나사각각행렬일수수。

데이터형:双倍的
복소수지원여부:

희소행렬의피벗연산임계값으로,스칼라또는요소를2개가진벡터로벡터로지정。유효한값은구간[0 1]내에있는값입니다。阈值를지정하는방법은를호출할때지정된출력값의개수에따라다음과같이달라집니다。

  • 출력값이3개이하인경우阈值는스칼라여야하고디폴트값은1.0입니다。

  • 출력값이4개이상인경우阈值는스칼라또는요소를2개가진벡터일수있습니다。디폴트값은[0.1 0.001]입니다。阈值를스칼라로지정하면벡터의첫번째값만대체합니다。

개략적으로말하자면이입력값을사용하여정확도와총실행시간간의상호절충관계를조정할수있습니다。阈值값이작을수록작을수록인수의희소성이더커지게되는경향이있지만,해는부정확해질있습니다。값이커지면항상그런것은더더한해를구할수,대개대개작업및사용량이증가하게됩니다。

는우선출력인수의개수를기준으로,다음으로는분해되는행렬의속성을기준으로피벗연산전략을선택합니다。모든경우를통틀어,임계값을1.0으로설정하면부분피벗피벗이선택선택,임계값을0.이피벗연산연산연산연산연산희소성희소성연산연산연산연산연산연산연산연산연산연산연산연산연산。L.의모든값은1 / min(阈值)이하의절댓값을가집니다。

  • 출력인수가3개이하인경우- 알고리즘은다음수식이충족되면대각선피벗을선택합니다。

    a(j,j)> =阈值* max(abs(a(j:m,j))))
    충족되지않으면최대절댓값요소를포함하는행을선택합니다。

  • 대칭피벗연산전략-S.가의대부분대칭구조를이루며주로0이아닌아닌대각선요소이루어진사각각행렬이라면는대칭피벗연산전략을사용합니다。이전략의의,알고리즘은다음부등식이충족되면되면대각선j를를합니다。

    a(i,j)> =阈值(2)* max(abs(a(j:m,j))))
    대각선요소가이테스트를통과하지못하면는다음부등식을충족하는희소성이가장큰행一世를를합니다。
    A(I,J)> = THRESH(1)*最大(ABS(A(j:米,J)))

  • 비대칭피벗연산전략-S.가의피벗연산전략의사항을을충족하지하지는비대칭전략을사용합니다。이경우는다음부등식을충족하는희소성이가장큰행一世를를합니다。

    A(I,J)> = THRESH(1)*最大(ABS(A(j:米,J)))
    thresh(1)의값이1.0이면일반일반적인부분부분이사됩니다。L.의항목은1 / THRESH(1)이하의절댓값을가집니다。비대칭전략을사용하는경우阈值입력벡터의두번째요소는사용되지않습니다。

참고

드물지만,부정확한행렬분해의결과로p * s * q가될수있습니다。이경우,阈值를최대1.0(일반부분피벗연산)으로높여다시시도해보십시오。

치환출력값의형태로,'矩阵'또는'向量'로로됩니다。이플래그는가행치환P.와열치환问:를치환행렬과치환벡터중어느것으로반환할지를제어합니다。

P.问:$행렬인경우다음항등식을충족합니다。

  • 출력값3개 -P.p * a = l * u를충족합니다。

  • 출력값4개 -P.问:P * S * Q = L *ù를충족합니다。

  • 출력값5개 -P.问:D.P *(d \ S)* Q = L * U를충족합니다。

P.问:$벡터이면다음항등식을충족합니다。

  • 출력값3개 -P.A(P,:) = L * U를충족합니다。

  • 출력값4개 -P.问:S(P,Q)= L * U를충족합니다。

  • 출력값5개 -P.问:D.d(:,P)\ S(:,Q)= L * U를충족합니다。

예:[L,U,P] = LU(A, '载体')

출력인수

모두축소

하부삼각인수로,행렬로행렬로됩니다。L.의형태는행치환P.가의의출력값으로되는지여부여부에다음과이같。

  • 세번째출력값P.가지정된경우L.은단위하부삼각행렬(즉,주대각선요소가1인하부삼각행렬)로반환됩니다。

  • 세번째출력값P.가지정되지않은경우L.은단위하부삼각행렬의행치환으로반환됩니다。즉,이것은출력값이3개인경우에서반환된출력값P.L.의곱p'* l입니다。

상부삼각인수로,상부삼각행렬로반환됩니다。

행치환으로,치환행렬로반환되거나'向量'이지정된경우치환벡터로반환됩니다。이출력값을사용하여하여계산의수치적안정성을개선할수

이출력값이충족하는항등식에대한설명은OutputForm.을을하십시오。

열치환으로,치환행렬로반환되거나'向量'이지정된경우치환벡터로반환됩니다。이출력값을사용하여희소행렬의에서필인(0이아닌아닌요소의개수수수수수수수수수수줄일수수

이출력값이충족하는항등식에대한설명은OutputForm.을을하십시오。

행스케일링으로,대각행렬로반환됩니다。D.P *(d \ S)* Q = L * U가되도록S.의값을스케일링하는데사용됩니다。항상그렇지는않지만일반으로,행스케일링을수행하면이더커지고커지고더욱안정안정적으로분해를수행할수있게있게행렬분해를수행할수있게있게분해분해를수행할수있게

알고리즘

LU분해는가우스소거법의변형을사용하여계산됩니다。해의정확도는원래행렬의조건수COND(A)에따라달라집니다。행렬의조건수가크면(즉,유사특이행렬이면)계산된행렬분해는정확하지않을수있습니다。

lu분해는挪威를사용하여역을구하거나黛联를사용하여행렬식을구하는데있어중요한단계입니다。또한선형방정식의해를구하거나연산자\/를사용하여하여행렬나눗셈을하는하는데있어서도적인연산이는의의적제한사항이이종속함수에도존재을의미합니다。

확장기능

참고항목

|||||||

도움말항목

R2006A이전에개발개발