This PR overhauls the current state of MagPy, adding the follow fundamental objects:
PauliString - constant operators on one or more qubits, formed of Pauli operators
FunctionProduct - a product of functions
HamiltonianOperator - constant or time-dependent Hamiltonian operators
These changes also define the algebra of these objects: composition, addition, scalar multiplication, etc. This functionality allows for their construction to be written in a code in a more familiar, mathematical manner.
Included alongside these changes are Jupyter notebooks, detailing the usage and functionality of these objects.
This PR overhauls the current state of MagPy, adding the follow fundamental objects:
These changes also define the algebra of these objects: composition, addition, scalar multiplication, etc. This functionality allows for their construction to be written in a code in a more familiar, mathematical manner.
Included alongside these changes are Jupyter notebooks, detailing the usage and functionality of these objects.