{"id":28258958,"url":"https://github.com/itsubaki/q-rs","last_synced_at":"2025-06-15T17:31:49.198Z","repository":{"id":293826349,"uuid":"985239667","full_name":"itsubaki/q-rs","owner":"itsubaki","description":"Quantum Computation Simulator for Rust","archived":false,"fork":false,"pushed_at":"2025-05-18T12:46:31.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-26T00:03:42.506Z","etag":null,"topics":["quantum-computation","quantum-computing","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/q-rs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itsubaki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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,"zenodo":null}},"created_at":"2025-05-17T10:55:36.000Z","updated_at":"2025-05-17T12:06:49.000Z","dependencies_parsed_at":"2025-05-17T11:46:32.622Z","dependency_job_id":null,"html_url":"https://github.com/itsubaki/q-rs","commit_stats":null,"previous_names":["itsubaki/q-rs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/itsubaki/q-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsubaki%2Fq-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsubaki%2Fq-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsubaki%2Fq-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsubaki%2Fq-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsubaki","download_url":"https://codeload.github.com/itsubaki/q-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsubaki%2Fq-rs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260022300,"owners_count":22947130,"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-computation","quantum-computing","rust"],"created_at":"2025-05-20T01:16:01.702Z","updated_at":"2025-06-15T17:31:49.193Z","avatar_url":"https://github.com/itsubaki.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# q-rs\n\n * Quantum Computation Simulator for Rust\n\n## Example\n\n### Shor's factoring algorithm\n\n```rust\nlet n: u32 = 15;\nlet a = number::coprime(n);\nlet t: u32 = 3; // precision bits\n\nloop {\n    let mut qsim = quantum::Q::new();\n    let r0 = qsim.zeros(t);\n    let r1 = qsim.zero_log2(n);\n\n    qsim.x(\u0026[r1[r1.len() - 1]]);\n    qsim.h(\u0026r0);\n    qsim.cmodexp2(a, n, \u0026r0, \u0026r1);\n    qsim.iqft(\u0026r0);\n\n    let mut found = false;\n    for state in qsim.state().iter() {\n        let m0 = state.to_binary_chars(\u0026r0);\n\n        let (s, r, ok) = number::find_order(a, n, \u0026m0);\n        if !ok || number::is_odd(r) {\n             continue;\n        }\n\n        let p0 = number::gcd(a.pow(r / 2) - 1, n);\n        let p1 = number::gcd(a.pow(r / 2) + 1, n);\n        if number::is_trivial(n, \u0026[p0, p1]) {\n            continue;\n        }\n\n        println!(\"{}; s/r={:\u003e2}/{:\u003e2}; p={}, q={}\", state, s, r, p0, p1);\n        return;\n    }\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsubaki%2Fq-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitsubaki%2Fq-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsubaki%2Fq-rs/lists"}