yaqq


Nameyaqq JSON
Version 0.13.6 PyPI version JSON
download
home_pagehttps://github.com/Advanced-Research-Centre/YAQQ
SummaryYet Another Quantum Quantizer - Design Space Exploration of Quantum Gate Sets using Novelty Search
upload_time2024-01-08 09:53:34
maintainer
docs_urlNone
authorQuantum Intelligence Research Group
requires_python>=3.11
licenseAGPL v3
keywords quantum compiler
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
[![PyPI version](https://badge.fury.io/py/yaqq.svg)](https://badge.fury.io/py/yaqq)

Copyright © 2023 Quantum Intelligence Research Group

Source code available at: https://github.com/Advanced-Research-Centre/YAQQ

Contact: https://www.linkedin.com/in/sarkararitra/

YAQQ: Yet Another Quantum Quantizer - Design Space Exploration of Quantum Gate Sets using Novelty Search

The YAQQ (Yaqq Another Quantum Quantizer) is an agent that searches for novel quantum gate sets. Given a gate set, it can find a complementary gate that performs better for a particular set of unitary transformations than the original gate set. It is possible theoretically because (a) there are an infinite number of ways of creating universal quantum computing gate sets - the ubiquity of quantum universality, (b) for each discrete gate set, there are certain quantum states that are easy to express, but many other quantum states which are exponentially costly - universal distribution for quantum automata. The cost, or the performance of a gate set, considers the fidelity when the gate set is used to decompose the target set of quantum transformations and the circuit complexity of the decomposition.

The theoretical foundation of this package, higher- and multi-order network models, was developed in the following works:
1. [RuliadTrotter: meta-modeling Metamathematical observers](https://community.wolfram.com/groups/-/m/t/2575951)
2. [Visualizing Quantum Circuit Probability: Estimating Quantum State Complexity for Quantum Program Synthesis](https://www.mdpi.com/1099-4300/25/5/763)
3. [Automated Quantum Software Engineering: why? what? how?](https://arxiv.org/abs/2212.00619)
4. [Discovering Quantum Circuit Components with Program Synthesis](https://arxiv.org/abs/2305.01707)
5. [Automated Gadget Discovery in Science](https://arxiv.org/abs/2212.12743)
6. The YAQQ name is inspired by the [YACC](https://en.wikipedia.org/wiki/Yacc) - a compiler-compiler, or a compiler-generator. In a similar way YAQQ provides the set of decompositions for the generated gate set.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

### Install:

```
pip install --upgrade yaqq
```

### Usage:

```
import yaqq
yaqq.run()
```

### Contributors:

Aritra Sarkar (project lead, development) Akash Kundu (development, test suite integration)

### Citation:
If you find the repository useful, please consider citing:

```
@misc{YAQQ,
  author={Sarkar, Aritra and Kundu, Akash},
  title={YAQQ: Yet Another Quantum Quantizer},
  howpublished={\url{[https://github.com/Advanced-Research-Centre/YAQQ](https://github.com/Advanced-Research-Centre/YAQQ)}},
  year={2023}
}
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Advanced-Research-Centre/YAQQ",
    "name": "yaqq",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "",
    "keywords": "quantum compiler",
    "author": "Quantum Intelligence Research Group",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/39/82/1f544cde61d5753f11a7fc97c25a07f1797d55e86352e6eda0c32bb31f67/yaqq-0.13.6.tar.gz",
    "platform": null,
    "description": "[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\r\n[![PyPI version](https://badge.fury.io/py/yaqq.svg)](https://badge.fury.io/py/yaqq)\r\n\r\nCopyright \u00c2\u00a9 2023 Quantum Intelligence Research Group\r\n\r\nSource code available at: https://github.com/Advanced-Research-Centre/YAQQ\r\n\r\nContact: https://www.linkedin.com/in/sarkararitra/\r\n\r\nYAQQ: Yet Another Quantum Quantizer - Design Space Exploration of Quantum Gate Sets using Novelty Search\r\n\r\nThe YAQQ (Yaqq Another Quantum Quantizer) is an agent that searches for novel quantum gate sets. Given a gate set, it can find a complementary gate that performs better for a particular set of unitary transformations than the original gate set. It is possible theoretically because (a) there are an infinite number of ways of creating universal quantum computing gate sets - the ubiquity of quantum universality, (b) for each discrete gate set, there are certain quantum states that are easy to express, but many other quantum states which are exponentially costly - universal distribution for quantum automata. The cost, or the performance of a gate set, considers the fidelity when the gate set is used to decompose the target set of quantum transformations and the circuit complexity of the decomposition.\r\n\r\nThe theoretical foundation of this package, higher- and multi-order network models, was developed in the following works:\r\n1. [RuliadTrotter: meta-modeling Metamathematical observers](https://community.wolfram.com/groups/-/m/t/2575951)\r\n2. [Visualizing Quantum Circuit Probability: Estimating Quantum State Complexity for Quantum Program Synthesis](https://www.mdpi.com/1099-4300/25/5/763)\r\n3. [Automated Quantum Software Engineering: why? what? how?](https://arxiv.org/abs/2212.00619)\r\n4. [Discovering Quantum Circuit Components with Program Synthesis](https://arxiv.org/abs/2305.01707)\r\n5. [Automated Gadget Discovery in Science](https://arxiv.org/abs/2212.12743)\r\n6. The YAQQ name is inspired by the [YACC](https://en.wikipedia.org/wiki/Yacc) - a compiler-compiler, or a compiler-generator. In a similar way YAQQ provides the set of decompositions for the generated gate set.\r\n\r\nThis program is free software: you can redistribute it and/or modify\r\nit under the terms of the GNU Affero General Public License as published\r\nby the Free Software Foundation, either version 3 of the License, or\r\n(at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful,\r\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\r\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r\nGNU Affero General Public License for more details.\r\n\r\nYou should have received a copy of the GNU Affero General Public License\r\nalong with this program.  If not, see <https://www.gnu.org/licenses/>.\r\n\r\n### Install:\r\n\r\n```\r\npip install --upgrade yaqq\r\n```\r\n\r\n### Usage:\r\n\r\n```\r\nimport yaqq\r\nyaqq.run()\r\n```\r\n\r\n### Contributors:\r\n\r\nAritra Sarkar (project lead, development) Akash Kundu (development, test suite integration)\r\n\r\n### Citation:\r\nIf you find the repository useful, please consider citing:\r\n\r\n```\r\n@misc{YAQQ,\r\n  author={Sarkar, Aritra and Kundu, Akash},\r\n  title={YAQQ: Yet Another Quantum Quantizer},\r\n  howpublished={\\url{[https://github.com/Advanced-Research-Centre/YAQQ](https://github.com/Advanced-Research-Centre/YAQQ)}},\r\n  year={2023}\r\n}\r\n```\r\n",
    "bugtrack_url": null,
    "license": "AGPL v3",
    "summary": "Yet Another Quantum Quantizer - Design Space Exploration of Quantum Gate Sets using Novelty Search",
    "version": "0.13.6",
    "project_urls": {
        "Homepage": "https://github.com/Advanced-Research-Centre/YAQQ",
        "Source Code": "https://github.com/Advanced-Research-Centre/YAQQ"
    },
    "split_keywords": [
        "quantum",
        "compiler"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "000efb286475e6df98cff12bc32bf6780b51883ff183be1c3ffab331d0c268b8",
                "md5": "7355624fbc437f8ea6c23c31cbcf64bb",
                "sha256": "04a1928a9361b3813e416ba31868ee12b1144784fdcc258a610ded6b576d7ac2"
            },
            "downloads": -1,
            "filename": "yaqq-0.13.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7355624fbc437f8ea6c23c31cbcf64bb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 29277,
            "upload_time": "2024-01-08T09:53:33",
            "upload_time_iso_8601": "2024-01-08T09:53:33.425902Z",
            "url": "https://files.pythonhosted.org/packages/00/0e/fb286475e6df98cff12bc32bf6780b51883ff183be1c3ffab331d0c268b8/yaqq-0.13.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "39821f544cde61d5753f11a7fc97c25a07f1797d55e86352e6eda0c32bb31f67",
                "md5": "72617b82a6ca7740e8ed118b67cc38e0",
                "sha256": "220b60996cac03622a468925761497de3eb05b9b52aa006650f4730f8c424c9f"
            },
            "downloads": -1,
            "filename": "yaqq-0.13.6.tar.gz",
            "has_sig": false,
            "md5_digest": "72617b82a6ca7740e8ed118b67cc38e0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 27691,
            "upload_time": "2024-01-08T09:53:34",
            "upload_time_iso_8601": "2024-01-08T09:53:34.794671Z",
            "url": "https://files.pythonhosted.org/packages/39/82/1f544cde61d5753f11a7fc97c25a07f1797d55e86352e6eda0c32bb31f67/yaqq-0.13.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-08 09:53:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Advanced-Research-Centre",
    "github_project": "YAQQ",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "yaqq"
}
        
Elapsed time: 0.19445s