Skip to content

Commit

Permalink
added basic skeleton of a qiskit backend
Browse files Browse the repository at this point in the history
  • Loading branch information
claretgrace0801 committed Jun 27, 2022
1 parent daed76a commit 644e5c1
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/qutip_qip/qiskit/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .provider import Provider
21 changes: 21 additions & 0 deletions src/qutip_qip/qiskit/backend.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from .job import Job
from qiskit import qobj


class TestSimulator():

def __init__(self, configuration=None, provider=None, **fields):
pass
# super().__init__(configuration=configuration, provider=provider, **fields)

def run(self, qobj: qobj.Qobj, **backend_options):
job_id = 123
job = Job(self, job_id, self._run_job(job_id, qobj))
return job

def _run_job(self, job_id, qobj):
test_ret = {
"success": True,
"data": [1, 0, 0]
}
return test_ret
9 changes: 9 additions & 0 deletions src/qutip_qip/qiskit/job.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

class Job():

def __init__(self, backend, job_id, result):
# super().__init__(backend, job_id)
self._result = result

def result(self):
return self._result
23 changes: 23 additions & 0 deletions src/qutip_qip/qiskit/provider.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from qiskit.providers.provider import ProviderV1 as QiskitProvider
from .backend import TestSimulator

SIMULATORS = [TestSimulator]


class Provider(QiskitProvider):

def __init__(self):
super().__init__()

self.name = "qutip_provider"
self._backends = {"test_backend": TestSimulator()}

def backends(self, name=None, filters=None, **kwargs):
backends = list(self._backends.values())
if name:
try:
backends = [self._backends[name]]
except LookupError:
print("The '{}' backend is not installed in your system.".format(name))

return backends

0 comments on commit 644e5c1

Please sign in to comment.