Comments (6)
Do you know a nice way to fix this issue? We could check for empty lists directly in the or-operator or, alternatively, allow commands with no target qubits and then throw them out. Both don't seem very graceful...
from projectq.
There is a partial fix, just for controls, in #50
My wild idea for how to fix it is to move the engine-selection out of the qubits and into blocks like this:
with eng.pipe_commands_into_me():
...
But I'm still debating the strengths of that approach. It nicely simplifies the Dagger/Control/Loop/Compute cases, but it deals poorly with generators, coroutines, and async methods (since they turn this intended-to-be-lexical scoping mechanisms into a dynamical scoping mechanism).
I will send you an invite to a doc where I'm listing out things I want to propose.
from projectq.
Well, the controls part is no longer an issue but thanks for catching that!
Yes, I'm also wondering if this would not introduce too much boilerplate code. After all, having a nice and easy-to-learn syntax is a huge plus :)
Concerning the doc: Great, thanks.
from projectq.
Do you have a gmail address? It's in a google doc that I can only share with google accounts.
from projectq.
Yes, I sent you an e-mail.
from projectq.
We currently don't have any example where an application of a gate to an empty list would make sense. Our current design does not prohibit implementing this if it is ever needed for a specific case.
I am closing this issue now. If there is a gate implemented where the application to an empty list make sense, please open a new issue and we could then discuss adding this feature for that explicit gate.
from projectq.
Related Issues (20)
- The code of QPE. HOT 2
- No Python, can projectq be used online? HOT 10
- About Time Evolution gate
- REST API update HOT 1
- Qasm interface HOT 5
- Install fails on macOS Big Sur
- Problems running an example notebook HOT 10
- Version 0.6.1 crashes on Linux HOT 2
- Probability distribution of qubits' classical value HOT 2
- How to check if projectq is running on C++ Simulator HOT 8
- not work on macbook with M1 Chip HOT 21
- No mapper is present in the compiler engine list! HOT 1
- IonQ uses incorrect path for backend lookup in v0.7.2 HOT 1
- Implement IonQ native gates support HOT 2
- Script runs on the simulator but encounters error on real IBM QE backend regarding a non-existent 'u2' gate HOT 8
- Python 3.9.12 on OSX HOT 6
- Minor : MacOSX 3.9 Intel work but need to use python3 HOT 1
- Issue with pip installation for version 0.8.0 HOT 3
- Reporting a vulnerability HOT 1
- Breaking changes in the AQT API
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 projectq.