coto

๐Ÿ”จ Research & C++ implementation on abstract additive Quantum Decision Diagrams ๐Ÿ“š

https://github.com/maloleroy/coto

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • โœ“
    CITATION.cff file
    Found CITATION.cff file
  • โœ“
    codemeta.json file
    Found codemeta.json file
  • โœ“
    .zenodo.json file
    Found .zenodo.json file
  • โ—‹
    DOI references
  • โ—‹
    Academic publication links
  • โ—‹
    Committers with academic emails
  • โ—‹
    Institutional organization owner
  • โ—‹
    JOSS paper metadata
  • โ—‹
    Scientific vocabulary similarity
    Low similarity (15.1%) to scientific vocabulary

Keywords

abstract-interpretation decision-diagram qasm quantum-computing
Last synced: 6 months ago · JSON representation ·

Repository

๐Ÿ”จ Research & C++ implementation on abstract additive Quantum Decision Diagrams ๐Ÿ“š

Basic Info
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 7
  • Releases: 0
Topics
abstract-interpretation decision-diagram qasm quantum-computing
Created about 2 years ago · Last pushed 9 months ago
Metadata Files
Readme Citation

README.md

Coto - Abstract Additive Quantum Decision Diagrams

GitHub GitHub Actions Build Status (GitHub Actions) C++ Gitmoji PlantUML

Theoretical research, experiments and implementation of abstract additive quantum decision diagrams, as part of a student research project.

Building

To build the project, you must have Clang, CMake and Ninja installed. The code uses some C++23 features, so a recent version of clang++ is required. Other versions probably work, but I personally use the following on my machine: * Clang 19.1.7 * CMake 3.31.6 * Ninja 1.12.1

  1. Configure the project bash export CXX=$(which clang++) cmake -S . -B build -GNinja
  2. Build the project bash cmake --build build
  3. To run the tests (optional) bash cd build ctest

QASM interactive interpreter

After building the project (steps 1. and 2. above), simply run ./build/prompt. You can then enter QASM instructions, for example qubit a; qubit b; h a; p(pi/3) b; cx a b; h b;

This prompt utility comes with a few available run statements that should be ;-terminated: * @build, @inst, @instantiate - create a new diagram * @list, @actions - list the actions (gate applicaitons) to be performed * @display, @evaluate, @eval - display the evaluation of the current diagram * @describe, @desc - display the description of the current diagram * @help, @man, @manual - display a help message

Applying gates to qubits is not performed immediately after the statement is entered, and should be triggered by a @display;.

The prompt executable can also take a .qasm file path as an argument, in this case it quits after executing all statements in the file, without entering interactive mode.

Repository architecture

Presentation of this repository's main directories: - .github/workflows GitHub actions continuous integration (CI) and continous deployment (CD) configuration files - Runs the unit tests that are in the test directory and marked as ready for testing in CMakeLists.txt - Generate the docs using Doxygen and publish them to maloleroy.github.io/coto using GitHub Pages - archives Legacy documents or code, that still should be indexed - doc Theory documents (basically, LaTeX) - include Code header files (.h C++ files) - ref References, code or case studies that can be used as examples - s6 Final report and presentation for semester 6 (in French) - s7 Final report and presentation for semester 6 (in French) - src Source code (.cpp C++ files, not headers) - test Test code (.cpp C++ files)

Owner

  • Name: Malo Leroy
  • Login: maloleroy
  • Kind: user
  • Location: Paris, France
  • Company: @CentraleSupelec

MEng @CentraleSupelec - Universitรฉ Paris-Saclay | Software Engineer @ Paris Digital Lab

Citation (CITATION.cff)

cff-version: 1.2.0
title: Coto
message: Abstract additive decision diagrams
type: software
authors:
  - given-names: Malo
    family-names: Leroy
    email: malo.leroy@student-cs.fr
    affiliation: CentraleSupรฉlec & INRIA
repository-code: 'https://github.com/maloleroy/coto/'
abstract: >-
  Abstract additive quantum decision diagrams theoretical
  model and efficient implementation for quantum states and
  circuits storage and operating, in the context of
  simulation, development and verification.
keywords:
  - quantum computing
  - abstract interpretation
  - programming
  - decision diagrams
date-released: '2025-02-17'

GitHub Events

Total
  • Issues event: 6
  • Delete event: 6
  • Push event: 11
  • Pull request event: 4
  • Create event: 2
Last Year
  • Issues event: 6
  • Delete event: 6
  • Push event: 11
  • Pull request event: 4
  • Create event: 2

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 294
  • Total Committers: 2
  • Avg Commits per committer: 147.0
  • Development Distribution Score (DDS): 0.01
Past Year
  • Commits: 226
  • Committers: 2
  • Avg Commits per committer: 113.0
  • Development Distribution Score (DDS): 0.009
Top Committers
Name Email Commits
fluteur m****y@s****r 291
Malo Leroy 5****x 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 16
  • Total pull requests: 7
  • Average time to close issues: 15 days
  • Average time to close pull requests: 1 minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 16
  • Pull requests: 7
  • Average time to close issues: 15 days
  • Average time to close pull requests: 1 minute
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • maloleroy (2)
Pull Request Authors
  • maloleroy (9)
Top Labels
Issue Labels
enhancement (1) bug (1)
Pull Request Labels
to-do (1) enhancement (1) bug (1)