MophongLT / python-centric-architecture.svg
gaialive's picture
Upload 170 files
227c43a verified
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 620">
<!-- Background -->
<rect width="900" height="620" fill="#f8f9fa" rx="10" ry="10" />
<!-- Title -->
<text x="450" y="40" font-family="Arial" font-size="24" text-anchor="middle" font-weight="bold">Python-Centric Quantum Web Architecture</text>
<!-- Python Environment Block -->
<rect x="50" y="80" width="800" height="420" fill="#e8f5e9" stroke="#388e3c" stroke-width="2" rx="10" ry="10" />
<text x="450" y="110" font-family="Arial" font-size="20" text-anchor="middle" font-weight="bold">Python Quantum Environment</text>
<!-- Cirq Block -->
<rect x="90" y="140" width="300" height="200" fill="#c8e6c9" stroke="#2e7d32" stroke-width="2" rx="8" ry="8" />
<text x="240" y="170" font-family="Arial" font-size="18" text-anchor="middle" font-weight="bold">Cirq</text>
<text x="240" y="195" font-family="Arial" font-size="14" text-anchor="middle">High-fidelity quantum simulation</text>
<!-- Cirq Components -->
<rect x="120" y="215" width="240" height="100" fill="#a5d6a7" stroke="#1b5e20" stroke-width="1" rx="5" ry="5" />
<text x="240" y="240" font-family="Arial" font-size="14" text-anchor="middle" font-weight="bold">Quantum Simulation Components</text>
<line x1="140" y1="250" x2="340" y2="250" stroke="#1b5e20" stroke-width="1" />
<text x="240" y="270" font-family="Arial" font-size="12" text-anchor="middle">- Quantum circuit simulation</text>
<text x="240" y="290" font-family="Arial" font-size="12" text-anchor="middle">- Noise models and decoherence</text>
<text x="240" y="310" font-family="Arial" font-size="12" text-anchor="middle">- Measurement and state evolution</text>
<!-- Python Web Framework -->
<rect x="520" y="140" width="300" height="140" fill="#bbdefb" stroke="#1976d2" stroke-width="2" rx="8" ry="8" />
<text x="670" y="170" font-family="Arial" font-size="18" text-anchor="middle" font-weight="bold">Flask/Django Web Framework</text>
<rect x="550" y="190" width="240" height="70" fill="#90caf9" stroke="#0d47a1" stroke-width="1" rx="5" ry="5" />
<text x="670" y="215" font-family="Arial" font-size="14" text-anchor="middle">REST API Endpoints</text>
<text x="670" y="240" font-family="Arial" font-size="12" text-anchor="middle">Expose Cirq simulations via HTTP</text>
<!-- Quantum Protocol Plugins -->
<rect x="90" y="360" width="730" height="120" fill="#d1c4e9" stroke="#673ab7" stroke-width="2" rx="8" ry="8" />
<text x="455" y="385" font-family="Arial" font-size="18" text-anchor="middle" font-weight="bold">Quantum Protocol Plugins (Unmodified)</text>
<!-- Protocol Boxes -->
<rect x="110" y="400" width="100" height="60" fill="#b39ddb" stroke="#512da8" stroke-width="1" rx="5" ry="5" />
<text x="160" y="435" font-family="Arial" font-size="12" text-anchor="middle">BB84</text>
<rect x="220" y="400" width="100" height="60" fill="#b39ddb" stroke="#512da8" stroke-width="1" rx="5" ry="5" />
<text x="270" y="435" font-family="Arial" font-size="12" text-anchor="middle">Teleportation</text>
<rect x="330" y="400" width="100" height="60" fill="#b39ddb" stroke="#512da8" stroke-width="1" rx="5" ry="5" />
<text x="380" y="435" font-family="Arial" font-size="12" text-anchor="middle">Grover</text>
<rect x="440" y="400" width="100" height="60" fill="#b39ddb" stroke="#512da8" stroke-width="1" rx="5" ry="5" />
<text x="490" y="435" font-family="Arial" font-size="12" text-anchor="middle">QRNG</text>
<rect x="550" y="400" width="100" height="60" fill="#b39ddb" stroke="#512da8" stroke-width="1" rx="5" ry="5" />
<text x="600" y="435" font-family="Arial" font-size="12" text-anchor="middle">Shor's Code</text>
<rect x="660" y="400" width="100" height="60" fill="#b39ddb" stroke="#512da8" stroke-width="1" rx="5" ry="5" />
<text x="710" y="435" font-family="Arial" font-size="12" text-anchor="middle">Authentication</text>
<!-- Browser/Client Block -->
<rect x="90" y="520" width="730" height="80" fill="#ffecb3" stroke="#ffa000" stroke-width="2" rx="8" ry="8" />
<text x="455" y="545" font-family="Arial" font-size="18" text-anchor="middle" font-weight="bold">Web Frontend (Visualization Only)</text>
<text x="455" y="575" font-family="Arial" font-size="14" text-anchor="middle">Interactive displays of Python-generated quantum results</text>
<!-- Arrows -->
<defs>
<marker id="arrowhead" markerWidth="10" markerHeight="7" refX="0" refY="3.5" orient="auto">
<polygon points="0 0, 10 3.5, 0 7" fill="#333" />
</marker>
</defs>
<!-- Cirq to Plugins -->
<line x1="240" y1="340" x2="240" y2="360" stroke="#333" stroke-width="2" marker-end="url(#arrowhead)" />
<!-- Plugins to Flask -->
<line x1="670" y1="360" x2="670" y2="280" stroke="#333" stroke-width="2" marker-end="url(#arrowhead)" />
<!-- Flask to Browser -->
<line x1="670" y1="280" x2="780" y2="280" x2="780" y2="520" stroke="#333" stroke-width="2" marker-end="url(#arrowhead)" stroke-dasharray="5,5" />
<!-- Browser to Flask -->
<line x1="130" y1="520" x2="130" y2="280" x2="520" y2="280" stroke="#333" stroke-width="2" marker-end="url(#arrowhead)" stroke-dasharray="5,5" />
<!-- Accuracy Callout -->
<rect x="390" y="230" width="120" height="80" fill="#e3f2fd" stroke="#2196f3" stroke-width="2" rx="40" ry="40" />
<text x="450" y="265" font-family="Arial" font-size="14" text-anchor="middle" font-weight="bold">Maximum</text>
<text x="450" y="285" font-family="Arial" font-size="14" text-anchor="middle" font-weight="bold">Quantum</text>
<text x="450" y="305" font-family="Arial" font-size="14" text-anchor="middle" font-weight="bold">Accuracy</text>
</svg>