Skip to content

Commit f62c64a

Browse files
author
Shyamal Suhana Chandra
committed
Fix interactive quantum visualizations (particle field and circuit visualizer)
- Add proper null checks and error handling throughout - Fix device pixel ratio handling for high-DPI displays - Improve canvas resizing with proper scaling - Fix variable scope issues in updateParticles - Enhance quantum circuit visualizer with better gate rendering - Add proper CNOT and CZ gate visualization with control/target - Improve circuit generation with more realistic gate patterns - Add delayed initialization to ensure canvas is ready - Fix canvas container CSS for proper sizing - Improve particle field with better boundary handling - All visualizations now work correctly on all screen sizes
1 parent da3a721 commit f62c64a

11 files changed

Lines changed: 855 additions & 362 deletions

assets/js/canvas-effects.d.ts.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/_paper.aux

Lines changed: 76 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -11,53 +11,63 @@
1111
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Probabilistic Graphical Models}{2}{subsection.2.1}\protected@file@percent }
1212
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Directed Graphical Models (Bayesian Networks)}{3}{subsubsection.2.1.1}\protected@file@percent }
1313
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Undirected Graphical Models (Markov Random Fields)}{3}{subsubsection.2.1.2}\protected@file@percent }
14-
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Graph Moralization}{3}{subsection.2.2}\protected@file@percent }
15-
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Clique Finding}{3}{subsection.2.3}\protected@file@percent }
16-
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Quantum Computing Fundamentals}{4}{subsection.2.4}\protected@file@percent }
17-
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.1}Quantum Bits (Qubits)}{4}{subsubsection.2.4.1}\protected@file@percent }
18-
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.2}Quantum Gates}{4}{subsubsection.2.4.2}\protected@file@percent }
19-
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.3}Ising Hamiltonian}{4}{subsubsection.2.4.3}\protected@file@percent }
20-
\@writefile{toc}{\contentsline {section}{\numberline {3}Related Work}{4}{section.3}\protected@file@percent }
21-
\newlabel{sec:related}{{3}{4}{Related Work}{section.3}{}}
22-
\@writefile{toc}{\contentsline {section}{\numberline {4}Methodology}{5}{section.4}\protected@file@percent }
23-
\newlabel{sec:methodology}{{4}{5}{Methodology}{section.4}{}}
24-
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Conversion Pipeline Overview}{5}{subsection.4.1}\protected@file@percent }
25-
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Graph Moralization Algorithm}{5}{subsection.4.2}\protected@file@percent }
26-
\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces Graph Moralization}}{6}{algorithm.1}\protected@file@percent }
14+
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Graph Moralization}{4}{subsection.2.2}\protected@file@percent }
15+
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Clique Finding}{5}{subsection.2.3}\protected@file@percent }
16+
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Quantum Computing Fundamentals}{6}{subsection.2.4}\protected@file@percent }
17+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.1}Quantum Bits (Qubits)}{6}{subsubsection.2.4.1}\protected@file@percent }
18+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.2}Quantum Gates}{6}{subsubsection.2.4.2}\protected@file@percent }
19+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.3}Ising Hamiltonian}{6}{subsubsection.2.4.3}\protected@file@percent }
20+
\@writefile{toc}{\contentsline {section}{\numberline {3}Related Work}{6}{section.3}\protected@file@percent }
21+
\newlabel{sec:related}{{3}{6}{Related Work}{section.3}{}}
22+
\@writefile{toc}{\contentsline {section}{\numberline {4}Methodology}{7}{section.4}\protected@file@percent }
23+
\newlabel{sec:methodology}{{4}{7}{Methodology}{section.4}{}}
24+
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Conversion Pipeline Overview}{7}{subsection.4.1}\protected@file@percent }
25+
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}CPT to Potential Conversion}{7}{subsection.4.2}\protected@file@percent }
26+
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Graph Moralization Algorithm}{8}{subsection.4.3}\protected@file@percent }
27+
\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces Graph Moralization}}{8}{algorithm.1}\protected@file@percent }
2728
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
28-
\newlabel{alg:moralize}{{1}{6}{Graph Moralization}{algorithm.1}{}}
29-
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Maximal Clique Finding}{6}{subsection.4.3}\protected@file@percent }
30-
\@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces Maximal Clique Finding}}{7}{algorithm.2}\protected@file@percent }
31-
\newlabel{alg:cliques}{{2}{7}{Maximal Clique Finding}{algorithm.2}{}}
32-
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Ising Hamiltonian Encoding}{7}{subsection.4.4}\protected@file@percent }
33-
\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Quantum Circuit Construction}{8}{subsection.4.5}\protected@file@percent }
34-
\@writefile{toc}{\contentsline {section}{\numberline {5}Architecture}{8}{section.5}\protected@file@percent }
35-
\newlabel{sec:architecture}{{5}{8}{Architecture}{section.5}{}}
36-
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}System Components}{8}{subsection.5.1}\protected@file@percent }
37-
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1}Graph Module (\texttt {graph.h/cpp})}{8}{subsubsection.5.1.1}\protected@file@percent }
38-
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.2}MRF Module (\texttt {mrf.h/cpp})}{8}{subsubsection.5.1.2}\protected@file@percent }
39-
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.3}Quantum Circuit Module (\texttt {qpu\_circuit.h/cpp})}{9}{subsubsection.5.1.3}\protected@file@percent }
40-
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.4}Framework Exporters (\texttt {framework\_exporters.h/cpp})}{9}{subsubsection.5.1.4}\protected@file@percent }
41-
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Data Flow}{9}{subsection.5.2}\protected@file@percent }
42-
\@writefile{toc}{\contentsline {section}{\numberline {6}Implementation}{9}{section.6}\protected@file@percent }
43-
\newlabel{sec:implementation}{{6}{9}{Implementation}{section.6}{}}
44-
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Input Format}{9}{subsection.6.1}\protected@file@percent }
45-
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Command-Line Interface}{10}{subsection.6.2}\protected@file@percent }
46-
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}Performance Considerations}{10}{subsection.6.3}\protected@file@percent }
47-
\@writefile{toc}{\contentsline {section}{\numberline {7}Examples}{10}{section.7}\protected@file@percent }
48-
\newlabel{sec:examples}{{7}{10}{Examples}{section.7}{}}
49-
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Simple Chain Graph}{10}{subsection.7.1}\protected@file@percent }
50-
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Directed Graph with Moralization}{10}{subsection.7.2}\protected@file@percent }
51-
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}Framework-Specific Output}{11}{subsection.7.3}\protected@file@percent }
52-
\@writefile{toc}{\contentsline {section}{\numberline {8}Results and Evaluation}{11}{section.8}\protected@file@percent }
53-
\newlabel{sec:results}{{8}{11}{Results and Evaluation}{section.8}{}}
54-
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}Correctness}{11}{subsection.8.1}\protected@file@percent }
55-
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2}Performance}{11}{subsection.8.2}\protected@file@percent }
56-
\@writefile{toc}{\contentsline {subsection}{\numberline {8.3}Supported Graph Sizes}{12}{subsection.8.3}\protected@file@percent }
57-
\@writefile{toc}{\contentsline {subsection}{\numberline {8.4}Framework Compatibility}{12}{subsection.8.4}\protected@file@percent }
58-
\@writefile{toc}{\contentsline {section}{\numberline {9}Discussion}{12}{section.9}\protected@file@percent }
59-
\@writefile{toc}{\contentsline {subsection}{\numberline {9.1}Limitations}{12}{subsection.9.1}\protected@file@percent }
60-
\@writefile{toc}{\contentsline {subsection}{\numberline {9.2}Future Work}{12}{subsection.9.2}\protected@file@percent }
29+
\newlabel{alg:moralize}{{1}{8}{Graph Moralization}{algorithm.1}{}}
30+
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Maximal Clique Finding}{8}{subsection.4.4}\protected@file@percent }
31+
\@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces Maximal Clique Finding}}{9}{algorithm.2}\protected@file@percent }
32+
\newlabel{alg:cliques}{{2}{9}{Maximal Clique Finding}{algorithm.2}{}}
33+
\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Ising Hamiltonian Encoding}{9}{subsection.4.5}\protected@file@percent }
34+
\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}Quantum Circuit Construction}{10}{subsection.4.6}\protected@file@percent }
35+
\@writefile{toc}{\contentsline {section}{\numberline {5}Architecture}{11}{section.5}\protected@file@percent }
36+
\newlabel{sec:architecture}{{5}{11}{Architecture}{section.5}{}}
37+
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}System Components}{11}{subsection.5.1}\protected@file@percent }
38+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1}Graph Module (\texttt {graph.h/cpp})}{11}{subsubsection.5.1.1}\protected@file@percent }
39+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.2}MRF Module (\texttt {mrf.h/cpp})}{11}{subsubsection.5.1.2}\protected@file@percent }
40+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.3}Quantum Circuit Module (\texttt {qpu\_circuit.h/cpp})}{11}{subsubsection.5.1.3}\protected@file@percent }
41+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.4}Framework Exporters (\texttt {framework\_exporters.h/cpp})}{11}{subsubsection.5.1.4}\protected@file@percent }
42+
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Data Flow}{12}{subsection.5.2}\protected@file@percent }
43+
\@writefile{toc}{\contentsline {section}{\numberline {6}Implementation}{12}{section.6}\protected@file@percent }
44+
\newlabel{sec:implementation}{{6}{12}{Implementation}{section.6}{}}
45+
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Input Format}{12}{subsection.6.1}\protected@file@percent }
46+
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Command-Line Interface}{12}{subsection.6.2}\protected@file@percent }
47+
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}Performance Considerations}{12}{subsection.6.3}\protected@file@percent }
48+
\@writefile{toc}{\contentsline {section}{\numberline {7}Examples}{13}{section.7}\protected@file@percent }
49+
\newlabel{sec:examples}{{7}{13}{Examples}{section.7}{}}
50+
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Simple Chain Graph}{13}{subsection.7.1}\protected@file@percent }
51+
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Bayesian Network with CPTs}{13}{subsection.7.2}\protected@file@percent }
52+
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}Directed Graph with Moralization}{14}{subsection.7.3}\protected@file@percent }
53+
\@writefile{toc}{\contentsline {subsection}{\numberline {7.4}Framework-Specific Output}{14}{subsection.7.4}\protected@file@percent }
54+
\@writefile{toc}{\contentsline {subsection}{\numberline {7.5}Complex Graph Example}{15}{subsection.7.5}\protected@file@percent }
55+
\@writefile{toc}{\contentsline {section}{\numberline {8}Results and Evaluation}{15}{section.8}\protected@file@percent }
56+
\newlabel{sec:results}{{8}{15}{Results and Evaluation}{section.8}{}}
57+
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}Correctness Verification}{15}{subsection.8.1}\protected@file@percent }
58+
\@writefile{toc}{\contentsline {subsection}{\numberline {8.2}Performance Analysis}{16}{subsection.8.2}\protected@file@percent }
59+
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Performance benchmarks for different graph sizes}}{17}{table.caption.1}\protected@file@percent }
60+
\newlabel{tab:performance}{{1}{17}{Performance benchmarks for different graph sizes}{table.caption.1}{}}
61+
\@writefile{toc}{\contentsline {subsection}{\numberline {8.3}Supported Graph Sizes}{17}{subsection.8.3}\protected@file@percent }
62+
\@writefile{toc}{\contentsline {subsection}{\numberline {8.4}Framework Compatibility}{17}{subsection.8.4}\protected@file@percent }
63+
\@writefile{toc}{\contentsline {subsection}{\numberline {8.5}Benchmark Results}{18}{subsection.8.5}\protected@file@percent }
64+
\@writefile{toc}{\contentsline {section}{\numberline {9}Discussion}{18}{section.9}\protected@file@percent }
65+
\@writefile{toc}{\contentsline {subsection}{\numberline {9.1}Applications and Use Cases}{18}{subsection.9.1}\protected@file@percent }
66+
\@writefile{toc}{\contentsline {subsection}{\numberline {9.2}Limitations}{19}{subsection.9.2}\protected@file@percent }
67+
\@writefile{toc}{\contentsline {subsection}{\numberline {9.3}Comparison with Alternative Approaches}{20}{subsection.9.3}\protected@file@percent }
68+
\@writefile{toc}{\contentsline {subsection}{\numberline {9.4}Future Work}{20}{subsection.9.4}\protected@file@percent }
69+
\@writefile{toc}{\contentsline {section}{\numberline {10}Conclusion}{21}{section.10}\protected@file@percent }
70+
\newlabel{sec:conclusion}{{10}{21}{Conclusion}{section.10}{}}
6171
\bibstyle{ieeetr}
6272
\bibcite{koller2009}{1}
6373
\bibcite{nielsen2010}{2}
@@ -69,6 +79,23 @@
6979
\bibcite{pennylane}{8}
7080
\bibcite{braket}{9}
7181
\bibcite{ising1925}{10}
72-
\@writefile{toc}{\contentsline {section}{\numberline {10}Conclusion}{13}{section.10}\protected@file@percent }
73-
\newlabel{sec:conclusion}{{10}{13}{Conclusion}{section.10}{}}
74-
\gdef \@abspage@last{13}
82+
\bibcite{hammersley1971}{11}
83+
\bibcite{pearl1988}{12}
84+
\bibcite{jordan2004}{13}
85+
\bibcite{preskill2018}{14}
86+
\bibcite{peruzzo2014}{15}
87+
\bibcite{lloyd2014}{16}
88+
\bibcite{wiebe2012}{17}
89+
\bibcite{schuld2015}{18}
90+
\bibcite{boixo2018}{19}
91+
\bibcite{arute2019}{20}
92+
\bibcite{temme2017}{21}
93+
\bibcite{verdon2019}{22}
94+
\bibcite{mitarai2018}{23}
95+
\bibcite{havlivcek2019}{24}
96+
\bibcite{schuld2019}{25}
97+
\bibcite{benedetti2019}{26}
98+
\bibcite{sim2019}{27}
99+
\bibcite{cong2019}{28}
100+
\bibcite{abbas2021}{29}
101+
\gdef \@abspage@last{24}

0 commit comments

Comments
 (0)