horqrux
exposes three API endpoints called run
, sample
and expectation
.
run
sample
Sample from a quantum program.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
State
|
Input state vector or density matrix. |
required |
circuit
|
OpSequence
|
Sequence of gates. |
required |
values
|
dict[str, float]
|
description. Defaults to dict(). |
dict()
|
n_shots
|
int
|
Parameter values.. Defaults to 1000. |
1000
|
Raises:
Type | Description |
---|---|
ValueError
|
If n_shots < 1. |
Returns:
Name | Type | Description |
---|---|---|
Counter |
Counter
|
Bitstrings and frequencies. |
Source code in horqrux/api.py
expectation
Run 'state' through a sequence of 'gates' given parameters 'values' and compute the expectation given an observable.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
state
|
State
|
Input state vector or density matrix. |
required |
circuit
|
OpSequence
|
Sequence of gates. |
required |
observables
|
list[Observable]
|
List of observables. |
required |
values
|
dict[str, float] | dict[str, dict[str, float]]
|
A dictionary
containing <'parameter_name': value> pairs
denoting the current parameter values for each parameter in |
dict()
|
diff_mode
|
DiffMode
|
Differentiation mode. Defaults to DiffMode.AD. |
AD
|
n_shots
|
int
|
Number of shots. Defaults to 0 for no shots. |
0
|
key
|
Any
|
Random key. Defaults to jax.random.PRNGKey(0). |
PRNGKey(0)
|
Returns:
Name | Type | Description |
---|---|---|
Array |
Array
|
Expectation values. |