Python library with miscellaneous tools to be used in conjunction with the qonic framework
Project description
## qonic-misc Python Library: Python library with miscellaneous tools to be used in conjunction with the qonic framework
To install: pip3 install qonic_misc
- Includes:
qonic_misc.RotationConversions: * operator_to_updated_state(operator, theta_init, phi_init)
Description: * this function takes a quantum operator (corresponding to a qbit gate), and the initial qbit state defined by the angles theta and phi * theta and phi define the state based on some point on the bloch sphere in spherical coordinates * the statevector of the qbit is defined as [cos(theta/2), sin(theta/2) e^(i phi)] * the function returns the state after being acted on by the gate (in terms of the new theta and phi values)
Parameters: * operator <type ‘list’>: linear, hermitian matrix representing the quantum operator * theta_init <type ‘float’>: initial value for the theta component of the quantum state (must be between 0.0 and pi/2) * phi_init <type ‘float’>: initial value for the phi component of the quantum state (must be between 0.0 and pi/2)
Returns: * [theta_updated, phi_updated] <type ‘list’>: list storing the updated values for theta and phi after being operated on by ‘operator’
Example:
>>> rc = qonic_misc.RotationConversions() >>> pauli_z = [[1, 0], [0, -1]] # pauli z gate >>> print(rc.operator_to_updated_state(pauli_z, 1, 1)) # operate on the initial state of ['theta': 1, 'phi': 1] [-1.0, 1.0]
- operator_to_rotation(operator, print_optimization_loss=False, epochs=300, num_of_vectors=3)
Description: * this function takes a quantum operator (corresponding to a qbit gate) * the function uses tensorflow to find the spacial rotations along the x, y, and z axes of the bloch sphere that corresponds to the operator acting on a qbit state state
Parameters: * operator <type ‘list’>: linear, hermitian matrix representing the quantum operator * print_optimization_loss=False <type ‘bool’>: boolean value that determines if the function will print out the loss of the tf model as it optimizes to find the spacial rotations * epochs=300 <type: ‘int’>: number of epochs that the tf model will optimize for * num_of_vectors=3 <type ‘int’>: number of quantum statevectors that the tf model will optimize for (higher means more accurate but slower, lower means less accurate but faster)
Returns: * [RotX, RotY, RotZ] <type ‘list’>: list storing the spacial rotations along each axis corresponding to the passed operator
Example:
>>> rc = qonic_misc.RotationConversions() >>> pauli_z = [[1, 0], [0, -1]] # pauli z gate >>> print(rc.operator_to_rotation(pauli_z)) # solve for the spacial rotation of the pauli z gate [0.0, 0.0, 3.14159]
qonic_misc.OperatorChecker: tool for evaluating operators
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for qonic_misc-0.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a64bf53d1ed38ba2684b4201baea913457b19874b1092f2f59a4710056481ca6 |
|
MD5 | ca60329e0a213d744be718264f11de7b |
|
BLAKE2b-256 | 7ecb8eb8d0b62f2dabdf4817a5912b170461f74800c9e43fa749f7b8b215d9ba |