Comments (3)
- An even more radical change would be to move the looping over the operations in
self._queue
that currently has to be done inexecute()
out of the scope of responsibility of the individual plugins altogether. A lot of the things happening in that loop will be the same for every plugin (like checking whether operations are supported and of handling parameters) and so it would be good it not every plugin needed to replicate that code. Wouldn't it be better/enough if every plugin just had to define something likeapply(op, wires)
, which would apply the gate/measurement appropriate for the given plugin and potentially return an appropriate result? I guess I will write the ProjectQ plugin internally like that, so that if you like this, we can take my implementation ofexecute()
as a basis for the plugin agnostic implementation.
from pennylane.
- @josh146 and @co9olguy: Please specify the life-cycle of a plugin
Device
more concretely. For example: With which sequence of calls toexecute()
,reset()
, andshutdown()
should the plugin be able to cope? Should a device be "reusable"? It would be best if you could do this by directly implementing unit tests that execute all life cycles that plugins must support.
from pennylane.
@cgogolin I agree completely with your original comment, and I think I agree as well with the second comment. The easier it is for plugin writers, the better.
from pennylane.
Related Issues (20)
- Equivalent 'plot distribution' functionality similar to qiskit implemented for PennyLane for quick circuit probability outputs. HOT 8
- [BUG] Incompatibility of jax with device default.mixed and qml.QubitDensityMatrix() HOT 4
- [BUG] Issue calculating `qml.qinfo.transforms.quantum_fisher` HOT 2
- [BUG] `default.mixed` device does not support `Snapshot` with measurements
- [BUG] string wires do not work with qml.measure HOT 6
- [BUG] `vmap` when a circuit has `AmplitudeEmbedding` on a subset of qubits fails HOT 4
- [BUG] default.qubit tries to decompose non-trainable QubitUnitary in adjoint-diff HOT 1
- [BUG] Expectation Value of Hamiltonian with respect to CISD Wavefunction gives Different Energy than the CISD Energy HOT 3
- Possibility of Qubit, Qutrit and Qudit(when qudit device added) Interaction HOT 2
- [BUG] second-order derivative gives wrong result when using parameter-shift and jax HOT 7
- [BUG] Uncompatibility between "qml.density_matrix" and "default.mixed" in jax.jit HOT 4
- [BUG] Qiskit Aer device creation error HOT 1
- [BUG] Qiskit devices don't support vmap parameter broadcasting HOT 3
- Implement `ExpectationMP.process_counts` HOT 3
- Implement `VarianceMP.process_counts`
- [Bug] dtype promotion to `complex128` with tensorflow SProds _only_ in pauli_rep HOT 1
- Implement `CountsMP.process_counts`
- [BUG] Issues with custom devices and transforms HOT 6
- [BUG] Incompatibility qml.QubitChannel and the mixed device with jax.jit HOT 2
- [BUG] `jax.vmap` is incompatible with non-scalar return values
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 pennylane.