Configuration-Interaction Methods and Large-scale Matrix Diagonalization

Relevanta dokument
Sammanfattning av kandidatarbetet

Konvergens för iterativa metoder

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

SKRIVNING I VEKTORGEOMETRI

Inför tentamen i Linjär algebra TNA002.

Atom- och kärnfysik med tillämpningar -

SF1624 Algebra och geometri Bedömningskriterier till tentamen Fredagen den 22 oktober, 2010

Frågorna 1 till 6 ska svaras med ett kryss för varje korrekt påstående. Varje uppgift ger 1 poäng.

Linjära ekvationssystem

LYCKA TILL! kl 8 13

Kvantmekanik II (FK5012), 7,5 hp

Egenvärdesproblem för matriser och differentialekvationer

LÖSNINGAR LINJÄR ALGEBRA LUNDS TEKNISKA HÖGSKOLA MATEMATIK

Hjälpmedel: Det för kursen ociella formelbladet samt TeFyMa. 0 x < 0

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

ax + y + 4z = a x + y + (a 1)z = 1. 2x + 2y + az = 2 Ange dessutom samtliga lösningar då det finns oändligt många.

1 Linjära ekvationssystem. 2 Vektorer

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

Matematik med datalogi, mfl. Linjär algebra ma014a ATM-Matematik Mikael Forsberg

TMA 671 Linjär Algebra och Numerisk Analys. x x2 2 1.

TMV142/186 Linjär algebra Z/TD

Självkoll: Ser du att de två uttrycken är ekvivalenta?

Atom- och kärnfysik med tillämpningar -

Linjära ekvationssystem

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) måndagen den 30 maj 2005

1-1 Hur lyder den tidsberoende Schrödingerekvationen för en partikel som rör sig längs x-axeln? Definiera ingående storheter!

Stöd inför omtentamen i Linjär algebra TNA002.

1. Bestäm volymen för den parallellepiped som ges av de tre vektorerna x 1 = (2, 3, 5), x 2 = (3, 1, 1) och x 3 = (1, 3, 0).

Vektorgeometri för gymnasister

TAMS79: Föreläsning 10 Markovkedjor

Linjär algebra kurs TNA002

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem.

UPPSALA UNIVERSITET Matematiska institutionen Styf. Exempeltenta med lösningar Programmen EI, IT, K, X Linjär algebra juni 2004

Lösningar till utvalda uppgifter i kapitel 8

MVE022 Urval av bevis (på svenska)

LÖSNINGAR TILL LINJÄR ALGEBRA kl 8 13 LUNDS TEKNISKA HÖGSKOLA MATEMATIK. 1. Volymen med tecken ges av determinanten.

SF1624 Algebra och geometri Lösningsförsag till modelltentamen

Basbyten och linjära avbildningar

Linjär algebra på några minuter

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

29 november, 2016, Föreläsning 21. Ortonormala baser (ON-baser) Gram-Schmidt s ortogonaliseringsprocess

Kvantmekanik II Föreläsning 2 Joakim Edsjö 1/37

SF1624 Algebra och geometri Lösningsförslag till tentamen Lördagen den 5 juni, 2010 DEL A

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) Måndagen den 13 juni 2005

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

x 2y + z = 1 (1) 2x + y 2z = 3 (2) x + 3y z = 4 (3)

Tentamen i Linjär algebra (TATA31/TEN1) ,

1. Bestäm volymen för den parallellepiped som ges av de tre vektorerna x 1 = (2, 3, 5), x 2 = (3, 1, 1) och x 3 = (1, 3, 0).

Preliminärt lösningsförslag

SF1624 Algebra och geometri Tentamen med lösningsförslag onsdag, 11 januari 2017

Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna

4x az = 0 2ax + y = 0 ax + y + z = 0

Linjär algebra/matematik. TM-Matematik Mikael Forsberg ma014a, ma031a

Exempelsamling :: Gram-Schmidt

Projekt Finit Element-lösare

Frågorna 1 till 6 ska svaras med ett kryss för varje korrekt påstående. Varje uppgift ger 1 poäng. Använd bifogat formulär för dessa 6 frågor.

12. SINGULÄRA VÄRDEN. (u Av) u v

Exempel :: Spegling i godtycklig linje.

ALA-c Innehåll. 1 Linearization and Stability Uppgift Uppgift Egenvärdesproblemet Uppgift

Kvantmekanik II - Föreläsning 7

Instuderingsfrågor, Griffiths kapitel 4 7

Vektorgeometri för gymnasister

Norm och QR-faktorisering

För ingenjörs- och distansstudenter Linjär Algebra ma014a ATM-Matematik Mikael Forsberg

Objective:: Linjärt beroende och oberoende version 1.0

4-1 Hur lyder Schrödingerekvationen för en partikel som rör sig i det tredimensionella

Exempel :: Spegling i godtycklig linje.

3 1 = t 2 2 = ( 1) ( 2) 1 2 = A(t) = t 1 10 t

Crash Course Algebra och geometri. Ambjörn Karlsson c januari 2016

Egenvärden och egenvektorer

--x T Kx. Ka = f. K( a a i. = f f i. r i. = a a i. Ke i. a i 1. p i. Ka i. p i Kai α i

Basbyte (variabelbyte)

1 Ortogonalitet. 1.1 Skalär produkt. Man kan tala om vinkel mellan vektorer.

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht Block 5, översikt

Chalmers tekniska högskola Datum: kl Telefonvakt: Linnea Hietala MVE480 Linjär algebra S

Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen

. b. x + 2 y 3 z = 1 3 x y + 2 z = a x 5 y + 8 z = 1 lösning?

Ortogonal dekomposition. Minstakvadratmetoden.

Övningar. MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Avd. Matematik. Linjär algebra 2. Senast korrigerad:

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A. (1 p) (c) Bestäm avståndet mellan A och linjen l.

SF1624 Algebra och geometri Tentamen Torsdag, 17 mars 2016

2x + y + 3z = 1 x 2y z = 2 x + y + 2z = 1

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A. t 2

1 basen B = {f 1, f 2 } där f 1 och f 2 skall uttryckas i koordinater i standardbasen.

SKRIVNING I VEKTORGEOMETRI

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

2s + 3t + 5u = 1 5s + 3t + 2u = 1 3s 3u = 1

Determinanter, egenvectorer, egenvärden.

Detta cosinusvärde för vinklar i [0, π] motsvarar α = π 4.

Oändligtdimensionella vektorrum

SF1624 Algebra och geometri Lösningsförslag till modelltentamen DEL A

Chalmers tekniska högskola Datum: Våren MVE021 Linjär algebra I

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

Lösningar till MVE021 Linjär algebra för I

TMV166 Linjär algebra för M, vt 2016

Transkript:

Sammanfattning Kandidatprojekt FUFX02-12-01 Configuration-Interaction Methods and Large-scale Matrix Diagonalization Pontus Hansson Joakim Löfgren Karin Skoglund Keiding Simon Vajedi 16 maj 2012

1 Introduktion För att modellera system med många partiklar så behövs approximationer som gör det möjligt att lösa Schödingerekvationen för systemet, då ekvationen generellt inte kan lösas analytiskt för sådana system. En metod som används heter configuration interaction, i vilken vågfunktionen som representerar ett mångpartikel-system uttrycks som en linjärkombination av okopplade mångpartikel-bastillstånd [1]. Bastillstånden skall inneha symmetriegenskaper vad gäller utbyte av partiklar och är sammansatta av en linjärkombination av produkttillstånd. Dessa är i sin tur uppbyggda av enpartikeltillstånd, som i detta fall utvecklas i en bas bestående av harmoniska oscillator-tillstånd. Då en sådan utveckling bildar en oändlig serie behöver den trunkeras vid ett visst värde på energin, så att numeriska lösningar blir möjliga. Nu kan ekvationen skrivas på matrisform och egenenergier och egentillstånd fås genom att lösa egenvärdesproblemet för matrisen. Att finna egenvärdena är dock fortfarande komplicerat, då matrisens dimension växer snabbt för ökande värden på trunkeringsenergin. Det finns dock en familj av metoder som bygger på Lanczos algoritm, som är väl anpassade för att reducera komplexieten hos egenvärdesproblemet för stora, glesa matriser och genom användning av en sådan, lämpligt anpassad, så kan egenvärdena lösas ut på ett effektivt sätt. Genom att studera energispektrat för de bundna tillstånden och motsvarande egenfunktioner får forskare möjlighet att få reda på mer om system med många partiklar, som exempelvis nukleoner i en atomkärna eller en atomgas fångas i en fälla vid låg temperatur. Målet med projektet är att efter att ha utfört undersökningar av algoritmer samt matrisernas egenskaper, ta fram rekommendationer inför en framtida implementation av en egenvärdeslösare baserad på Lanczos algoritmen. 2 No-Core Shell Model No-Core Shell Model (NCSM) är en modell skapad för att studera mångpartikelsystem bestående av starkt växelverkande nukleoner i atomkärnor [2]. Denna kan även hantera partiklar i en extern potential-fälla, vilken modelleras med hjälp av en harmonisk oscillator-potential. Med denna inkluderad ges den totala Hamiltonianen av Ĥ tot,ω = Ĥrel + ĤHO(Ω) = (1) N [ ˆpi 2m + 1 ] N ] N 2 mω2ˆr i 2 + [V i,j mω2 2N (ˆr i ˆr j ) 2 + W i,j,k, i=1 i<j i<j<k där grupperingen av termerna är enligt en-, två- och trekroppars-operatorer. Enpartikeltillstånden utvecklas i den harmoniska oscillatorbasen, vilket blir en oändlig serieutveckling som behöver trunkeras vid ett värde N max. För att lösa Schrödingerekvationen för systemet används därmed den trunkerade serien, och ekvationen fås på matrisform. Hamiltonianen diagonaliseras sedan lämpligtvis med en Lanczos metod. 1

2.1 No Core Shell Model for bosons För arbetet har vi fått ta del av koden No Core Shell Model for bosons, NCSMb, ännu under utveckling, som är skriven av Simon Tölle vid Bonns universitet i samarbete med C. Forssén, H. T. Johansson, och L. Platter vid Chalmers Tekniska Högskola. Denna kod modellerar bosoner istället för fermioner. Koden har som inparametrar: trunkeringsenergin N max, antalet bosoner N boson, projektionen av det magnetiska momentet M samt energier för två- respektive trekropparsfallet, E 2 och E 3. Med hjälp av dessa beräknar den matriselementen för den resulterande Hamiltonian-matrisen genom att löpa med en for-loop över alla rader i densamma. Genom användning av en hashtabell så kan kopplingar mellan mångpartikeltillstånden snabbt hittas, som ger tillägg till matriselementen. 3 Numeriska metoder Att lösa ut egenvektorer och egenvärden, ett så kallat egenpar, för stora matriser kan vara en tidsödande sysselsättning. Konventionella egenvärdeslösare beräknar ofta alla egenpar och skapar dessutom nya matriser av samma storlek som den ursprungliga och förstör i processen eventuell gles struktur. För matriser av större dimensioner blir detta snabbt mer eller mindre omöjligt på grund av begränsningar i tid och minne, och samtidigt är det ytterst sällan som alla egenpar är intressanta. Lanczos-algoritmen löser båda dessa problem då den istället för att förändra en matris skapar en ny men betydligt mindre matris med egenpar som väl approximerar de minsta och största egenparen för den ursprungliga matrisen. Denna algoritm bygger på att en ortonormal bas Q skapas med linjärkombinationer av så kallade Krylov-vektorer. Det resulterande rummet som spänns av denna bas kallas Krylov-rummet och den ursprungliga matrisen A kan sedan projiceras ner på detta rum till en matris T. Det visar sig att för relativt små dimensioner på detta rum, då den projicerade matrisen är betydligt mindre än den ursprungliga, erhålls fortfarande bra approximationer till de extrema egenparen vid egenvärdeslösning av denna mindre mer lätthanterliga matris. Sambandet man då får är, AQ = QT (2) Algoritm 1 nedan beskriver tillvägagångssättet för metoden, där α i är T -matrisens i :te diagonala element, och β i är matrisens i :te element närmast över och under diagonalen. I praktiken kompliceras läget av att man jobbar med ändlig precision. Då kommer små avrundningsfel att ackumuleras och på sikt förstöra ortogonaliteten mellan basvektorerna som byggs av Lanczos-algoritmen. Detta resulterar vanligtvis i felaktiga egenvärden men kan förhindras - genom att introducera någon form av reortogonaliseringsmetod i algoritmen. 2

Algorithm 1 Lanczos algoritm 1: q 0 = 0 2: β 0 = 0 3: x 0 = slumpad startvektor, skild från noll 4: q 1 = x 0 / x 0 2 5: for i = 1 k do 6: x i = Aq i 7: α i = q T i x i 8: x i = x i β i q i 1 α i q i 9: β i = u i 2 10: q i+1 = x i /β i 11: end for 4 Undersökningar av Lanczos och Block Lanczos Vid undersökningarna av hur framgångsrika de olika varianterna av Lanczos är så har inriktningen främst varit på matriser som är så stora att matrismultiplikationerna dominerar beräkningarna. Följaktligen inriktar sig gruppens rekommendationer kring hur denna tiden ska minimeras. Det visar sig att användandet av block av vektorer, beroende på antalet sökta egenpar, kan minska antalet matrismultiplikationer avsevärt men till en kostnad av att varje multiplikation tar lite längre tid att utföra. Hur mycket längre är intimt förknippat med hur bra blocken samverkar med cache-linjerna, där extra fördelaktliga blockbredder är p = 1, 2, 4 och 8. Mätningarna visar att om ett eller två egenpar söks, så rekommenderas även blockbredderna p = 1 respektive p = 2. För upp till tio egenvärden är en blockbredd på p = 4 bäst och därefter fungerar blockbredd p = 8 lika bra som p = 4. Dessa resultat verkar gälla oavsett storlek på matrisen 1. Utöver blockbredd spelar även kvalitéen på startvektorerna för Lanczos en stor roll för konvergensen. Hur approximationerna av egenvektorerna används, om en approximation finns i varje startvektor eller om de linjärkombinerades, visade sig spela mindre roll, så länge komponenter av andra vektorer hölls utanför. En startapproximation är därmed lika bra som blocket i genomsnitt, vilket specifikt skulle betyda att det är bättre med en vektor som är en god approximation, än två vektorer varav den enda är god och den andra dålig, även om en blockbredd p = 2 egentligen är att föredra. Vidare har även undersökts hur approximationer till startvektorer kan skapas, såsom att minska precisionen för matrisen, gå från ett mindre modellrum eller avbryta Lanczos och starta om med vektorer som ännu inte konvergerat. För att råda bot på ortogonalitetsförluster som uppstår på grund av ändlig precision vid datorberäkningar så har ett flertal olika stödalgoritmer studerats. Bland dessa visar sig det bästa alternativet vara en så kallad partiell reortogonalisering vilket bygger på att ortogonalitetsförluster simuleras med en differensekvation och när förlusterna överskrider en viss tillåten nivå gör programmet en reortogonalisering med hjälp av en Gram-Schmidt-metod. 1 Matriserna som undersöktes var beräknade från NCSMb. 3

5 Undersökningar av matrisegenskaper Genom att analysera egenskaper hos matrisen kan information fås exempelvis om hur dimensionen på matrisen växer och därmed hur mycket lagringsutrymme som en matris behöver. Med hjälp av detta kan sedan Lanczos-algoritmen anpassas, vilket kommer att utgöra grunden i en framtida implementering av en egenvärdeslösare. En undersökning av hur matrisens dimension växer med olika värden på N max och N boson antydde att den framförallt växer med trunkeringsenergin N max och endast påverkas av N boson upp till 2N boson N max. Ytterligare en intressant aspekt är att undersöka hur antalet nollskilda element i matrisen varierar med N max och N boson, då man baserat på detta kan förutsäga lagringsutrymmet som behövs för ett givet parameterval. Med antagandet att antalet nollskilda element växer med dimensionen som N nz = d x för ett okänt 1 x 2, är det tydligt i figur 1 att relationen mellan log 10 N nz och log 10 d i princip ges av en rät linje. Med en linjär anpassning fann vi x = 3/2 respektive x = 7/4 för två- och trekropparskrafter. Från detta resultat och information om hur stort minne varje element upptar, kan vi även få fram en relation mellan lagringsutrymme och d, vilket även detta är givet i figur 1, skalat i terabyte (TB). Som ett exempel kan noteras att en matris av storlek 1 TB för tvåkropparskrafter har en dimension på ungefär d = 10 7, vilket är betydligt större än en dimension på d = 10 6 som gäller för trekropparskrafter. N nz 3 2 1 0 10 9 10 8 10 7 10 6 10 5 10 4 10 3 2 10 10-6 3 15 10-7 4 20 10-8 5 30 10-9 7 Fitted line 10-10 10-11 10 3 10 4 10 5 10 6 10 7 10 8 d N boson 10-1 10-2 10-3 10-4 10-5 Memory usage (TB) N nz 3 2 1 0 10 9 10 8 10 7 10 6 10 5 10 4 10 3 4 20 10-8 5 30 10-9 7 Fitted 10 line 10-10 10 3 10 4 10 5 10 6 10-11 10 7 d 3 N boson 15 10-1 10-2 10-3 10-4 10-5 10-6 10-7 Memory usage (TB) (a) Tvåkropparskrafter. (b) Två- och trekropparskrafter. Figur 1. Antalet nollskilda element och lagringsutrymme uttryckt i T B, för olika dimensioner d på matrisen. Fördelningen av de nollskilda elementen över matrisen undersöktes sedan, en aspekt som är relevant då man vill bestämma en optimerad beräkningsstrategi. Då matriserna snabbt växer med N max bör implementationen vara parallell för att fördela arbetet över flera datorkärnor. Vidare undersöktes det genomsnittliga antalet uppdateringar per matriselement under beräkning av matrisen, och både i två- och trekropparsfallet är mindre än 1 de flesta värden på N boson och med ökande dimension. Detta motiverade oss till att implementera en hashtabell i NCSMb, som kräver mycket mindre storlek och minnesplats än ett fält (engelska array) med storleken en rad, för tillfällig lagring av elementen på en rad. Beräkningstiden minskades. 4

Absolutbeloppet på matriselementens värde beräknades även och sorterades enligt storleksordning, och vi fann att det fanns tre distinkta grupperingar vid 10 15, 10 2 samt 10 3. Den första gruppen existerar troligtvis på grund av avrundningsfel, då numerisk imprecision har gjort att element ej kancellerat ordentligt. Elementen av storleksordning 10 3 befinner sig på och omkring diagonalen. En begränsning under arbetets gång var att dimensionerna på matriserna som genererades var begränsade av minne och tid, och därför har mätningarna utförts på mindre dimensioner. Dock är den generella formen på matriserna giltig även uppåt i dimension, och därmed bör resultaten generellt att vara representativa även för större matriser. 6 Rekommendationer för en framtida implementation Sammanfattningsvis innehåller detta stycke ett antal rekommendationer som kan användas för implementeringen av en egenvärdeslösare baserad på Lanczos algoritm. Däribland finns även en rekommendation av en tillgänglig programvara som kan användas för att skapa en implementation direkt. Egenvärdeslösaren ska vara baserad på Block Lanczos. Om de glesa matrismultiplikationerna kostar mycket, så skall blockbredden sättas till p = 4 för en litet antal önskade egenvärden, <10, eller p = 8 om fler än 10 egenvärden är sökta. Partiell reortogonalisering är att rekommendera då denna minimerar antal ortogonaliseringar och antalet gånger som funktionen behöver kalla på matrisen. Vid brist på minne skall algoritmen utföra en omstart med ett nytt startblock av Ritzvektorer som ännu inte konvergerat, eventuellt som en linjärkombination av dem om de är fler än vad som ryms i p. Om enbart egenvärdena och inte egenvektorerna sökes, det vill säga energispektrumet för Hamiltonianen, så är det möjligt att använda en matris med enkel precision för att beräkna egenvektorerna med en precision av ett par decimaler, och sedan få noggrannare egenvärden genom att använda matrisen i full precision en gång. Approximativa egenvektorer kan beräknas från ett mindre modellrum, projiceras på ett större rum och då användas som startvektorer till en Lanczos-körning, vilket ger en något snabbare konvergens. Detta visar sig troligen mer attraktivt vid större modellrum än de här undersökta. Av den tillgängliga programvaran så visade sig BLZPACK vara den som bäst matchade kravspecifikationerna. Denna är baserad på en Block Lanczos rekursion, använder modifierad partiell reortogonalisering samt kan köras med parallellt med MPI. Vid en parallell implementation kommer kraven på fördelningen av matriselementen att bero på om matrisen delas upp i lika stora delar, eller delar med olika storlek. För att använda cachen så effektivt som möjligt så kan eventuellt matrisens rader och kolumner omorganiseras. 5

Referenser [1] Sherrill, C. D., Schaefer III, H. F. (1999) The Configuration Interaction Method: Advances in Highly Correlated Approaches. San Diego: Academic Press. pp. 143-269. (Advances in Quantum Chemistry, vol. 34, pp. 143-269). [2] Navrátil, P., Quaglioni, S., Stetcu, I., Barrett, B. R. (2009) Recent developments in nocore shell-model calculations. J. Phys. G: Nucl. Part. Phys., vol. 36, no. 8. 6