Pulser
Pulser copied to clipboard
Create tools to build operators
I am taking build_operator out of Hamiltonian and QutipEmulator, such that it can be used to generate effective noise operators. I associate the operators to the eigenstates of a SequenceSamples (introduced in #705). I provide:
- default_operators to generate the default operators associated to a SequenceSamples.
- build_projector to build a specific 1qudit projector.
- build_1qubit_operator to make linear combinations of 1qudit projectors (or other 1 qudit matrices provided in an optional dictionary).
- build_operator to make tensor product of 1 qudit operator (function that was already in place). What I can provide:
- a tutorial on how to use these operators
- a function that decomposes any operator into a tensor product of linear combinations of projectors. Other question:
- At the moment, doing sim.build_operator(("I", "global")) returns III + III + III if sim has 3 atoms in its register, is this really the wanted behaviour ? (sim.build_operator has always behaved this way)