QEC Playground

Please use Chrome or Firefox browser (It has known issue in Safari) {{ error_message }} {{ warning_message }}
camera from top from front from left
export image:
{{ Number.parseFloat(active_case.elapsed.simulate).toExponential(3) }} (s)
Simulate Time
{{ Number.parseFloat(active_case.elapsed.decode).toExponential(3) }} (s)
Decode Time
{{ Number.parseFloat(active_case.elapsed.validate).toExponential(3) }} (s)
Validate Time
Noise Model:
Case [{{ case_select }}]:
{{ qubit_type_name(current_selected.qubit_type) }} Qubit at [...][{{ current_selected.i }}][{{ current_selected.j }}]
Noise Model at [{{ current_selected.t }}][{{ current_selected.i }}][{{ current_selected.j }}] , Gate Peer: {{ current_selected.gate_peer }}
Pauli:
\( p_{\small X}\): {{ Number.parseFloat(noise_model_info.pp.px).toExponential(2) }}
\( p_{\small Y}\): {{ Number.parseFloat(noise_model_info.pp.py).toExponential(2) }}
\( p_{\small Z}\): {{ Number.parseFloat(noise_model_info.pp.pz).toExponential(2) }}
Erasure:
\( p_{\small E}\): {{ Number.parseFloat(noise_model_info.pe).toExponential(2) }}
\( p_{\small X} {\small+} p_{\small Y} {\small+} p_{\small Z} \): {{ Number.parseFloat(noise_model_info.pp.sum).toExponential(2) }}
\( \sum p_{\small ee}\): {{ Number.parseFloat(noise_model_info.corr_pe.sum).toExponential(2) }}
\( p_{\small I\otimes E}\): {{ Number.parseFloat(noise_model_info.corr_pe.pie).toExponential(2) }}
\( p_{\small E\otimes I}\): {{ Number.parseFloat(noise_model_info.corr_pe.pei).toExponential(2) }}
\( p_{\small E\otimes E}\): {{ Number.parseFloat(noise_model_info.corr_pe.pee).toExponential(2) }}
\( \sum p_{\small pp}\): {{ Number.parseFloat(noise_model_info.corr_pp.sum).toExponential(2) }}
\( p_{\small I\otimes X}\): {{ Number.parseFloat(noise_model_info.corr_pp.pix).toExponential(2) }}
\( p_{\small I\otimes Y}\): {{ Number.parseFloat(noise_model_info.corr_pp.piy).toExponential(2) }}
\( p_{\small I\otimes Z}\): {{ Number.parseFloat(noise_model_info.corr_pp.piz).toExponential(2) }}
\( p_{\small X\otimes I}\): {{ Number.parseFloat(noise_model_info.corr_pp.pxi).toExponential(2) }}
\( p_{\small X\otimes X}\): {{ Number.parseFloat(noise_model_info.corr_pp.pxx).toExponential(2) }}
\( p_{\small X\otimes Y}\): {{ Number.parseFloat(noise_model_info.corr_pp.pxy).toExponential(2) }}
\( p_{\small X\otimes Z}\): {{ Number.parseFloat(noise_model_info.corr_pp.pxz).toExponential(2) }}
\( p_{\small Y\otimes I}\): {{ Number.parseFloat(noise_model_info.corr_pp.pyi).toExponential(2) }}
\( p_{\small Y\otimes X}\): {{ Number.parseFloat(noise_model_info.corr_pp.pyx).toExponential(2) }}
\( p_{\small Y\otimes Y}\): {{ Number.parseFloat(noise_model_info.corr_pp.pyy).toExponential(2) }}
\( p_{\small Y\otimes Z}\): {{ Number.parseFloat(noise_model_info.corr_pp.pyz).toExponential(2) }}
\( p_{\small Z\otimes I}\): {{ Number.parseFloat(noise_model_info.corr_pp.pzi).toExponential(2) }}
\( p_{\small Z\otimes X}\): {{ Number.parseFloat(noise_model_info.corr_pp.pzx).toExponential(2) }}
\( p_{\small Z\otimes Y}\): {{ Number.parseFloat(noise_model_info.corr_pp.pzy).toExponential(2) }}
\( p_{\small Z\otimes Z}\): {{ Number.parseFloat(noise_model_info.corr_pp.pzz).toExponential(2) }}
Other Contributing Noise:
> two-qubit Pauli from two-qubit erasure from {{ ad.source == 'add_p' ? "Pauli": "erasure" }} from additional noise [{{ ad.add_idx }}], probability: {{ Number.parseFloat(ad.noise.p).toExponential(2) }}
Pauli:

erasures:
Vertex {{ current_selected.vertex_index }} at {{ selected_hypergraph_info.vertex_position }}
Edge
{{ edge.edge_index }}
  p: {{ Number.parseFloat(edge.probability).toExponential(2) }}, V = [Vid: {{ vertex.vertex_index }}
{{ vertex.position_str }}
]
Edge {{ current_selected.edge_index }}
p: {{ Number.parseFloat(selected_hypergraph_info.probability).toExponential(2) }}, V = [Vid: {{ vertex.vertex_index }}
{{ vertex.position_str }}
]
Contributing Independent Errors:
p: {{ Number.parseFloat(hyperedge.probability).toExponential(2) }}, Error = [{{ error.position_str }}
{{ error.type }}
]
, Correction = [{{ correction.position_str }}
{{ correction.type }}
]
,
Vertex [{{ current_selected.t }}][{{ current_selected.i }}][{{ current_selected.j }}] (region {{ current_selected.region_idx }})
Edge
{{ peer_position_str }}
probability: {{ Number.parseFloat(edge.p).toExponential(3) }}
weight: {{ Number.parseFloat(edge.w).toExponential(3) }}
,
error pattern: {{ error_type }}({{ position_str }})
correction: {{ error_type }}({{ position_str }})
Boundary
probability: {{ Number.parseFloat(selected_model_graph_info.boundary.p).toExponential(3) }}
weight: {{ Number.parseFloat(selected_model_graph_info.boundary.w).toExponential(3) }}
,
error pattern: {{ error_type }}({{ position_str }})
correction: {{ error_type }}({{ position_str }})
Edge [{{ current_selected.t }}][{{ current_selected.i }}][{{ current_selected.j }}] to {{ current_selected.peer }}
probability: {{ Number.parseFloat(selected_model_graph_info.probability).toExponential(2) }},   weight: {{ Number.parseFloat(selected_model_graph_info.weight).toExponential(2) }}
Contributing Independent Errors:
p: {{ Number.parseFloat(edge.probability).toExponential(2) }}, Error = [{{ error.position_str }}
{{ error.type }}
]
, Correction = [{{ correction.position_str }}
{{ correction.type }}
]
,
Vertex [{{ current_selected.t }}][{{ current_selected.i }}][{{ current_selected.j }}] (virtual) (corner [{{ current_selected.corner_pair.t }}][{{ current_selected.corner_pair.i }}][{{ current_selected.corner_pair.j }}] )
Edge
{{ peer_position_str }}
probability: {{ Number.parseFloat(edge.p).toExponential(3) }}
weight: {{ Number.parseFloat(edge.w).toExponential(3) }}
,
error pattern: {{ error_type }}({{ position_str }})
correction: {{ error_type }}({{ position_str }})
Edge [{{ current_selected.t }}][{{ current_selected.i }}][{{ current_selected.j }}] to {{ current_selected.peer }}
probability: {{ Number.parseFloat(selected_tailored_info.probability).toExponential(2) }},   weight: {{ Number.parseFloat(selected_tailored_info.weight).toExponential(2) }}
Contributing Independent Errors:
p: {{ Number.parseFloat(edge.probability).toExponential(2) }}, Error = [{{ error.position_str }}
{{ error.type }}
]
, Correction = [{{ correction.position_str }}
{{ correction.type }}
]
,