{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,16]],"date-time":"2026-04-16T02:09:37Z","timestamp":1776305377499,"version":"3.50.1"},"publisher-location":"Cham","reference-count":19,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031377082","type":"print"},{"value":"9783031377099","type":"electronic"}],"license":[{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2023,7,17]],"date-time":"2023-07-17T00:00:00Z","timestamp":1689552000000},"content-version":"vor","delay-in-days":197,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The simulation of quantum circuits on classical computers is an important problem in quantum computing. Such simulation requires representations of distributions over very large sets of basis vectors, and recent work has used symbolic data-structures such as Binary Decision Diagrams (BDDs) for this purpose. In this tool paper, we present <jats:sc>Quasimodo<\/jats:sc>, an extensible, open-source Python library for <jats:italic>symbolic simulation<\/jats:italic> of quantum circuits. <jats:sc>Quasimodo<\/jats:sc> is specifically designed for easy extensibility to other backends. <jats:sc>Quasimodo<\/jats:sc> allows simulations of quantum circuits, checking properties of the outputs of quantum circuits, and debugging quantum circuits. It also allows the user to choose from among several symbolic data-structures\u2014both unweighted and weighted BDDs, and a recent structure called Context-Free-Language Ordered Binary Decision Diagrams (CFLOBDDs)\u2014and can be easily extended to support other symbolic data-structures.<\/jats:p>","DOI":"10.1007\/978-3-031-37709-9_11","type":"book-chapter","created":{"date-parts":[[2023,7,16]],"date-time":"2023-07-16T10:01:21Z","timestamp":1689501681000},"page":"213-225","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":17,"title":["Symbolic Quantum Simulation with\u00a0Quasimodo"],"prefix":"10.1007","author":[{"given":"Meghana","family":"Sistla","sequence":"first","affiliation":[]},{"given":"Swarat","family":"Chaudhuri","sequence":"additional","affiliation":[]},{"given":"Thomas","family":"Reps","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2023,7,17]]},"reference":[{"key":"11_CR1","doi-asserted-by":"publisher","unstructured":"Aleksandrowicz, G., et al.: Qiskit: an open-source framework for quantum computing (2021). https:\/\/doi.org\/10.5281\/zenodo.2573505","DOI":"10.5281\/zenodo.2573505"},{"issue":"4","key":"11_CR2","doi-asserted-by":"publisher","first-page":"786","DOI":"10.1145\/1075382.1075387","volume":"27","author":"R Alur","year":"2005","unstructured":"Alur, R., Benedikt, M., Etessami, K., Godefroid, P., Reps, T., Yannakakis, M.: Analysis of recursive state machines. ACM Trans. Progr. Lang. Syst. 27(4), 786\u2013818 (2005)","journal-title":"ACM Trans. Progr. Lang. Syst."},{"key":"11_CR3","doi-asserted-by":"publisher","unstructured":"Bahar, R.I., et al.: Algebraic decision diagrams and their applications. Formal Methods Syst. Des. 10(2\/3), 171\u2013206 (1997). https:\/\/doi.org\/10.1023\/A:1008699807402","DOI":"10.1023\/A:1008699807402"},{"key":"11_CR4","doi-asserted-by":"crossref","unstructured":"Beauregard, S.: Circuit for Shor\u2019s algorithm using 2n+3 qubits. arXiv preprint quant-ph\/0205095 (2002)","DOI":"10.26421\/QIC3.2-8"},{"key":"11_CR5","doi-asserted-by":"crossref","unstructured":"Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comp. C-35(6), 677\u2013691 (1986)","DOI":"10.1109\/TC.1986.1676819"},{"key":"11_CR6","unstructured":"Cirq Developers: Cirq (2022). https:\/\/doi.org\/10.5281\/zenodo.7465577. http:\/\/github.com\/quantumlib\/Cirq\/graphs\/contributors"},{"key":"11_CR7","doi-asserted-by":"publisher","unstructured":"Fujita, M., McGeer, P.C., Yang, J.C.: Multi-terminal binary decision diagrams: an efficient data structure for matrix representation. Formal Methods Syst. Des. 10(2\/3), 149\u2013169 (1997). https:\/\/doi.org\/10.1023\/A:1008647823331","DOI":"10.1023\/A:1008647823331"},{"key":"11_CR8","doi-asserted-by":"publisher","unstructured":"Gray, J.: quimb: a python library for quantum information and many-body calculations. J. Open Source Softw. 3(29), 819 (2018). https:\/\/doi.org\/10.21105\/joss.00819","DOI":"10.21105\/joss.00819"},{"key":"11_CR9","doi-asserted-by":"publisher","unstructured":"Niemann, P., Wille, R., Miller, D.M., Thornton, M.A., Drechsler, R.: QMDDs: efficient quantum function representation and manipulation. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 35(1), 86\u201399 (2016). https:\/\/doi.org\/10.1109\/TCAD.2015.2459034","DOI":"10.1109\/TCAD.2015.2459034"},{"key":"11_CR10","unstructured":"Roberts, C., et al.: TensorNetwork: a library for physics and machine learning (2019)"},{"key":"11_CR11","unstructured":"Sistla, M., Chaudhuri, S., Reps, T.: CFLOBDDs: context-free-language ordered binary decision diagrams. arXiv:2211.06818 (2022)"},{"key":"11_CR12","unstructured":"Somenzi, F.: CUDD: CU decision diagram package-release 2.4.0. University of Colorado at Boulder (2012)"},{"key":"11_CR13","doi-asserted-by":"publisher","unstructured":"Tsai, Y.H., Jiang, J.H.R., Jhang, C.S.: Bit-slicing the Hilbert space: scaling up accurate quantum circuit simulation. In: Design Automation Conference (DAC), pp. 439\u2013444 (2021). https:\/\/doi.org\/10.1109\/DAC18074.2021.9586191","DOI":"10.1109\/DAC18074.2021.9586191"},{"key":"11_CR14","doi-asserted-by":"publisher","unstructured":"Viamontes, G.F., Markov, I.L., Hayes, J.P.: High-performance QuIDD-based simulation of quantum circuits. In: 2004 Design, Automation and Test in Europe Conference and Exposition (DATE 2004), 16-20 February 2004, Paris, France, pp. 1354\u20131355. IEEE Computer Society (2004). https:\/\/doi.org\/10.1109\/DATE.2004.1269084","DOI":"10.1109\/DATE.2004.1269084"},{"key":"11_CR15","doi-asserted-by":"crossref","unstructured":"Wegener, I.: Branching programs and binary decision diagrams. SIAM Monographs on Disc. Math. and Appl., Society for Industrial and Applied Mathematics (2000)","DOI":"10.1137\/1.9780898719789"},{"key":"11_CR16","doi-asserted-by":"crossref","unstructured":"Wille, R., Burgholzer, L., Artner, M.: Visualizing decision diagrams for quantum computing. In: Design, Automation and Test in Europe (2021)","DOI":"10.23919\/DATE51398.2021.9474236"},{"key":"11_CR17","doi-asserted-by":"crossref","unstructured":"Zulehner, A., Hillmich, S., Wille, R.: How to efficiently handle complex values? Implementing decision diagrams for quantum computing. International Conference on Computer Aided Design (ICCAD) (2019)","DOI":"10.1109\/ICCAD45719.2019.8942057"},{"key":"11_CR18","doi-asserted-by":"publisher","unstructured":"Zulehner, A., Wille, R.: Advanced simulation of quantum computations. Trans. CAD Integr. Circuit. Syst. 38(5), 848\u2013859 (2019). https:\/\/doi.org\/10.1109\/TCAD.2018.2834427","DOI":"10.1109\/TCAD.2018.2834427"},{"key":"11_CR19","doi-asserted-by":"publisher","unstructured":"Zulehner, A., Wille, R.: Introducing Design Automation for Quantum Computing. Springer (2020). https:\/\/doi.org\/10.1007\/978-3-030-41753-6","DOI":"10.1007\/978-3-030-41753-6"}],"container-title":["Lecture Notes in Computer Science","Computer Aided Verification"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-37709-9_11","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,7,16]],"date-time":"2023-07-16T10:02:38Z","timestamp":1689501758000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-37709-9_11"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"ISBN":["9783031377082","9783031377099"],"references-count":19,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-37709-9_11","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023]]},"assertion":[{"value":"17 July 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"CAV","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Computer Aided Verification","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Paris","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"France","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2023","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"17 July 2023","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 July 2023","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"35","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"cav2023","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/www.i-cav.org\/2023\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"hotcrp","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"261","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"67","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"26% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"11","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}