Comments (6)
I'm not 100% sure I understand the ask, here.
You can get a circuit that represents the adjoint of some isometry StatePreparation
and taking its inverse
, but since StatePreparation
of course represents an operator taking state space to itself, the result will still be an operator on the same space.
If you're just talking about the quantum_info
module, I'm not sure there's enough motivation here - again, Qiskit's components are in support of the circuit model of computation. You might want to look at a more general-purpose linear-algebra library like QuTiP for that, which does already come with a built-in way of representing and working with the dual space.
from qiskit.
Hello, while this operation is not available in the current quantum circuits, there are many arguments it should be in near future.
For example for above QC based of silicon quantum dots, using electric impulse for state preparation - just use the opposite impulse at the end of the process, and from perspective of CPT symmetry it becomes the original state preparation.
Or below for photonic QC - which uses laser impulse for state preparation. Using unidirectional ring laser as below, from perspective of CPT symmetry we perform analogous state preparation on the original final state.
Adding this missing operation to make their set CPT symmetric as physics is believed to be ( https://en.wikipedia.org/wiki/CPT_symmetry ), interested people would start working on better understanding of its consequences - improvements to the known algorithms, and search for new ones - hopefully to be realized in hardware in a few years.
This operation brings new model of quantum computation, similar but slightly different than postselection e.g. in postBQP, requiring more symmetric way of thinking (as unitary evolution is) - even if unsuccessful for realization, might bring new ideas, algorithms, and more attention/citations for Qiskit ... from looking simple and natural addition.
from qiskit.
just use the opposite impulse at the end of the process, and from perspective of CPT symmetry it becomes the original state preparation.
Unitary operators are reversible, and Qiskit's method of representing the reverse action of a unitary operator is the Gate.inverse
method. You can use this on the StatePreparation
object I mentioned before to represent the inverse state-preparation operation, which could be represented in hardware, as you say, by some inverted laser sequence.
Perhaps you might find it easier to write an extension Python package to Qiskit somewhere that adds the functionality you are thinking of. At any rate, I don't believe there's anything in this ask that is sufficiently notable yet to be suitable for the core library.
from qiskit.
Indeed unitary operations are reversible, but the boundary treatment is not - in the beginnings of quantum computation there was arbitrarily assumed possibility of state preparation, but forgetting about its symmetric counterpart - which existence is required by CPT symmetry, and it seems relatively straightforward to physically realize e.g. for silicon quantum dots ...
And new possibilities it brings in theory allow for much more powerful next generation of quantum computers - but for that we need to use both: apply boundary treatment simultaneously from both directions.
Thank you for your suggestions, we will think about it. Maybe please don't close this issue - high demand to add it to the core library is a matter of time.
from qiskit.
If there is wide-scale interest in the future, we can discuss more. For now, I will close the issue.
from qiskit.
Related Issues (20)
- More efficient synthesis of StatePreparation and Initialize based on Isometry
- Compose a circuit containing ControlFlowOps breaks drawer (and possibly other things)
- Appending circuit with ControlFlowOp fails
- `Pauli.evolve()` should recognize common rotations by (n*pi/2) as Clifford gates HOT 3
- `Pauli.evolve()` should recognize ECR gates as Clifford gates HOT 6
- justify keyword arg in circuit draw does not raise on bad input HOT 3
- `Pauli.evolve(qc, frame='s')` will ignore contents of qc for certain values of qc.name
- `XXPlusYYGate.to_matrix()` fails after qasm2 roundtrip HOT 2
- The synthesis function ``synth_cnot_count_full_pmh`` returns empty circuit when ``section_size`` exceeds the number of qubits HOT 8
- `PauliEvolutionGate` default label can be too long to serialize via qpy HOT 2
- Investigate using faer for matmul instead of ndarray. HOT 7
- Standard Gates in 'qelib1.inc' Not Recognized by `qiskit.qasm2.loads` HOT 2
- Transpilation Failure at Optimization Level 3 HOT 2
- Update existing transpiler passes to support `final_permutation`
- Update `OptimizeSwapBeforeMeasure` to use Rustworkx 0.15 reverse topological order HOT 3
- Typo: Change Block to Bloc
- Add angle to list of supported ParameterExpression functions HOT 3
- Controlled UGate with a parameterized angle fails with 4 or more controls HOT 5
- `TypeError: EvalfMixin.evalf() got an unexpected keyword argument 'real'` hit in transpile HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qiskit.