{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2025:KAFHEHDGIHQVPZIDFCCRCNQM7Z","short_pith_number":"pith:KAFHEHDG","schema_version":"1.0","canonical_sha256":"500a721c6641e157e503288511360cfe4ba4d38af9fb8ab2304e77194517097a","source":{"kind":"arxiv","id":"2506.08142","version":1},"attestation_state":"computed","paper":{"title":"How to Write a Simulator for Quantum Circuits from Scratch: A Tutorial","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"quant-ph","authors_text":"Jean-Marc Robert, Kazuki Ikeda, Michael J. McGuffin","submitted_at":"2025-06-09T18:43:46Z","abstract_excerpt":"This tutorial guides a competent programmer through the crafting of a quantum circuit simulator from scratch, even for readers with almost no prior experience in quantum computing. Open source simulators for quantum circuits already exist, but a deeper understanding is gained by writing ones own. With roughly 1000-2000 lines of code, one can simulate Hadamard, Pauli X, Y, Z, SWAP, and other quantum logic gates, with arbitrary combinations of control and anticontrol qubits, on circuits of up to 20+ qubits, with no special libraries, on a personal computer. We explain key algorithms for a simula"},"verification_status":{"content_addressed":true,"pith_receipt":true,"author_attested":false,"weak_author_claims":0,"strong_author_claims":0,"externally_anchored":false,"storage_verified":false,"citation_signatures":0,"replication_records":0,"graph_snapshot":true,"references_resolved":false,"formal_links_present":false},"canonical_record":{"source":{"id":"2506.08142","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"quant-ph","submitted_at":"2025-06-09T18:43:46Z","cross_cats_sorted":[],"title_canon_sha256":"52a83623fb7e20e88cde2dc671d354ecec1f83437effa1b239cbe00ebfac26a9","abstract_canon_sha256":"b04e7562a148952a8750e4b2cc298f3df4020a98834cb156f612c6815fe82a70"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-07-05T11:18:45.301815Z","signature_b64":"SgK5XD5B/3gCCWzqkr8fghNmX0TMg08QAaLRh89lZ+Ws2jnlEAEL9X1luaCwH2HKl6WFY8Zv3C+iS8voCcFLBw==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"500a721c6641e157e503288511360cfe4ba4d38af9fb8ab2304e77194517097a","last_reissued_at":"2026-07-05T11:18:45.301338Z","signature_status":"signed_v1","first_computed_at":"2026-07-05T11:18:45.301338Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"How to Write a Simulator for Quantum Circuits from Scratch: A Tutorial","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"quant-ph","authors_text":"Jean-Marc Robert, Kazuki Ikeda, Michael J. McGuffin","submitted_at":"2025-06-09T18:43:46Z","abstract_excerpt":"This tutorial guides a competent programmer through the crafting of a quantum circuit simulator from scratch, even for readers with almost no prior experience in quantum computing. Open source simulators for quantum circuits already exist, but a deeper understanding is gained by writing ones own. With roughly 1000-2000 lines of code, one can simulate Hadamard, Pauli X, Y, Z, SWAP, and other quantum logic gates, with arbitrary combinations of control and anticontrol qubits, on circuits of up to 20+ qubits, with no special libraries, on a personal computer. We explain key algorithms for a simula"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2506.08142","kind":"arxiv","version":1},"verdict":{"id":null,"model_set":{},"created_at":null,"strongest_claim":"","one_line_summary":"","pipeline_version":null,"weakest_assumption":"","pith_extraction_headline":""},"integrity":{"clean":true,"summary":{"advisory":0,"critical":0,"by_detector":{},"informational":0},"endpoint":"/pith/2506.08142/integrity.json","findings":[],"available":true,"detectors_run":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938"},"references":{"count":0,"sample":[],"resolved_work":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","internal_anchors":0},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"},"aliases":[{"alias_kind":"arxiv","alias_value":"2506.08142","created_at":"2026-07-05T11:18:45.301394+00:00"},{"alias_kind":"arxiv_version","alias_value":"2506.08142v1","created_at":"2026-07-05T11:18:45.301394+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2506.08142","created_at":"2026-07-05T11:18:45.301394+00:00"},{"alias_kind":"pith_short_12","alias_value":"KAFHEHDGIHQV","created_at":"2026-07-05T11:18:45.301394+00:00"},{"alias_kind":"pith_short_16","alias_value":"KAFHEHDGIHQVPZID","created_at":"2026-07-05T11:18:45.301394+00:00"},{"alias_kind":"pith_short_8","alias_value":"KAFHEHDG","created_at":"2026-07-05T11:18:45.301394+00:00"}],"events":[],"event_summary":{},"paper_claims":[],"inbound_citations":{"count":1,"internal_anchor_count":1,"sample":[{"citing_arxiv_id":"2607.07816","citing_title":"A Sparse and Truncated State Vector Simulator for Peaked Circuits","ref_index":3,"is_internal_anchor":true}]},"formal_canon":{"evidence_count":0,"sample":[],"anchors":[]},"links":{"html":"https://pith.science/pith/KAFHEHDGIHQVPZIDFCCRCNQM7Z","json":"https://pith.science/pith/KAFHEHDGIHQVPZIDFCCRCNQM7Z.json","graph_json":"https://pith.science/api/pith-number/KAFHEHDGIHQVPZIDFCCRCNQM7Z/graph.json","events_json":"https://pith.science/api/pith-number/KAFHEHDGIHQVPZIDFCCRCNQM7Z/events.json","paper":"https://pith.science/paper/KAFHEHDG"},"agent_actions":{"view_html":"https://pith.science/pith/KAFHEHDGIHQVPZIDFCCRCNQM7Z","download_json":"https://pith.science/pith/KAFHEHDGIHQVPZIDFCCRCNQM7Z.json","view_paper":"https://pith.science/paper/KAFHEHDG","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=2506.08142&json=true","fetch_graph":"https://pith.science/api/pith-number/KAFHEHDGIHQVPZIDFCCRCNQM7Z/graph.json","fetch_events":"https://pith.science/api/pith-number/KAFHEHDGIHQVPZIDFCCRCNQM7Z/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/KAFHEHDGIHQVPZIDFCCRCNQM7Z/action/timestamp_anchor","attest_storage":"https://pith.science/pith/KAFHEHDGIHQVPZIDFCCRCNQM7Z/action/storage_attestation","attest_author":"https://pith.science/pith/KAFHEHDGIHQVPZIDFCCRCNQM7Z/action/author_attestation","sign_citation":"https://pith.science/pith/KAFHEHDGIHQVPZIDFCCRCNQM7Z/action/citation_signature","submit_replication":"https://pith.science/pith/KAFHEHDGIHQVPZIDFCCRCNQM7Z/action/replication_record"}},"created_at":"2026-07-05T11:18:45.301394+00:00","updated_at":"2026-07-05T11:18:45.301394+00:00"}