? Quantum Variational Monte Carlo Problem statement Minimize the - - PowerPoint PPT Presentation

quantum variational monte carlo
SMART_READER_LITE
LIVE PREVIEW

? Quantum Variational Monte Carlo Problem statement Minimize the - - PowerPoint PPT Presentation

Quantum Variational Monte Carlo QVMCApp ? Quantum Variational Monte Carlo Problem statement Minimize the functional E [ T ], where T ( R ) d R H T ( R ) E [ T ] = . (1) d R | T ( R ) | 2 The variational


slide-1
SLIDE 1

Quantum Variational Monte Carlo

QVMCApp

?

slide-2
SLIDE 2

Quantum Variational Monte Carlo

Problem statement

  • Minimize the functional E[ΨT], where

E[ΨT] =

  • dRΨ∗

T(R)ˆ

HΨT(R)

  • dR|ΨT(R)|2

. (1)

  • The variational principle gives us a lower bound on the ground

state energy. E0 ≤ E[ΨT]

Need to calculate the integral in (1).

slide-3
SLIDE 3

Quantum Variational Monte Carlo

Problem statement

  • Minimize the functional E[ΨT], where

E[ΨT] =

  • dRΨ∗

T(R)ˆ

HΨT(R)

  • dR|ΨT(R)|2

. (1)

  • The variational principle gives us a lower bound on the ground

state energy. E0 ≤ E[ΨT]

Need to calculate the integral in (1).

slide-4
SLIDE 4

Quantum Variational Monte Carlo

Integration

QVMCApp Integration

?

slide-5
SLIDE 5

Quantum Variational Monte Carlo

Monte Carlo integration

  • Rewrite the integral using the local energy EL and its pdf ρ(R)

E[ΨT] =

  • dREL(R)ρ(R)

where EL(R) = ˆ HΨT(R) ΨT(R) , ρ(R) = |ΨT(R)|2

  • dR′|ΨT(R′)|2 .

(2)

Sample the local energy following ρ(R).

slide-6
SLIDE 6

Quantum Variational Monte Carlo

Monte Carlo integration

  • Rewrite the integral using the local energy EL and its pdf ρ(R)

E[ΨT] =

  • dREL(R)ρ(R)

where EL(R) = ˆ HΨT(R) ΨT(R) , ρ(R) = |ΨT(R)|2

  • dR′|ΨT(R′)|2 .

(2)

Sample the local energy following ρ(R).

slide-7
SLIDE 7

Quantum Variational Monte Carlo

Random walkers

Metropolis algorithm

for i = 0, . . . , ncycles for j = 1, . . . , N X ∈ [−l, l] R′ ← R + X p ← |ΨT (R′)|2

|ΨT (R)|2

if Y ≤ p, Y ∈ [0, 1] R = R′ end if end for Update statistics end for

Metropolis Hastings algorithm

for i = 0, . . . , ncycles for j = 1, . . . , N F ← 2 ∇ΨT (R)

ΨT (R)

X ∈ gaussian() R′ = R + D∆tF + X √ ∆t p ← |ΨT (R′)|2

|ΨT (R)|2

ωRR′ = exp ( −(R′−R−D∆tF)2

4D∆t

) q ← ωR′R

ωRR′ p

if Y ≤ q, Y ∈ [0, 1] R = R′ end if end for Update statistics end for

Need wavefunction, quantum force and local energy

slide-8
SLIDE 8

Quantum Variational Monte Carlo

Random walkers

Metropolis algorithm

for i = 0, . . . , ncycles for j = 1, . . . , N X ∈ [−l, l] R′ ← R + X p ← |ΨT (R′)|2

|ΨT (R)|2

if Y ≤ p, Y ∈ [0, 1] R = R′ end if end for Update statistics end for

Metropolis Hastings algorithm

for i = 0, . . . , ncycles for j = 1, . . . , N F ← 2 ∇ΨT (R)

ΨT (R)

X ∈ gaussian() R′ = R + D∆tF + X √ ∆t p ← |ΨT (R′)|2

|ΨT (R)|2

ωRR′ = exp ( −(R′−R−D∆tF)2

4D∆t

) q ← ωR′R

ωRR′ p

if Y ≤ q, Y ∈ [0, 1] R = R′ end if end for Update statistics end for

Need wavefunction, quantum force and local energy

slide-9
SLIDE 9

Quantum Variational Monte Carlo

Ingredients for integration

QVMCApp Integration Wavefunction QuantumForce Hamiltonian

slide-10
SLIDE 10

Quantum Variational Monte Carlo

Sample the local energy

  • The local energy depends on the Hamiltonian.

ˆ H =

N

  • i=1

−∇2

i

2 + ˆ V + ˆ Hint, (3) giving EL(R) =

N

  • i=1

−∇2

i ΨT(R)

2ΨT(R) + ˆ VΨT(R) ΨT(R) + ˆ HintΨT(R) ΨT(R) . (4)

Need wavefunction with value and laplacian, in additon to a potential and an interaction.

slide-11
SLIDE 11

Quantum Variational Monte Carlo

Sample the local energy

  • The local energy depends on the Hamiltonian.

ˆ H =

N

  • i=1

−∇2

i

2 + ˆ V + ˆ Hint, (3) giving EL(R) =

N

  • i=1

−∇2

i ΨT(R)

2ΨT(R) + ˆ VΨT(R) ΨT(R) + ˆ HintΨT(R) ΨT(R) . (4)

Need wavefunction with value and laplacian, in additon to a potential and an interaction.

slide-12
SLIDE 12

Quantum Variational Monte Carlo

Complete framework

QVMCApp Integration Wavefunction value(r : coordinate) ratio(r new, r old : coordinate) gradient(r : coordinate) laplacian(r : coordinate) QForce Hamiltonian Potential Interaction Kinetic

slide-13
SLIDE 13

Class definition

Integration

UML diagram

Integration Metropolis

  • ld, new : coordinate

energy : hamiltonian trial wf : wavefunction init() run() teardown() update statistics() MetropolisHastings quantum force : quantum force init() run() teardown()

Type declaration

1 TYPE, PUBLIC :: metropolis 2 TYPE (coordinate) :: old, new 3 CLASS (hamiltonian), POINTER :: energy => NULL() 4 CLASS (wavefunction), POINTER :: trial_wf => NULL() 5 CONTAINS 6 PROCEDURE :: init => metropolis_init 7 PROCEDURE :: run => metropolis_run 8 PROCEDURE :: teardown => metropolis_teardown 9 PROCEDURE, PRIVATE :: update_statistics 10 END TYPE metropolis 11 TYPE(metropolis) :: a1 12 13 TYPE, PUBLIC, EXTENDS(metropolis) :: metropolis_hastings 14 CLASS (quantum_force), POINTER :: quantum_force => NULL( 15 CONTAINS 16 PROCEDURE :: init => metropolis_hastings_init 17 PROCEDURE :: run => metropolis_hastings_run 18 PROCEDURE :: teardown => metropolis_hastings_teardown 19 END TYPE metropolis_hastings 20 TYPE(metropolis_hastings) :: a3

slide-14
SLIDE 14

Two dimensional quantum dot

Problem statement

  • Hamiltonian

ˆ H =

N

  • i=1
  • −1

2∇2

i + 1

2ω2r2

i

  • +

N

  • i<j=1

1 rij , (5)

  • Trial wavefunction

ΨT = ΨDΨJ, (6) where ΨD = 1 √ N!

  • ϕ1(r1)

. . . ϕ1(rN) . . . ... . . . ϕN(r1) . . . ϕN(rN)

  • (7)

and ΨJ =

N

  • i<j=1

exp aijrij 1 + βrij

  • .

(8)

slide-15
SLIDE 15

Two dimensional quantum dot

Problem statement

  • Spin independent Hamiltonian means we can split the Slater

determinant in a spin up part and a spin down part ΨD ≈ Ψ↑ · Ψ↓, (9) where Ψ↑ = 1

  • (N/2)!
  • ϕ2(r2)

ϕ2(r4) . . . ϕ2(rN) ϕ4(r2) ϕ4(r4) . . . ϕ4(rN) . . . ... . . . ϕN(r2) ϕN(r4) . . . ϕN(rN)

  • (10)

and Ψ↓ = 1

  • (N/2)!
  • ϕ1(r1)

ϕ1(r3) . . . ϕ1(rN−1) ϕ3(r1) ϕ3(r3) . . . ϕ3(rN−1) . . . ... . . . ϕN−1(r1) ϕN−1(r3) . . . ϕN−1(rN−1)

  • .

(11)

slide-16
SLIDE 16

Two dimensional quantum dot

Complete wavefunction framework

Wavefunction Determinant Jastrow ExpFactor SpState Hermite

slide-17
SLIDE 17

Class definition

Wavefunction

UML diagram

Wavefunction variational exp factor : exponential wavefunction jastrow factor : jastrow get() gradient() laplacian() ratio() determinental determinant : determinant none get() gradient() laplacian() ratio()

Type declaration

TYPE, PUBLIC, EXTENDS(wavefunction) :: variational CLASS (exponential_wavefunction), POINTER :: exp_factor CLASS (jastrow), POINTER :: jastrow_factor => NULL() CONTAINS PROCEDURE get => variational_get PROCEDURE gradient => variational_gradient PROCEDURE laplacian => variational_laplacian END TYPE variational TYPE, PUBLIC, EXTENDS(variational) :: determinental CLASS (determinant_none), POINTER :: determinant => NULL CONTAINS PROCEDURE get => determinental_get PROCEDURE gradient => determinental_gradient PROCEDURE laplacian => determinental_laplacian PROCEDURE ratio => determinental_ratio END TYPE determinental

slide-18
SLIDE 18

Profiling with grof

  • Compile your code with the -pg option.
  • Run your code.
  • Run gprof: gprof ./exeutable ¿ outputfile
  • Study outputfile