Skip to content

New effect decoherence#45

Open
ljcamargo wants to merge 47 commits intomoth-quantum:distfrom
ljcamargo:new-effect-decoherence
Open

New effect decoherence#45
ljcamargo wants to merge 47 commits intomoth-quantum:distfrom
ljcamargo:new-effect-decoherence

Conversation

@ljcamargo
Copy link
Copy Markdown

Hello!

I added another quantum brush called "decoherence" which calculates what would happens to the pixels of a image on a heavy decoherent process (a very large quantum circuit). Making a brief review decoherence from quantum computer perspective is the undesired effect where the qbits starts to gets "erased" the more time it spends in the quantum computer and after a gate is applied, so with enough time and noise a state of |1> will get back to |0>. While I initially attempted to transform the bitmap to QPIXL as suggested by Quantum pixel representations and compression for N-dimensional images, Mercy A et al (2021) this resulted on very computationally extensive (hours per stroke) so I simplified to calculate an average decoherence factor with an average pixel per patch and per color bit to multiply back to each patch.

Because in either qiskit or other backend ideal simulations doesn't have noise we have to implement a noise model to allow the decoherence to happen on ideal an ideal simulator, to achieve this "erase" we just apply a RY and CRY to produce the depolarization and dephasing in the amount given by the T1 known constants, but in order this to behave realistically when the decoherence level the user choses we have to avoid an artificial recoherence (when the qbits flips back from |0>) so we use an ancilla to stop rotating when |0> as been reached so we have a realistic decoherence asymptotic behavior.

The visual results as we can intuitively estimate, is a dimmed stroked which gets somewhat darker the more we increase the decoherence value (arbitrary but calibrated to give a nice effect).

You can quickly check how this effects behaves on the backend I did (that is running for other bounty) on:
quantumbrush.netlify.app
but mind this is backported to the old python backend as well.
Please check the readme for a more detailed explanation.

Captura de pantalla 2026-02-27 225851

@ljcamargo
Copy link
Copy Markdown
Author

for #33

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants