-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoptimizer.py
More file actions
31 lines (24 loc) · 813 Bytes
/
optimizer.py
File metadata and controls
31 lines (24 loc) · 813 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from qutip import Qobj
from setup import IonTrapSetup
class InfidelityOptimizer:
def __init__(self, setup, init_state, target_state):
"""
:param IonTrapSetup setup: a setup of an ion trap
:param Qobj init_state: initial state
:param Qobj target_state: target state
"""
self._setup = setup
self._init_state = init_state
self._target_state = target_state
self._c_ops = self._setup.control_operators
@property.getter
def setup(self):
return self._setup
@property.getter
def init_state(self):
return self._init_state
@property.getter
def target_state(self):
return self._target_state
def func(self, param):
evolved_state = self._setup.evolve(param, self._init_state)