quick.optimizer module for optimizers
Description
Add a module for defining optimizers like gradient-based optimizers. This will require moving the current quick.optimizer which is reserved for circuit optimization (reducing circuit depth) to within the quick.circuit module preferably.
The module will provide a set of optimization algorithms which will later be used to variationally train a circuit. I aim to use this module to create a new strain of synthesis for approximate encoding of states and operators (where the cost is the infidelity between a target state/operator and the state/operator the circuit represents). This module will be required for that.
Tips
- Define the types of optimizers, and how they will interface before adding alot of optimizers.
- Start with a simple optimizer like gradient-descent.
quick.optimizermodule for optimizersDescription
Add a module for defining optimizers like gradient-based optimizers. This will require moving the current
quick.optimizerwhich is reserved for circuit optimization (reducing circuit depth) to within thequick.circuitmodule preferably.The module will provide a set of optimization algorithms which will later be used to variationally train a circuit. I aim to use this module to create a new strain of synthesis for approximate encoding of states and operators (where the cost is the infidelity between a target state/operator and the state/operator the circuit represents). This module will be required for that.
Tips