Skip to content

Commit 552fe00

Browse files
committed
more setup
1 parent cf4d7a1 commit 552fe00

File tree

5 files changed

+127
-3
lines changed

5 files changed

+127
-3
lines changed

solvers/qiskit/materialsimulation/material_simulation_qiskit.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from qiskit_algorithms.optimizers import SLSQP
77
from qiskit.primitives import Estimator
88
from qiskit_nature.second_q.algorithms import GroundStateEigensolver, QEOM, EvaluationRule
9+
from qiskit_nature.second_q.algorithms.initial_points import HFInitialPoint
910
from qiskit_nature.second_q.circuit.library import HartreeFock, UCCSD
1011

1112
parser = argparse.ArgumentParser(
@@ -55,7 +56,13 @@ def get_ansatz(problem, mapper):
5556
estimator = Estimator()
5657
# This first part sets the ground state solver
5758
solver = VQE(estimator, ansatz, SLSQP())
58-
solver.initial_point = [0.0] * ansatz.num_parameters
59+
60+
hf_initial_point = HFInitialPoint()
61+
hf_initial_point.ansatz = ansatz
62+
initial_point = hf_initial_point.to_numpy_array()
63+
64+
solver.initial_point = initial_point
65+
5966
gse = GroundStateEigensolver(mapper, solver)
6067

6168
# The qEOM algorithm is simply instantiated with the chosen ground state solver and Estimator primitive

src/main/resources/application-linux.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@ path.custom.lkh.binary=${path.custom}/${name.custom.lkh}/bin/LKH-linux
66

77
# linux specific Binary for the ganak sharp-sat solver:
88
path.custom.sharp-sat-ganak=${path.custom}/${name.custom.sharp-sat-ganak}/bin/ganak-linux
9+
10+
# solver containing linux and mac only library:
11+
path.qiskit.materialsimulation=${path.qiskit}/${name.qiskit.materialsimulation}/material_simulation_qiskit.py

src/main/resources/application-mac.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@ path.custom.lkh.binary=${path.custom}/${name.custom.lkh}/bin/LKH-mac
66

77
# Mac-specific Binary for the ganak sharp-sat solver:
88
path.custom.sharp-sat-ganak=${path.custom}/${name.custom.sharp-sat-ganak}/bin/ganak-mac
9+
10+
# solver containing linux and mac only library:
11+
path.qiskit.materialsimulation=${path.qiskit}/${name.qiskit.materialsimulation}/material_simulation_qiskit.py

src/main/resources/application-windows.properties

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@ path.custom.berger-vrp=${path.custom}/${name.custom.berger-vrp}/bin/pipeline-win
44
# windows-specific Binary for the LKH solver:
55
path.custom.lkh.binary=${path.custom}/${name.custom.lkh}/bin/LKH-windows.exe
66

7-
# Empty path - this solver is not available on Windows
7+
# Empty path - these solvers are not available on Windows
88
path.custom.sharp-sat-ganak=
9+
10+
path.qiskit.materialsimulation=
Lines changed: 110 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,110 @@
1-
# default spring profile, correct one will be set during runtime (see ToolboxServerApplication.java)# options: mac, windows, linuxspring.profiles.active=linuxspringdoc.swagger-ui.operationsSorter=alphaspringdoc.swagger-ui.tagsSorter=alphaworking.directory=jobsexamples.directory=examplesspringdoc.swagger-ui.path=/# Solversname.solvers=solvers# Non OS-specific solvers: (typically GAMS and Python)name.gams=gamspath.gams=${name.solvers}/${name.gams}name.gams.max-cut=max-cutpath.gams.max-cut=${path.gams}/${name.gams.max-cut}/maxcut.gmsname.gams.sat=satpath.gams.sat=${path.gams}/${name.gams.sat}/sat.gmsname.qiskit=qiskitpath.qiskit=${name.solvers}/${name.qiskit}name.qiskit.knapsack=knapsackpath.qiskit.knapsack=${path.qiskit}/${name.qiskit.knapsack}/knapsack_qiskit.pyvenv.qiskit.knapsack=${name.solvers}_${name.qiskit}_${name.qiskit.knapsack}name.qiskit.materialsimulation=materialsimulationpath.qiskit.materialsimulation=${path.qiskit}/${name.qiskit.materialsimulation}/material_simulation_qiskit.pyvenv.qiskit.materialsimulation=${name.solvers}_${name.qiskit}_${name.qiskit.materialsimulation}name.qiskit.max-cut=max-cutpath.qiskit.max-cut=${path.qiskit}/${name.qiskit.max-cut}/maxCut_qiskit.pyvenv.qiskit.max-cut=${name.solvers}_${name.qiskit}_${name.qiskit.max-cut}name.qiskit.qubo=qubopath.qiskit.qubo=${path.qiskit}/${name.qiskit.qubo}/qubo_qiskit.pyvenv.qiskit.qubo=${name.solvers}_${name.qiskit}_${name.qiskit.qubo}name.cirq=cirqpath.cirq=${name.solvers}/${name.cirq}name.cirq.max-cut=max-cutpath.cirq.max-cut=${path.cirq}/${name.cirq.max-cut}/max_cut_cirq.pyvenv.cirq.max-cut=${name.solvers}_${name.cirq}_${name.cirq.max-cut}name.qrisp=qrisppath.qrisp=${name.solvers}/${name.qrisp}name.qrisp.vrp=vrppath.qrisp.vrp=${path.qrisp}/${name.qrisp.vrp}/grover.pyvenv.qrisp.vrp=${name.solvers}_${name.qrisp}_${name.qrisp.vrp}name.qrisp.qubo=qubopath.qrisp.qubo=${path.qrisp}/${name.qrisp.qubo}/qaoa.pyvenv.qrisp.qubo=${name.solvers}_${name.qrisp}_${name.qrisp.qubo}name.qrisp.sat=satpath.qrisp.sat.grover=${path.qrisp}/${name.qrisp.sat}/grover.pypath.qrisp.sat.exact=${path.qrisp}/${name.qrisp.sat}/exact_grover.pyvenv.qrisp.sat=${name.solvers}_${name.qrisp}_${name.qrisp.sat}name.dwave=dwavepath.dwave=${name.solvers}/${name.dwave}name.dwave.qubo=qubopath.dwave.qubo=${path.dwave}/${name.dwave.qubo}/main.pyvenv.dwave.qubo=${name.solvers}_${name.dwave}_${name.dwave.qubo}# Non OS-specific custom solvers: (solvers that are not part of a framework)name.custom=custompath.custom=${name.solvers}/${name.custom}name.custom.hs-knapsack=hs-knapsackpath.custom.hs-knapsack=${path.custom}/${name.custom.hs-knapsack}/knapsack.pyvenv.custom.hs-knapsack=${name.solvers}_${name.custom}_${name.custom.hs-knapsack}name.custom.lkh=lkhpath.custom.lkh=${path.custom}/${name.custom.lkh}/vrp_lkh.pyvenv.custom.lkh=${name.solvers}_${name.custom}_${name.custom.lkh}name.custom.berger-vrp=berger-vrpname.custom.sharp-sat-bruteforce=sharp-sat-bruteforcepath.custom.sharp-sat-bruteforce=${path.custom}/${name.custom.sharp-sat-bruteforce}/exact-solution-counter.pyvenv.custom.sharp-sat-bruteforce=${name.solvers}_${name.custom}_${name.custom.sharp-sat-bruteforce}name.custom.sharp-sat-ganak=sharp-sat-ganakvenv.custom.sharp-sat-ganak=${name.solvers}_${name.custom}_${name.custom.sharp-sat-ganak}# Demonstratorsname.demonstrators=demonstratorsname.demonstrators.cplex=cplexpath.demonstrators.cplex=${name.demonstrators}/${name.demonstrators.cplex}name.demonstrators.cplex.mip=mip-solverpath.demonstrators.cplex.mip=${path.demonstrators.cplex}/${name.demonstrators.cplex.mip}/mip-solver.pyvenv.demonstrators.cplex.mip=${name.demonstrators}_${name.demonstrators.cplex}_${name.demonstrators.cplex.mip}
1+
# default spring profile, correct one will be set during runtime (see ToolboxServerApplication.java)
2+
# options: mac, windows, linux
3+
spring.profiles.active=linux
4+
springdoc.swagger-ui.operationsSorter=alpha
5+
springdoc.swagger-ui.tagsSorter=alpha
6+
7+
working.directory=jobs
8+
examples.directory=examples
9+
springdoc.swagger-ui.path=/
10+
11+
# Solvers
12+
name.solvers=solvers
13+
14+
# Non OS-specific solvers: (typically GAMS and Python)
15+
name.gams=gams
16+
path.gams=${name.solvers}/${name.gams}
17+
18+
name.gams.max-cut=max-cut
19+
path.gams.max-cut=${path.gams}/${name.gams.max-cut}/maxcut.gms
20+
21+
name.gams.sat=sat
22+
path.gams.sat=${path.gams}/${name.gams.sat}/sat.gms
23+
24+
25+
name.qiskit=qiskit
26+
path.qiskit=${name.solvers}/${name.qiskit}
27+
28+
name.qiskit.knapsack=knapsack
29+
path.qiskit.knapsack=${path.qiskit}/${name.qiskit.knapsack}/knapsack_qiskit.py
30+
venv.qiskit.knapsack=${name.solvers}_${name.qiskit}_${name.qiskit.knapsack}
31+
32+
name.qiskit.materialsimulation=materialsimulation
33+
venv.qiskit.materialsimulation=${name.solvers}_${name.qiskit}_${name.qiskit.materialsimulation}
34+
35+
name.qiskit.max-cut=max-cut
36+
path.qiskit.max-cut=${path.qiskit}/${name.qiskit.max-cut}/maxCut_qiskit.py
37+
venv.qiskit.max-cut=${name.solvers}_${name.qiskit}_${name.qiskit.max-cut}
38+
39+
name.qiskit.qubo=qubo
40+
path.qiskit.qubo=${path.qiskit}/${name.qiskit.qubo}/qubo_qiskit.py
41+
venv.qiskit.qubo=${name.solvers}_${name.qiskit}_${name.qiskit.qubo}
42+
43+
44+
name.cirq=cirq
45+
path.cirq=${name.solvers}/${name.cirq}
46+
47+
name.cirq.max-cut=max-cut
48+
path.cirq.max-cut=${path.cirq}/${name.cirq.max-cut}/max_cut_cirq.py
49+
venv.cirq.max-cut=${name.solvers}_${name.cirq}_${name.cirq.max-cut}
50+
51+
52+
name.qrisp=qrisp
53+
path.qrisp=${name.solvers}/${name.qrisp}
54+
55+
name.qrisp.vrp=vrp
56+
path.qrisp.vrp=${path.qrisp}/${name.qrisp.vrp}/grover.py
57+
venv.qrisp.vrp=${name.solvers}_${name.qrisp}_${name.qrisp.vrp}
58+
59+
name.qrisp.qubo=qubo
60+
path.qrisp.qubo=${path.qrisp}/${name.qrisp.qubo}/qaoa.py
61+
venv.qrisp.qubo=${name.solvers}_${name.qrisp}_${name.qrisp.qubo}
62+
63+
name.qrisp.sat=sat
64+
path.qrisp.sat.grover=${path.qrisp}/${name.qrisp.sat}/grover.py
65+
path.qrisp.sat.exact=${path.qrisp}/${name.qrisp.sat}/exact_grover.py
66+
venv.qrisp.sat=${name.solvers}_${name.qrisp}_${name.qrisp.sat}
67+
68+
name.dwave=dwave
69+
path.dwave=${name.solvers}/${name.dwave}
70+
71+
name.dwave.qubo=qubo
72+
path.dwave.qubo=${path.dwave}/${name.dwave.qubo}/main.py
73+
venv.dwave.qubo=${name.solvers}_${name.dwave}_${name.dwave.qubo}
74+
75+
76+
# Non OS-specific custom solvers: (solvers that are not part of a framework)
77+
name.custom=custom
78+
path.custom=${name.solvers}/${name.custom}
79+
80+
name.custom.hs-knapsack=hs-knapsack
81+
path.custom.hs-knapsack=${path.custom}/${name.custom.hs-knapsack}/knapsack.py
82+
venv.custom.hs-knapsack=${name.solvers}_${name.custom}_${name.custom.hs-knapsack}
83+
84+
name.custom.lkh=lkh
85+
path.custom.lkh=${path.custom}/${name.custom.lkh}/vrp_lkh.py
86+
venv.custom.lkh=${name.solvers}_${name.custom}_${name.custom.lkh}
87+
88+
name.custom.berger-vrp=berger-vrp
89+
90+
name.custom.sharp-sat-bruteforce=sharp-sat-bruteforce
91+
path.custom.sharp-sat-bruteforce=${path.custom}/${name.custom.sharp-sat-bruteforce}/exact-solution-counter.py
92+
venv.custom.sharp-sat-bruteforce=${name.solvers}_${name.custom}_${name.custom.sharp-sat-bruteforce}
93+
94+
name.custom.sharp-sat-ganak=sharp-sat-ganak
95+
venv.custom.sharp-sat-ganak=${name.solvers}_${name.custom}_${name.custom.sharp-sat-ganak}
96+
97+
name.custom.materialsimulation-driver-pyscf=materialsimulation-driver-pyscf
98+
path.custom.materialsimulation-driver-pyscf=${path.custom}/${name.custom.materialsimulation-driver-pyscf}/pyscf_driver.py
99+
venv.custom.materialsimulation-driver-pyscf=${name.solvers}_${name.custom}_${name.custom.materialsimulation-driver-pyscf}
100+
101+
102+
# Demonstrators
103+
name.demonstrators=demonstrators
104+
105+
name.demonstrators.cplex=cplex
106+
path.demonstrators.cplex=${name.demonstrators}/${name.demonstrators.cplex}
107+
108+
name.demonstrators.cplex.mip=mip-solver
109+
path.demonstrators.cplex.mip=${path.demonstrators.cplex}/${name.demonstrators.cplex.mip}/mip-solver.py
110+
venv.demonstrators.cplex.mip=${name.demonstrators}_${name.demonstrators.cplex}_${name.demonstrators.cplex.mip}

0 commit comments

Comments
 (0)