{"id":18522658,"url":"https://github.com/xanaduai/jet","last_synced_at":"2025-04-09T11:31:05.264Z","repository":{"id":37867911,"uuid":"366500006","full_name":"XanaduAI/jet","owner":"XanaduAI","description":"Jet is a cross-platform library for simulating quantum circuits using tensor network contractions.","archived":false,"fork":false,"pushed_at":"2023-03-14T21:34:27.000Z","size":2250,"stargazers_count":61,"open_issues_count":6,"forks_count":14,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-08T17:04:25.964Z","etag":null,"topics":["quantum-computing","tensor-networks"],"latest_commit_sha":null,"homepage":"https://quantum-jet.readthedocs.io","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XanaduAI.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-11T20:04:52.000Z","updated_at":"2025-02-15T12:30:58.000Z","dependencies_parsed_at":"2024-11-06T17:39:21.807Z","dependency_job_id":"725a9ca4-65cb-4c9a-b108-dfbe198fdff1","html_url":"https://github.com/XanaduAI/jet","commit_stats":{"total_commits":68,"total_committers":7,"mean_commits":9.714285714285714,"dds":0.4117647058823529,"last_synced_commit":"14bfedb9c9835756f3af0fca04c43f64becab61f"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XanaduAI%2Fjet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XanaduAI%2Fjet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XanaduAI%2Fjet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XanaduAI%2Fjet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XanaduAI","download_url":"https://codeload.github.com/XanaduAI/jet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248031115,"owners_count":21036335,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["quantum-computing","tensor-networks"],"created_at":"2024-11-06T17:32:35.074Z","updated_at":"2025-04-09T11:31:00.427Z","avatar_url":"https://github.com/XanaduAI.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":".. image:: https://raw.githubusercontent.com/XanaduAI/jet/main/docs/_static/jet_title.svg\n    :alt: Jet\n    :height: 65\n    :width: 100%\n\n##################################################\n\n.. image:: https://github.com/XanaduAI/jet/actions/workflows/tests.yml/badge.svg\n    :alt: GitHub Actions\n    :target: https://github.com/XanaduAI/jet/actions/workflows/tests.yml\n\n.. image:: https://img.shields.io/badge/Docs-English-yellow.svg\n    :alt: Documentation\n    :target: https://quantum-jet.readthedocs.io\n\n.. image:: https://img.shields.io/badge/C%2B%2B-17-blue.svg\n    :alt: Standard\n    :target: https://en.wikipedia.org/wiki/C%2B%2B17\n\n.. image:: https://img.shields.io/badge/License-Apache%202.0-orange.svg\n    :alt: License\n    :target: https://www.apache.org/licenses/LICENSE-2.0\n\n`Jet \u003chttps://quantum-jet.readthedocs.io\u003e`_ is a cross-platform C++ and Python\nlibrary for simulating quantum circuits using tensor network contractions.\n\nFeatures\n========\n\n* Runs on a variety of systems, from single-board machines to massively parallel\n  supercomputers.\n\n* Accelerates tensor contractions using a novel task-based parallelism approach.\n\n* Models quantum systems with an arbitrary number of basis states.\n\nTo get started with Jet, read one of our `tutorial walkthroughs\n\u003chttps://quantum-jet.readthedocs.io/en/stable/use/introduction.html\u003e`__ or\nbrowse the full `API documentation\n\u003chttps://quantum-jet.readthedocs.io/en/stable/api/library_root.html\u003e`__.\n\nInstallation\n============\n\nC++\n^^^\n\nThe Jet C++ library requires `Taskflow \u003chttps://github.com/taskflow/taskflow\u003e`_,\na BLAS library with a CBLAS interface, and a C++ compiler with C++17 support.\nTo use Jet, add ``#include \u003cJet.hpp\u003e`` to the top of your header file and link\nyour program with the CBLAS library.\n\nFor example, assuming that the Taskflow headers can be found in your ``g++``\ninclude path and OpenBLAS is installed on your system, you can compile the\n``hellojet.cpp`` program below\n\n.. code-block:: cpp\n\n    #include \u003carray\u003e\n    #include \u003ccomplex\u003e\n    #include \u003ciostream\u003e\n\n    #include \u003cJet.hpp\u003e\n\n    int main(){\n        using Tensor = Jet::Tensor\u003cstd::complex\u003cfloat\u003e\u003e;\n\n        Tensor lhs({\"i\", \"j\", \"k\"}, {2, 2, 2});\n        Tensor rhs({\"j\", \"k\", \"l\"}, {2, 2, 2});\n\n        lhs.FillRandom();\n        rhs.FillRandom();\n\n        Tensor res = Tensor::ContractTensors(lhs, rhs);\n\n        for (const auto \u0026datum : res.GetData()) {\n            std::cout \u003c\u003c datum \u003c\u003c std::endl;\n        }\n\n        std::cout \u003c\u003c \"You have successfully used Jet version \" \u003c\u003c Jet::Version() \u003c\u003c std::endl;\n\n        return 0;\n    }\n\nby running\n\n.. code-block:: bash\n\n    git clone https://github.com/XanaduAI/jet\n    g++ --std=c++17 -O3 -Ijet/include hellojet.cpp -lopenblas\n\nThe output of this program should resemble\n\n.. code-block:: text\n\n    $ ./hellojet\n    (-0.936549,0.0678852)\n    (-0.0786964,-0.771624)\n    (2.98721,-0.657124)\n    (-1.90032,1.58051)\n    You have successfully used Jet version 0.2.1\n\nFor more detailed instructions, see the `development guide\n\u003chttps://quantum-jet.readthedocs.io/en/stable/dev/guide.html\u003e`_.\n\nPython\n^^^^^^\n\nThe Jet Python package requires Python version 3.7 and above. Installation of Jet,\nas well as all dependencies, can be done using pip:\n\n.. code-block:: bash\n\n    pip install quantum-jet\n\nTo build the Jet Python distribution locally, a BLAS library with a CBLAS\ninterface and a C++ compiler with C++17 support is required.  Simply run\n\n.. code-block:: bash\n\n    make dist\n    pip install dist/*.whl\n\nTo verify that Jet is installed, you can run the ``hellojet.py`` program below\n\n.. code-block:: python\n\n    import jet\n\n    lhs = jet.Tensor([\"i\", \"j\", \"k\"], [2, 2, 2])\n    rhs = jet.Tensor([\"j\", \"k\", \"l\"], [2, 2, 2])\n\n    lhs.fill_random()\n    rhs.fill_random()\n    res = jet.contract_tensors(lhs, rhs)\n\n    for datum in res.data:\n        print(f\"{datum:.5f}\")\n\n    print(\"You have successfully used Jet version\", jet.version())\n\nThe output of this program should resemble\n\n.. code-block:: text\n\n    $ python hellojet.py\n    1.96289+0.25257j\n    -0.16588-1.44652j\n    -1.43005+0.49516j\n    1.66881-1.67099j\n    You have successfully used Jet version 0.2.1\n\nContributing to Jet\n===================\n\nWe welcome new contributions - simply fork the Jet repository and make a\n`pull request \u003chttps://help.github.com/articles/about-pull-requests/\u003e`_\ncontaining your contribution.  All contributers to Jet will be listed as authors\non the releases.  See our `changelog\n\u003chttps://github.com/XanaduAI/jet/blob/main/.github/CHANGELOG.md\u003e`_ for more\ndetails.\n\nWe also encourage bug reports, suggestions for new features and enhancements,\nand even links to cool projects or applications built using Jet. Visit the\n`contributions page\n\u003chttps://github.com/XanaduAI/jet/blob/main/.github/CONTRIBUTING.md\u003e`_ to\nlearn more about sharing your ideas with the Jet team.\n\nSupport\n=======\n\n- **Source Code:** https://github.com/XanaduAI/jet\n- **Issue Tracker:** https://github.com/XanaduAI/jet/issues\n\nIf you are having issues, please let us know by posting the issue on our GitHub\nissue tracker.\n\nAuthors\n=======\n\nJet is the work of `many contributors \u003chttps://github.com/XanaduAI/jet/graphs/contributors\u003e`_.\n\nIf you are doing research using Jet, please cite our paper:\n\n    Trevor Vincent, Lee J. O'Riordan, Mikhail Andrenkov, Jack Brown, Nathan Killoran, Haoyu Qi, and Ish Dhand. *Jet: Fast quantum circuit simulations with parallel task-based tensor-network contraction.* 2022. `Published in Quantum \u003chttps://doi.org/10.22331/q-2022-05-09-709\u003e`_.\n\nLicense\n=======\n\nJet is **free** and **open source**, released under the\n`Apache License, Version 2.0 \u003chttps://www.apache.org/licenses/LICENSE-2.0\u003e`_.\n\nJet contains a copy of\n`JSON for Modern C++ \u003chttps://github.com/nlohmann/json\u003e`_\nfrom Niels Lohmann which is licenced under the\n`MIT License \u003chttps://opensource.org/licenses/MIT\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxanaduai%2Fjet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxanaduai%2Fjet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxanaduai%2Fjet/lists"}