Slides black

16
Teaching Quantum Chemistry With Python Thomas Markovich [email protected] Graduate Student at Harvard University

Transcript of Slides black

Page 1: Slides black

Teaching Quantum Chemistry With Python

Thomas Markovich [email protected]

Graduate Student at Harvard University

Page 2: Slides black

Alán Aspuru-Guzik

David TempelAdrian Jinich

Page 3: Slides black

What is Quantum Chemistry"The underlying physical laws necessary for the mathematical theory of a large part of physics and the whole of chemistry are thus completely known, and the difficulty is only that the exact application of these laws leads to equations much too complicated to be soluble. It therefore becomes desirable that approximate practical methods of applying quantum mechanics should be developed, which can lead to an explanation of the main features of complex atomic systems without too much computation.”

- PAM Dirac, 1929

Page 4: Slides black

How is Quantum Chemistry Normally Taught?

• Quantum Mechanics (QM) first, Chemistry second

• QM requires a solid understanding of ODEs, PDEs, Linear Algebra

• Give chemists a crash course in math

• Solve toy models

Page 5: Slides black

Goals of This Course

• Have the computer take care of the mechanics

• Focus on realistic models

• Bring the chemical intuition back to quantum chemistry

• Teach basic python (this was most students first experience with programming)

Page 6: Slides black

Set-Up of The Course

• In class lectures that covered material and programming

• Python homework assignments

• All programming done in iPython

• Used Virtualbox with 32-bit linux mint

Page 7: Slides black

In-Class Demo

Page 8: Slides black
Page 9: Slides black
Page 10: Slides black

Final Exercises

Page 11: Slides black
Page 12: Slides black
Page 13: Slides black
Page 14: Slides black

Successes

• Students learned a lot of python basics

• Students learned a lot of quantum chemistry

• Students wrote a complete hartree fock code

Page 15: Slides black

Lessons

• Virtualization is a “resource hog”

• Mental models of your program are incredibly important

• Debugging is a nontrivial skill, and something we should have emphasized more

Page 16: Slides black

Thanks!!