From 8df37463c88f8384de741c6c3da110558f1bcb03 Mon Sep 17 00:00:00 2001 From: Rogerluo Date: Mon, 23 Dec 2019 01:18:01 -0500 Subject: [PATCH] Update main.jl --- .../7.variation-quantum-eigen-solver/main.jl | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/quick-start/7.variation-quantum-eigen-solver/main.jl b/quick-start/7.variation-quantum-eigen-solver/main.jl index dcce7f6..5dd694e 100644 --- a/quick-start/7.variation-quantum-eigen-solver/main.jl +++ b/quick-start/7.variation-quantum-eigen-solver/main.jl @@ -2,8 +2,11 @@ using Yao, Yao.AD, YaoExtensions -n = 4 # number of qubits -d = 5 # depth +# number of qubits +n = 4 + +# depth +d = 5 circuit = dispatch!(variational_circuit(n, d),:random) gatecount(circuit) @@ -12,13 +15,13 @@ nparameters(circuit) h = heisenberg(n) +# pick the one you like +# either reverse-mode +# or forward mode +# grad = faithful_grad(h, zero_state(n) => circuit; nshots=100) + for i in 1:1000 - # pick the one you like - # either reverse-mode _, grad = expect'(h, zero_state(n) => circuit) - # or forward mode - #grad = faithful_grad(h, zero_state(n) => circuit; nshots=100) - dispatch!(-, circuit, 1e-2 * grad) println("Step $i, energy = $(real.(expect(h, zero_state(n)=>circuit)))") end