├── LICENSE.txt ├── MANIFEST ├── README.md ├── __init__.py ├── dist └── pyqml-0.1.tar.gz ├── pyqml └── __init__.py ├── setup.cfg ├── setup.md └── setup.py /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | Copyright (c) 2020 Dr. Frank Zickert 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | The above copyright notice and this permission notice shall be included in all 10 | copies or substantial portions of the Software. 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 | SOFTWARE. -------------------------------------------------------------------------------- /MANIFEST: -------------------------------------------------------------------------------- 1 | # file GENERATED by distutils, do NOT edit 2 | setup.cfg 3 | setup.py 4 | pyqml/__init__.py 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PyQML 2 | 3 | ## Quantum Combinatorial Optimization Problem Solver (QCOPS) 4 | 5 | QCOPS aims to provide an easy-to-use API for solving intermediate-scale optimization problems in practice. 6 | 7 | The Quantum Approximate Optimization Algorithm (QAOA) is one of the most promising algorithms to achieve quantum advantages on current noisy intermediate scale quantum (NISQ) devices. It is very well suited to solving combinatorial optimization problems. 8 | 9 | Well-known quantum SDKs such as Qiskit and Pennylane provide convenient interfaces for using the QAOA. However, these lack essential features to efficiently move a sufficiently hard problem from an experimental phase to production maturity. 10 | 11 | The missing features are: 12 | 13 | 1. caching - storing intermediate results and continuing optimization processes. 14 | 2. error mitigation - integration of methods for error mitigation 15 | 3. qubit reduction - minimizing the number of qubits needed to solve a problem 16 | 4. customizability - a modular implementation that allows replacing everything. 17 | 18 | QCOPS provides these features. 19 | 20 | -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- 1 | if __name__ == "__main__": 2 | print("Hello PyQML") -------------------------------------------------------------------------------- /dist/pyqml-0.1.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quantum-machine-learning/pyqml/a9d4a908a1e053b88b34d81eb20f186070e588c8/dist/pyqml-0.1.tar.gz -------------------------------------------------------------------------------- /pyqml/__init__.py: -------------------------------------------------------------------------------- 1 | if __name__ == "__main__": 2 | print("Hello PyQML") -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | # Inside of setup.cfg 2 | [metadata] 3 | description-file = README.md -------------------------------------------------------------------------------- /setup.md: -------------------------------------------------------------------------------- 1 | 2 | # Packages 3 | 4 | - use default python version: `sudo ln -s /usr/local/bin/python3.10 /usr/bin/python` 5 | - install pip: `sudo apt install python3-pip` 6 | - upgrade pip: `pip install --upgrade pip` 7 | - Use pipenv `python3 -m pip install --user pipenv` --> `pipenv run python main.py` 8 | - Virtual environment: `sudo apt-get install python3-venv` 9 | - create environment: `python -m venv env` 10 | - activate environmnet: `source env/bin/activate` -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from distutils.core import setup 2 | setup( 3 | name = 'pyqml', # How you named your package folder (MyLib) 4 | packages = ['pyqml'], # Chose the same as "name" 5 | version = '0.1', # Start with a small number and increase it with every change you make 6 | license='MIT', # Chose a license from here: https://help.github.com/articles/licensing-a-repository 7 | description = 'Quantum Machine Learning', # Give a short description about your library 8 | author = 'Dr. Frank Zickert', # Type in your name 9 | author_email = 'mail@pyqml.com', # Type in your E-Mail 10 | url = 'https://github.com/quantum-machine-learning/pyqml', # Provide either the link to your github or to your website 11 | download_url = 'https://github.com/quantum-machine-learning/pyqml/archive/master.tar.gz', # I explain this later on 12 | keywords = ['QUANTUM', 'COMPUTING', 'MACHINE', 'LEARNING'], # Keywords that define your package best 13 | install_requires=[ 14 | 'validators', 15 | 'beautifulsoup4', 16 | ], 17 | classifiers=[ 18 | 'Development Status :: 3 - Alpha', # Chose either "3 - Alpha", "4 - Beta" or "5 - Production/Stable" as the current state of your package 19 | 'Intended Audience :: Developers', # Define that your audience are developers 20 | 'Topic :: Software Development :: Build Tools', 21 | 'License :: OSI Approved :: MIT License', # Again, pick a license 22 | 'Programming Language :: Python :: 3', #Specify which pyhton versions that you want to support 23 | 'Programming Language :: Python :: 3.4', 24 | 'Programming Language :: Python :: 3.5', 25 | 'Programming Language :: Python :: 3.6', 26 | ], 27 | ) --------------------------------------------------------------------------------