open source software for quantum lattice modelsthe alps project • open source libraries and...

26
The ALPS Project Open Source Software for Quantum Lattice Models Simon Trebst, ETH Zürich The ALPS co!aboratio" http://alps.comp-phys.org

Upload: others

Post on 23-Apr-2021

6 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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