Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* updating julia dependencies * version bumping * Release 0.5.0 (#54) * Update LICENSE * small correction in README.md * 25-update-tests-so-tests-can-succeeds, updated test, but will be overhauled later * Use setuptools-scm in pyproject.toml * Create requirements-test.txt * version bump after hotfix * Move test requirements to pyproject section * Specify sub-modules as well. Ensure a clear configuration and remove guessing for setuptools * Updated gitignore Ignore whl files and __pycache__ * Remove pyc cache * Ignore pycache dir as a whole * version bump and tag * Creating new device inside snowflurry_device.py * Adding entry point to pyproject.toml and importing class in __init__.py * create pluggin that communicates directly to thunderhead This pluggin does not communicate with snowflurry. It makes api calls directly to Thunderhead instead. it features: - a module to create, list and get jobs by id using API calls - a module translate the pennylane tape into a request body that's readable by the api - a module to decompose the pennylane circuit in native gates - a module that uses VF2 to find a subcircuit in the machine's connectivity where the circuit's graph can be read - a module that reduces the circuit size using circuit equivalences. to do : - the optimization still needs work. The circuit is still not as optimized as the snowflurry transpiled one. - the VF2 module should use networkx instead of the handmade version. - the wiring module should include cases where the circuit graph cannot be handled by the machine's connectivity. (use swaps) * changes to graph util * add transpiler passes mimicking qiskit * refactoring and name change * swap routing works for 7 qubit GHZ * create pluggin that communicates directly to thunderhead This pluggin does not communicate with snowflurry. It makes api calls directly to Thunderhead instead. it features: - a module to create, list and get jobs by id using API calls - a module translate the pennylane tape into a request body that's readable by the api - a module to decompose the pennylane circuit in native gates - a module that uses VF2 to find a subcircuit in the machine's connectivity where the circuit's graph can be read - a module that reduces the circuit size using circuit equivalences. to do : - the optimization still needs work. The circuit is still not as optimized as the snowflurry transpiled one. - the VF2 module should use networkx instead of the handmade version. - the wiring module should include cases where the circuit graph cannot be handled by the machine's connectivity. (use swaps) * added bernstein varizani * continue cleaning up. add conversion of ry to rx and rz * rebuilding all the lost stuff from the rebase * finish re-adding changes + add modulability feature * sf-cq transpiling cmoparison via qiskit + cleanup * ajout de doc, circuits de test, debug tools * api call to get broken qubits and couplers + cleanup * doc, cleaning and tests - tests for placement and routing - add doc here and there - remove unused imports and files * add tests for decomp and optimization - also added changes to transpiler to make transpilation more efficient - added gates to the base decomposition - added test circuit * spring cleanup - use dotenv instead of hardcoded credentials - move api utility in its own file - change a couple of function and file names for coherence - move circuit dict creation in job __init__ method - monarq data with benchmark and connectivity - fetching of benchmarking information is now done in machine_graph() - put qubit fidelity acceptance values in dotenv - add dynamic doc comments to a couple of places - update test device with new features - move imports out of functions - add imags wire mapping * some cleanup * change device name, move api stuff in api folder * correct import in init file * remove unneeded files * add dotenv info to readme * added unit test and tools for experimenting - created a "bad device" that has a snowflurriesque transpiler - changed boolean labels into enum configurations - moved dotenv access outside of build_benchmark method - created a "noisy device" that adds noise on operations - moved attributes around in test device - refactored transpiler - add error handling in placement if circuit is too big - transpiler_config file - created a noisy transform - created method for finding biggest group of nodes - added placement and routing tests * add .env to gitignore * start working on client and behaviour data objects - refactor transpiler config enums - create client data object and specializations * apiadapater singleton and parameter objects * add plotting utils and transpiler integration tests * add tests, jupyters and user documentation * inline doc * rename calculqc device to monarq device * reformatting with MarkdownLint * changed two sentences * cleanup, refactor, add steps list for transpiling * changes post-transpiler refactor * changes to make devices init map * bugs and refactors - move api utility to utility folder - remove sample measurement - add docstrings - expand measurements without wires specified * device now has preprocessing and postprocessing stages separate base steps in two subclasses : PreProcStep and PostProcStep add error mitigation as an example of PostProcStep * update documentation * translate unittests to pytests * ajout de documentation sur mitigation d'erreurs * bug counts() with wires set in device * add __init__ files and decouple doc * change transpiler name to preprocessing * added doc and preset configs * warning message about transpiling "a la mitaine" * remove debug prints * update doc + put slowly changing nw ops in cache * finish storing unchanging demanding values in cache * update docstring and user doc, placement and routing prioritized on fidelities * make sure documentation works * added .coverage to .gitignore * update doc + start what's next document * update doc * Creating new device inside snowflurry_device.py * Adding entry point to pyproject.toml and importing class in __init__.py * create pluggin that communicates directly to thunderhead This pluggin does not communicate with snowflurry. It makes api calls directly to Thunderhead instead. it features: - a module to create, list and get jobs by id using API calls - a module translate the pennylane tape into a request body that's readable by the api - a module to decompose the pennylane circuit in native gates - a module that uses VF2 to find a subcircuit in the machine's connectivity where the circuit's graph can be read - a module that reduces the circuit size using circuit equivalences. to do : - the optimization still needs work. The circuit is still not as optimized as the snowflurry transpiled one. - the VF2 module should use networkx instead of the handmade version. - the wiring module should include cases where the circuit graph cannot be handled by the machine's connectivity. (use swaps) * changes to graph util * add transpiler passes mimicking qiskit * refactoring and name change * swap routing works for 7 qubit GHZ * create pluggin that communicates directly to thunderhead This pluggin does not communicate with snowflurry. It makes api calls directly to Thunderhead instead. it features: - a module to create, list and get jobs by id using API calls - a module translate the pennylane tape into a request body that's readable by the api - a module to decompose the pennylane circuit in native gates - a module that uses VF2 to find a subcircuit in the machine's connectivity where the circuit's graph can be read - a module that reduces the circuit size using circuit equivalences. to do : - the optimization still needs work. The circuit is still not as optimized as the snowflurry transpiled one. - the VF2 module should use networkx instead of the handmade version. - the wiring module should include cases where the circuit graph cannot be handled by the machine's connectivity. (use swaps) * added bernstein varizani * continue cleaning up. add conversion of ry to rx and rz * rebuilding all the lost stuff from the rebase * finish re-adding changes + add modulability feature * sf-cq transpiling cmoparison via qiskit + cleanup * ajout de doc, circuits de test, debug tools * api call to get broken qubits and couplers + cleanup * doc, cleaning and tests - tests for placement and routing - add doc here and there - remove unused imports and files * add tests for decomp and optimization - also added changes to transpiler to make transpilation more efficient - added gates to the base decomposition - added test circuit * spring cleanup - use dotenv instead of hardcoded credentials - move api utility in its own file - change a couple of function and file names for coherence - move circuit dict creation in job __init__ method - monarq data with benchmark and connectivity - fetching of benchmarking information is now done in machine_graph() - put qubit fidelity acceptance values in dotenv - add dynamic doc comments to a couple of places - update test device with new features - move imports out of functions - add imags wire mapping * some cleanup * change device name, move api stuff in api folder * correct import in init file * remove unneeded files * add dotenv info to readme * added unit test and tools for experimenting - created a "bad device" that has a snowflurriesque transpiler - changed boolean labels into enum configurations - moved dotenv access outside of build_benchmark method - created a "noisy device" that adds noise on operations - moved attributes around in test device - refactored transpiler - add error handling in placement if circuit is too big - transpiler_config file - created a noisy transform - created method for finding biggest group of nodes - added placement and routing tests * add .env to gitignore * start working on client and behaviour data objects - refactor transpiler config enums - create client data object and specializations * apiadapater singleton and parameter objects * add plotting utils and transpiler integration tests * add tests, jupyters and user documentation * inline doc * rename calculqc device to monarq device * cleanup, refactor, add steps list for transpiling * reformatting with MarkdownLint * changed two sentences * changes post-transpiler refactor * changes to make devices init map * bugs and refactors - move api utility to utility folder - remove sample measurement - add docstrings - expand measurements without wires specified * device now has preprocessing and postprocessing stages separate base steps in two subclasses : PreProcStep and PostProcStep add error mitigation as an example of PostProcStep * update documentation * translate unittests to pytests * ajout de documentation sur mitigation d'erreurs * bug counts() with wires set in device * add __init__ files and decouple doc * change transpiler name to preprocessing * added doc and preset configs * warning message about transpiling "a la mitaine" * remove debug prints * update doc + put slowly changing nw ops in cache * finish storing unchanging demanding values in cache * update docstring and user doc, placement and routing prioritized on fidelities * make sure documentation works * update doc + start what's next document * update doc * update test file * re-add env to gitignore * add .vs folder to gitignore * make sure not to use benchmark when not required * more docstring + __init__ files everywhere for pylance * add fake device using noise model from Kim (not working perfectly) * separate qubit, coupler, decoherence and relaxation + docstring * docstring + name change for fake monarq device * add tests for api + configs * add unit tests - native decomp functions - monarq data functions - monarq device functions * add tests to commute and merge * converted test_pennylaneConverter.py * print steps + python310 + remove ipynbs * python310 * fix execution config * add tests + increase testability * converted prexisting rudimentary tests to pytest and updated .gitignore * certains tests steps * add tests for gate noise simulation step + api changes * update tests to add unconsidered edge cases * fix preprocessor + add ibu readout mitigation step * converted test_pennylaneConverter.py * rebase refactor/isolate-sf-device onto feature/thunderhead_plugin * removing julia update from init file * extended test suite for PennylaneConverter * isolated imports related to julia, forcing instantiation of PennylaneConverter to even interact with Julia * removed unused import that caused errors after isolating snowflurry * add tests for utilities + fix for zero division * tests + change default config to use ismags * remove test script * add docstring to magic methods in configs * added tofix comment in test file * enlever des prints * PR comment addressing - remove old monarq device class - mark pydoc generator as WIP - mark are_matrices_equivalent as TOFIX * change name of class that caused issues in tests * change repo name to pennylane_calculquebec * add xfail markers on tests that fail * update pyproject with new name and configs * change description * updated version for github actions * Split the action in 2 jobs, the relase-on-pypi job only being executed if the build job completes successfully * updated trigger for python-publish.yml and created python-publish-testpypi.yml to test deployment * replace snowflurry with calculquebec in doc and toml * Feature/cleanup doc (#47) * update pyproject with new name and configs * change description * change repo name to pennylane_calculquebec * cleanup doc folder - move in depth documentation in the for_developer folder - move puml in asset folder * nromalize client name accross doc * change repo name to pennylane_calculquebec * cleanup doc folder - move in depth documentation in the for_developer folder - move puml in asset folder * nromalize client name accross doc * fix version and toml + update doc * refonte readme (#48) * refonte readme - change texts to better represent current plugin alignments - add table of contents - add reference to the Wiki and other docs - change project structure picture - change pennylane_snowflurry to pennylane_calculquebec * Update README.md * Update README.md * change -- for ** * coquille ligne 94 * remove dead code and move sample/test code (#49) * remove dead code and move sample/test code * retirer code commenté * repair test * improve naming, comments and docstring (#50) * improve naming, comments and docstring * change find_closest_wire so its more readable * fix magic number in graph utility * rename variables in kmp algo * replace myqubits for chosen_qubits * make a function name and docstring clearer in placement * delete whats_next file (#51) * add more context to docstrings (#52) * remove pennylane deprecation warning (#53) * fix version in getting_started (#55) --------- Co-authored-by: Antoine Lemelin <[email protected]> Co-authored-by: Scirelgar <[email protected]> Co-authored-by: Charles Coulombe <[email protected]> Co-authored-by: Charles Coulombe <[email protected]> * Update python-publish-testpypi.yml * change license classifier in toml * Update python-publish.yml * bump version to 0.5.1 * Update python-publish-testpypi.yml * change license classifier in toml --------- Co-authored-by: Scirelgar <[email protected]> Co-authored-by: Antoine Lemelin <[email protected]> Co-authored-by: Charles Coulombe <[email protected]> Co-authored-by: Charles Coulombe <[email protected]>
- Loading branch information