Lägsta grad algoritm - Minimum degree algorithm
I numerisk analys är lägsta gradsalgoritmen en algoritm som används för att tillåta raderna och kolumnerna i en symmetrisk gles matris innan du använder Cholesky-sönderdelningen för att minska antalet icke-nollor i Cholesky-faktorn. Detta resulterar i minskade lagringskrav och innebär att Cholesky-faktorn kan tillämpas med färre aritmetiska operationer. (Ibland kan det också avse en ofullständig Cholesky-faktor som används som en förkonditionering, till exempel i den förkonditionerade konjugerade gradientalgoritmen.)
Minimigradsalgoritmer används ofta i metoden för ändliga element där omordning av noder kan utföras beroende endast på nätets topologi snarare än koefficienterna i den partiella differentiella ekvationen, vilket resulterar i effektivitetsbesparingar när samma nät används för en mängd koefficientvärden.
Med ett linjärt system
där A är en riktig symmetrisk gles kvadratmatris. Cholesky faktor L kommer typiskt drabbas 'fylla i', det vill säga har fler icke-nollor än den övre triangeln i A . Vi söker en permutationsmatris P , så att matrisen , som också är symmetrisk, har minst möjlig fyllning i sin Cholesky-faktor. Vi löser det ombeställda systemet
Problemet med att hitta den bästa beställningen är ett NP-komplett problem och är därmed svåråtkomligt, så heuristiska metoder används istället. Minimigradsalgoritmen härrör från en metod som först föreslogs av Markowitz 1959 för icke-symmetriska linjära programmeringsproblem , som löst beskrivs enligt följande. Vid varje steg i Gaussisk eliminationsrad och kolumnpermutationer utförs för att minimera antalet av diagonala icke-nollor i svängrad och kolumn. En symmetrisk version av Markowitz-metoden beskrevs av Tinney och Walker 1967 och Rose härleder senare en grafteoretisk version av algoritmen där faktoriseringen endast simuleras, och detta benämndes lägsta gradalgoritmen. Grafen som det hänvisas till är diagrammet med n hörn, med hörn i och j förbundna med en kant när , och graden är graden av hörn. En avgörande aspekt av sådana algoritmer är en slipsbrytningsstrategi när det finns ett val av omnumrering som resulterar i samma grad.
En version av lägsta gradalgoritmen implementerades i MATLAB- funktionen symmmd (där MMD står för multipel minsta grad), men har nu ersatts av en symmetrisk ungefärlig multipel minimigradsfunktions symamd , vilket är snabbare. Detta bekräftas av teoretisk analys, vilket visar att för grafer på n hörn och m kanter, har MMD en tät övre bunden av på dess körning, medan för AMD en tät bunden av lastrum.
Referenser
- Markowitz, HM (1957). "Elimineringsformen för det inversa och dess tillämpning på linjär programmering" . Ledningsvetenskap . 3 (3): 255–269. doi : 10.1287 / mnsc.3.3.255 . JSTOR 2627454 .
- George, Alan; Liu, Joseph (1989). "Utvecklingen av den lägsta graderingsalgoritmen". SIAM Review . 31 (1): 1–19. doi : 10.1137 / 1031001 . JSTOR 2030845 .
- Tinney, WF; Walker, JW (1967). "Direkt lösning av glesa nätverksekvationer genom optimalt ordnad triangulär faktorisering". Proc. IEEE . 55 (11): 1801–1809. doi : 10.1109 / PROC.1967.6011 .
- Rose, DJ (1972). "En grafteoretisk studie av den numeriska lösningen av glesa positiva bestämda system av linjära ekvationer". I Read, RC (red.). Grafteori och beräkning . New York: Academic Press. s. 183–217. ISBN 0-12-583850-6.
- Heggernes, P .; Eisenstat, SC; Kumfert, G .; Pothen, A. (december 2001), Computational Complexity of the Minimum Degree Algorithm (PDF) (Technical report), Institute for Computer Applications in Science and Engineering