{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/the-computational-complexity-of-linear-optics","title":"The Computational Complexity of Linear Optics","arxiv_id":"1011.3245","date":"2010-11-14","proceeding":null,"authors":["Scott Aaronson","Alex Arkhipov"],"abstract":"We give new evidence that quantum computers -- moreover, rudimentary quantum computers built entirely out of linear-optical elements -- cannot be efficiently simulated by classical computers. In particular, we define a model of computation in which identical photons are generated, sent through a linear-optical network, then nonadaptively measured to count the number of photons in each mode. This model is not known or believed to be universal for quantum computation, and indeed, we discuss the prospects for realizing the model using current technology. On the other hand, we prove that the model is able to solve sampling problems and search problems that are classically intractable under plausible assumptions. Our first result says that, if there exists a polynomial-time classical algorithm that samples from the same probability distribution as a linear-optical network, then P^#P=BPP^NP, and hence the polynomial hierarchy collapses to the third level. Unfortunately, this result assumes an extremely accurate simulation. Our main result suggests that even an approximate or noisy classical simulation would already imply a collapse of the polynomial hierarchy. For this, we need two unproven conjectures: the \"Permanent-of-Gaussians Conjecture\", which says that it is #P-hard to approximate the permanent of a matrix A of independent N(0,1) Gaussian entries, with high probability over A; and the \"Permanent Anti-Concentration Conjecture\", which says that |Per(A)|>=sqrt(n!)/poly(n) with high probability over A. We present evidence for these conjectures, both of which seem interesting even apart from our application. This paper does not assume knowledge of quantum optics. Indeed, part of its goal is to develop the beautiful theory of noninteracting bosons underlying our model, and its connection to the permanent function, in a self-contained way accessible to theoretical computer scientists.","url_abs":"http://arxiv.org/abs/1011.3245v1","url_pdf":"http://arxiv.org/pdf/1011.3245v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"the-computational-complexity-of-linear-optics","repo_url":"https://github.com/ifftech/boson-sampling","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null},{"paper_slug":"the-computational-complexity-of-linear-optics","repo_url":"https://github.com/steinbrecher/bosonic","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1011.3245","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1011.3245"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ifftech/boson-sampling","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/steinbrecher/bosonic","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"unverified":9},"by_repo_kind":{"listed":{"samples":10,"ran":1,"repositories":2}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":1,"samples":[{"code_sha256_prefix":"f4c88ca76b2fd461","entry":"gen_submatrix","repo":"ifftech/boson-sampling","repo_kind":"listed","path":"bosonsampling.py","file_url":"https://github.com/ifftech/boson-sampling/blob/HEAD/bosonsampling.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"f4c88ca76b2fd461"}},{"code_sha256_prefix":"8fd6070639e89281","entry":"build_fock_nonlinear_layer","repo":"steinbrecher/bosonic","repo_kind":"listed","path":"bosonic/nonlinear.py","file_url":"https://github.com/steinbrecher/bosonic/blob/HEAD/bosonic/nonlinear.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8fd6070639e89281"}},{"code_sha256_prefix":"a0749c12c8375c4c","entry":"build_fock_nonlinear_layer_variable","repo":"steinbrecher/bosonic","repo_kind":"listed","path":"bosonic/nonlinear.py","file_url":"https://github.com/steinbrecher/bosonic/blob/HEAD/bosonic/nonlinear.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a0749c12c8375c4c"}},{"code_sha256_prefix":"c9cdbf7b6a6b4f6d","entry":"build_phi_layer","repo":"steinbrecher/bosonic","repo_kind":"listed","path":"bosonic/clements.py","file_url":"https://github.com/steinbrecher/bosonic/blob/HEAD/bosonic/clements.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c9cdbf7b6a6b4f6d"}},{"code_sha256_prefix":"1a07337ddb562c94","entry":"embedded_mzi","repo":"steinbrecher/bosonic","repo_kind":"listed","path":"bosonic/reck.py","file_url":"https://github.com/steinbrecher/bosonic/blob/HEAD/bosonic/reck.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1a07337ddb562c94"}},{"code_sha256_prefix":"3b73c08caf5e744d","entry":"expi","repo":"steinbrecher/bosonic","repo_kind":"listed","path":"bosonic/nonlinear.py","file_url":"https://github.com/steinbrecher/bosonic/blob/HEAD/bosonic/nonlinear.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3b73c08caf5e744d"}},{"code_sha256_prefix":"24ddd0267270e64b","entry":"haar_rand","repo":"steinbrecher/bosonic","repo_kind":"listed","path":"bosonic/util.py","file_url":"https://github.com/steinbrecher/bosonic/blob/HEAD/bosonic/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"24ddd0267270e64b"}},{"code_sha256_prefix":"8b84c06d0cdfba50","entry":"memoize","repo":"steinbrecher/bosonic","repo_kind":"listed","path":"bosonic/util.py","file_url":"https://github.com/steinbrecher/bosonic/blob/HEAD/bosonic/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8b84c06d0cdfba50"}},{"code_sha256_prefix":"eb4ee215c6af7d81","entry":"mzi","repo":"steinbrecher/bosonic","repo_kind":"listed","path":"bosonic/reck.py","file_url":"https://github.com/steinbrecher/bosonic/blob/HEAD/bosonic/reck.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"eb4ee215c6af7d81"}},{"code_sha256_prefix":"2f08644219cf9c37","entry":"phase_two","repo":"steinbrecher/bosonic","repo_kind":"listed","path":"bosonic/reck.py","file_url":"https://github.com/steinbrecher/bosonic/blob/HEAD/bosonic/reck.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2f08644219cf9c37"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}