* Updated the layers method to only add the registers once
* Added in a test and made it so the nodes are added properly
* Added in a sort to the order of the nodes so that the order is maintained between DAGs
* Improved redundant code and added a more detailed comment
* Added another comment to clarify the return
* Removed some redundant code
* Change Snapshot signature to match simulator.snapshot (#2592)
* Param name change: name -> label
* Param name change: snap_type -> snapshot_type
* Make snapshot_type optional
* New optional param: name
* Remove name attribute from comparison
* Set name to 'snapshot'
* Remove instruction.name from Snapshot construction
* Change snapshot argument names
* Always return name in __repr__
* Add line to CHANGELOG.md
* Adding hyperbolic secant and its derivative, not yet working. I think it is due to rescaling.
* Finishing tests
* Update CHANGELOG.md
* Fixed formatting
* Fixed formatting
* More formatting
* Update CHANGELOG.md
* Update CHANGELOG.md
* Adding tests for pulse/configuration.py
* Adding invalid case for interval
* Adding tests for intervals and timeslots
* Changing order of kwargs
* str->repr
* Update test_experiment_configurations.py
* fix bug in converting circuit to op
* gates were applied to incorrect qubits if they didn't have a matrix definition
* add additional test
* update changelog
* remove debug comment
* allow for specifying device with element numbers
* Revert "allow for specifying device with element numbers"
This reverts commit 26765162be.
* add deprecation warning to device specification
* add pulse specification
add pulse specification
* add test for pulse specification
* add device topology class
* refactoring of names and docstrings
* change module name
* refactoring of docstring
* change import order
* refactoring of docstring
* refactoring of docstring, method name
* refactoring of docstring
* refactoring of docstring
* change method name
In #2344 we changed the default output style for the mpl circuit drawer
backend to use colored gates. However, in that PR we didn't change the
documented default behavior in the documentation of the style dict.
This commit corrects the oversight and also cleans up some small issues
in that section of the api docs.
* implemented Gray-Synth algorithm
* fixed formatting of the code
* added functionality for processing matrices with same columns (multiple gates applied to same state)
* added functionality for processing matrices with same columns (multiple gates applied to same state) also during the algorithm
* fixed 2 bugs in lwr_cnot_synth() and in graysynth()
* minor formatting fixes
* Created test_graysynth.py file, for checking if graysynth.py works properly
* minor improvements
* fixed error as explained by @ajavadia
* changed __init__.py
* Fixed cyclic import error (suggested by @ajavadia)
Co-Authored-By: Ali Javadi-Abhari <ajavadia@users.noreply.github.com>
* Created new folder transpiler/synthesis for synthesis algorithms and put GraySynth algorithm into it. More changes to follow
* upated testing function accordingly
* added function documentations, removed redundant state = np.matrix(state) line
* removed storage class, and replaced it with regular list using its stack functionality, and added raise Exception for numpy.ndarray
* added documentation for Exception in function cnot_synth()
* instead of using T-gates by default, it is now possible to specify any arbitrary phase-gate rotation
* changelog.md
* type fix angels -> angles
* docstring edits
* remove qreg from cnot_synth args
* remove number (n_qubits) from function args as it can be inferred
* specify a default of 2 for n_sections
* simplify test via Operator class, and add test from paper example
* make cnot_synth standalone (not cnot appender), and use QiskitError
* fix bug in cnot_synth and add test
* cnot_synth takes python lists or numpy ndarray
* lint
* Update graysynth.py
* renamed n_sections --> section_size
* Merge refactor tangential to #2678
* Style: had an extra line
* Deprecate rather than remove ops
* Update qiskit/pulse/schedule.py
Co-Authored-By: Thomas Alexander <thomasalexander2718@gmail.com>
The state tomography performance test has not worked in some time since
the module in terra it was using has been removed. The tomography code
lives in ignis now.
* local_invariance
* fix tests with foce_consolidation
* change binary op check
* tests and lint
* tests and lint
* remove cregs
* remove c
* fix module header
* lint and fix tests
* fix cyclic
* update docstrings
* add weyl here
* make sure to round and FP
* move out magic matrix
* more tests and move to reduced weyl coordinates
* updates
* fix edge case in weyl coords
* move things around
* use same weyl code as decomposer
* Fix type hints and docstrings for pulse commands module.
* Remove period from args/returns docstrings.
* Updated linebreak on acquire.
* Update drawer style type hinting.
* Remove None channel index default argument.
* Add optional type hints.
* Update metacount.
* Set up CI with Azure Pipelines
This commit adds a yaml config to start using azure pipelines instead of using appveyor for our windows testing. For our purposes it's mostly the same except that azure is faster and provides much more capacity. [skip ci]
* Remove venv
* Add wheel build job
* Update job names
* Only run wheel builds on tags
* Rework trigger syntax
* Switch back to jobs instead of stages
* Use condtions instead of trigger to filter jobs
* Fix job names
* Enable twine upload
* Remove appveyor
* Fix pypi step definition
* Remove pypi step display name
This adds a mailmap for qiskit terra in order to merge multiple commit identities into a single author and to choose a canonical name/email for the authors suitable for the attribution scripts to use for generating the AUTHORS file, bibtex file, and zenodo authorship metadata. I did a small amount of work and figured out full names for a few authors who used opaque github ids. I didn't do too much detective work to unmask the last few in case they are trying to be anonymous on purpose.
This resolves the terra piece of Qiskit/qiskit#229
I preferred the noreply.github email if one was present and failing that preferred an IBM email over any other.
Without this PR git-shortlog thinks there are 146 unique authors. After this PR merges duplicates, it shows 105 unique authors. This is 5 fewer than the "100 contributors" quoted on the github webpage because of:
1. 2 authors who have commits but seem to have no github account: Vojtech Havlicek, Christian Claus
2. 3 authors who have a github account but have committed using an email address not attached with that account: @jerrymchow @Trabing @mryu1
* Initial mailmap
* Update mailmap
* Tweak mailmap and add help comments
* Update .mailmap
* Update mailmap from contributor comments
* Add @nkanazawa1989 to mailmap
* Update .mailmap
* Add @sathayen full name from PR comments
* Add comment about mailmaps for other elements. Narrow match for local addresses
* Mailmap consistency with qiskit/qiskit
* Add @gadial name from ignis mailmap
The ignis mailmap file [1] included the full name for @gadial. This
commit just propogates that over to terra too.
[1] https://github.com/Qiskit/qiskit-ignis/blob/master/.mailmap
* Mailmap add entries to fix Co-Authored-By lines
* automated jupyter job monitor
* style fixes
* remove outdated tests
* updates
* allow updates when main thread blocked
* get around key error bug in jobs for job.error_message
* Trial job for asv continuous in travis.
* Print circuit QASM during randomized testing.
* Add coverage to python 3.6 job name.
* Suppress hypothesis filter_too_much health check.
* Reducuce random circuit count from 50 to 25.
* Set python version via command line arg rather than sed.
As part of the qiskit.__qiskit_version__ attribute we have to call pip
to check for the meta-package version (since it doesn't contain any
python code). However, when doing this there was no error handling in
case pip failed for any reason. This is an issue because the version
discovery code runs on import, so if pip fails for any reason, this
becomes fatal and makes all of qiskit unusable. Since versions queried
via pip aren't critical to the operation this commit adds the necessary
error handling to the pip call. If pip fails for any reason we catch it
and just move on.
Fixes#2660