open source software for quantum lattice modelsthe alps project • open source libraries and...
TRANSCRIPT
![Page 1: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/1.jpg)
The ALPS ProjectOpen Source Software for Quantum Lattice Models
Simon Trebst, ETH Zürich
The ALPS co!aboratio"
http://alps.comp-phys.org
![Page 2: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/2.jpg)
The ALPS collaboration
University of Tokyo, Japan• Synge Todo
ETH Zürich, Switzerland• Fabien Alet• Prakash Dayal• Mathias Körner• Guido Schmid• Simon Trebst• Matthias Troyer• Philipp Werner• Stefan Wessel
Universität Marburg, Germany• Reinhard Noack• Salvatore ManmanaUniversität Würzburg, Germany• Martin Jöstingmeier TU Braunschweig, Germany
• Andreas Honecker
Universität Bonn, Germany• Axel Grzesik
Université de Toulouse, France• Andreas LäuchliRWTH Aachen, Germany• Ulrich Schollwöck• Ian McCulloch
TU Graz, Austria• Franz Michel• Hans-Gerd Evertz
Algorithms and Libraries for Physics Simulations
![Page 3: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/3.jpg)
The ALPS project
• open source libraries and simulation codes for strongly correlated quantum systems
• Quantum Monte Carlo• exact diagonalization• DMRG
• Motivation
• established algorithms• increased demand for reliable simulations from
theorists and experimentalists
![Page 4: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/4.jpg)
Strongly correlated systems
➡ compare microscopic models to experiments
0
2
4
6
8
10
12
0 200 400 600
experiment
simulationχ (1
0−5 c
m3 /m
ol C
u)
T (K)
SrCu2O3
J'/kB = 929 KJ/kB = 1904 K
simulation
![Page 5: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/5.jpg)
Strongly correlated systems
• BEC of ultra-cold atoms in optical lattices
➡ quickly test theoretical ideas
0 5 10 15 20r / a
0.0
0.2
0.4
0.6
0.8
1.0
1.2
n(r)
0.0
0.1
0.2
0.3
!lo
ca
l (r)
talk H28.004 by Stefan Wessel
![Page 6: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/6.jpg)
Simulation of quantum lattice models
• The status quo• individual codes • model-specific implementations• growing complexity of methods
• ALPS• community codes• generic implementations• common libraries simplify code development• common file formats
![Page 7: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/7.jpg)
Modern technologies
• “Starting late” allows us to use• generic programming in C++ ➡ fast & flexible codes
• standard C++ libraries• MPI and OpenMP for parallelization• XML / XSLT for file processing
![Page 8: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/8.jpg)
The ALPS sources
schedulerlattice model observablesdomain specific libraries
QMC ED DMRGapplications ...
numerics random ublas IETL
C / Fortran MPILAPACKBLAS
general C++ XML/XSLTgraph serialization
![Page 9: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/9.jpg)
The ALPS lattice libraryA lattice
<LATTICEGRAPH name = "square lattice"> <FINITELATTICE> <LATTICE dimension="2"/> <EXTENT dimension="1" size="L"/> <EXTENT dimension="2" size="L"/> <BOUNDARY type="periodic"/> </FINITELATTICE> <UNITCELL> <VERTEX/> <EDGE type=“1”> <SOURCE vertex="1" offset="0 0"/> <TARGET vertex="1" offset="0 1"/> </EDGE> <EDGE type=“2”> <SOURCE vertex="1" offset="0 0"/> <TARGET vertex="1" offset="1 0"/> </EDGE> </UNITCELL> </LATTICEGRAPH>
![Page 10: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/10.jpg)
A model
<BASIS> <SITEBASIS name="spin"> <PARAMETER name="S" default="1/2"/> <QUANTUMNUMBER name="Sz" min="-S" max="S"/> </SITEBASIS></BASIS>
<OPERATOR name="Splus" matrixelement="sqrt(S*(S+1)-Sz*(Sz+1))"> <CHANGE quantumnumber="Sz" change="1"/></OPERATOR><OPERATOR name="Sminus" matrixelement="sqrt(S*(S+1)-Sz*(Sz-1))"> <CHANGE quantumnumber="Sz" change="-1"/></OPERATOR><OPERATOR name="Sz" matrixelement="Sz"/>
<HAMILTONIAN name="spin"> <BASIS ref="spin"/> <SITETERM> -h*Sz </SITETERM> <BONDTERM source="i" target="j”> Jxy/2*(Splus(i)*Sminus(j)+Sminus(i)*Splus(j))+ Jz*Sz(i)*Sz(j) </BONDTERM></HAMILTONIAN>
€
HXXZ =Jxz2
(Si+S j
− + Si−S j
+)i, j∑ + Jz Si
zS jz
i, j∑ − h S1
z
i∑
The ALPS model library
![Page 11: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/11.jpg)
Simulations with ALPSLattice<LATTICEGRAPH name = "square lattice"> <FINITELATTICE> <LATTICE dimension="2"/> <EXTENT dimension="1" size="L"/> <EXTENT dimension="2" size="L"/> <BOUNDARY type="periodic"/> </FINITELATTICE> <UNITCELL> ... </UNITCELL> </LATTICEGRAPH>
Model<BASIS> <SITEBASIS name="spin"> <PARAMETER name="S" default="1/2"/> <QUANTUMNUMBER name="Sz" min="-S" max="S"/> </SITEBASIS></BASIS>
<HAMILTONIAN name="spin"> <BASIS ref="spin"/> <SITETERM> -h*Sz </SITETERM> <BONDTERM source="i" target="j”> Jxy/2*(Splus(i)*Sminus(j)+Sminus(i)*Splus(j)) + Jz*Sz(i)*Sz(j) </BONDTERM></HAMILTONIAN>
ParametersLATTICE = “square lattice”L = 100
MODEL = “spin”Jxy = 1Jz = 1h = 0
{ T = 0.1 }{ T = 0.2 }{ T = 0.5 }{ T = 1.0 }
Results
quantum system
Quantum Monte Carlo Exact diagonalization DMRG
![Page 12: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/12.jpg)
Open source developmentof ALPS
• Collaborative development
• Why open source codes?
• License discussion
• Funding situation
![Page 13: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/13.jpg)
The History
the dark ag#
QMC, basic libraries‘94
loop code‘97
‘02
SSE‘01
‘03
ALPS‘04
‘94 DMRG
![Page 14: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/14.jpg)
Current applications
• Quantum Monte Carlo• stochastic series expansions (SSE), F. Alet, M. Troyer
• loop code for spin systems, S. Todo
• continuous time worm code, S. Trebst, M. Troyer
• Exact diagonalization• full and sparse, A. Honecker, A. Läuchli, M. Troyer
• DMRG• single particle, S. Manmana, R. Noack, U. Schollwöck
• interacting particles, I. McCulloch
![Page 15: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/15.jpg)
Collaborative development
• Some 15 developers, mostly PhDs.
• technical infrastructure
• source code control system (CVS)
• mailing lists
• web page
• semi-annual workshops
Austria, France, Germany, Japan, Netherlands and Switzerland
![Page 16: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/16.jpg)
Developer workshops
• Developers meet at semi-annual workshops
• review of finished projects
• discussion of current developments
• road-map for new developments in the next 6 months
• Workshop are essential to coordinate and drive the development.
![Page 17: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/17.jpg)
Open source codes
• Why open source?
• community profits from improvements by individual developers
e.g. adding disorder to models
• simplify code developmentbuild on lattice, model, ... libraries
• non-experts can use sophisticated algorithms
• reproducibility of published scientific results
![Page 18: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/18.jpg)
Open source codes
• Why should a researcher publish his codes?
• start new collaborations / networks
• name recognition
• citations
• peer pressure to contribute
• The “cite me” - license
scientific returnopen sources
![Page 19: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/19.jpg)
The “cite me” - license
• Applications codes
• free for non-commercial applications
• based on GNU public license
• citation requirements
• Modifications / improvements of codes
• should be integrated into ALPS
• not obligatory to publish
![Page 20: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/20.jpg)
The “cite me” - license
• Applications codes
• free for non-commercial applications
• based on GNU public license
• citation requirements
• Library codes
• less restrictive
• partially available under a free license
![Page 21: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/21.jpg)
User workshops• Oak Ridge ‘03
• part of workshop on Wang-Landau sampling
• Lugano ‘04
• general lectures on numerical methods
• hands-on tutorials of applications
• direct feedback from users
• workshops/tutorials set deadlines for developments
![Page 22: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/22.jpg)
Become a user yourself!http://alps.comp-phys.org
![Page 23: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/23.jpg)
Funding situation
• Software development classified as infrastructure project ➡ no funding by research grants
• combination with research projects
• no professional code developers
![Page 24: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/24.jpg)
Funding situation• Funding sources for infrastructure
• computer centers, Swiss National Supercomputer Center ORNL
• companies?
• think big: group grantcan fund a software developer
• open source development helpful
Eidgenössische Technische Hochschule
Zürich
Ecole polytechnique fédérale de ZurichPolitecnico federale di Zurigo
Swiss Federal Institute of Technology Zurich
Calcolo Scientifico
Swiss Center for
Centro Svizzero di
Scientific Computing
CSCS
SCSC
Annual Report 2001/2002
ETH Zurich, Centro Svizzero di Calcolo Scientifico (CSCS)
Via Cantonale, Galleria 2, 6928 Manno, Switzerland
![Page 25: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/25.jpg)
Experiences• Advantages of open source development ☺
• improved code design• more flexibility• code review by fellow developers
• new collaborations, joint research projects ☺• new contacts to experimental groups ☺• more work ☹
![Page 26: Open Source Software for Quantum Lattice ModelsThe ALPS project • open source libraries and simulation codes for strongly correlated quantum systems • Quantum Monte Carlo • exact](https://reader036.vdocuments.us/reader036/viewer/2022071508/6128cb7deccb4f4a6b0f8efa/html5/thumbnails/26.jpg)
ALPS workshop ‘04 Lugano, September 26 - October 1
Classical Monte CarloSpin DynamicsQuantum Monte CarloExact diagonalizationDMRG
F. AletG. BrownH.-G. EvertzC. KollathA. LäuchliI. McCulloch
R. NoackT. SchulthessS. TodoS. TrebstShan-Ho Tsai
Invited speakers Hands-on tutorials