Sequential Quantum Gate Decomposer  v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
Functions | Variables
optional_noise_classification_validation Namespace Reference

Functions

def _build_hamiltonian (term_specs)
 
def _build_hamiltonian_metadata (term_specs)
 
def _make_optional_case (case_name, qbit_num, builder_fn, required_gate_family, required_noise_models, case_kind, purpose, term_specs)
 
def _pauli_string_matrix (pauli_string)
 
def build_artifact_bundle (required_local_noise_bundle, required_local_noise_micro_bundle, optional_results)
 
def build_optional_1q_u3_whole_register_depolarizing ()
 
def build_optional_2q_u3_cnot_whole_register_depolarizing ()
 
def build_requirement_metadata ()
 
def main ()
 
def parse_args ()
 
def run_optional_case (case, verbose=False)
 
def run_validation (verbose=False)
 
def validate_artifact_bundle (bundle)
 
def validate_optional_case_payload (case)
 
def write_artifact_bundle
 

Variables

tuple ARTIFACT_CORE_FIELDS
 
string ARTIFACT_FILENAME = "optional_noise_classification_bundle.json"
 
tuple DEFAULT_OUTPUT_DIR
 
tuple OPTIONAL_WHOLE_REGISTER_CASES
 
dictionary PAULI_MATRICES
 
 REPO_ROOT = Path(__file__).resolve().parents[3]
 
string SUITE_NAME = "optional_noise_classification"
 

Detailed Description

Validation: optional-noise classification layer.

Builds on the already passing required-noise bundles and adds explicit optional
whole-register depolarizing cases so reviewers can see that:
- required local-noise evidence remains milestone-defining,
- optional evidence is clearly marked optional,
- and optional cases do not count toward mandatory baseline completion.

Run with:
python benchmarks/density_matrix/noise_support/optional_noise_classification_validation.py

Function Documentation

◆ _build_hamiltonian()

def optional_noise_classification_validation._build_hamiltonian (   term_specs)
private

Definition at line 85 of file optional_noise_classification_validation.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _build_hamiltonian_metadata()

def optional_noise_classification_validation._build_hamiltonian_metadata (   term_specs)
private

Definition at line 93 of file optional_noise_classification_validation.py.

Here is the caller graph for this function:

◆ _make_optional_case()

def optional_noise_classification_validation._make_optional_case (   case_name,
  qbit_num,
  builder_fn,
  required_gate_family,
  required_noise_models,
  case_kind,
  purpose,
  term_specs 
)
private

Definition at line 128 of file optional_noise_classification_validation.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _pauli_string_matrix()

def optional_noise_classification_validation._pauli_string_matrix (   pauli_string)
private

Definition at line 78 of file optional_noise_classification_validation.py.

Here is the caller graph for this function:

◆ build_artifact_bundle()

def optional_noise_classification_validation.build_artifact_bundle (   required_local_noise_bundle,
  required_local_noise_micro_bundle,
  optional_results 
)

Definition at line 249 of file optional_noise_classification_validation.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_optional_1q_u3_whole_register_depolarizing()

def optional_noise_classification_validation.build_optional_1q_u3_whole_register_depolarizing ( )

Definition at line 102 of file optional_noise_classification_validation.py.

◆ build_optional_2q_u3_cnot_whole_register_depolarizing()

def optional_noise_classification_validation.build_optional_2q_u3_cnot_whole_register_depolarizing ( )

Definition at line 109 of file optional_noise_classification_validation.py.

Here is the call graph for this function:

◆ build_requirement_metadata()

def optional_noise_classification_validation.build_requirement_metadata ( )

Definition at line 166 of file optional_noise_classification_validation.py.

Here is the caller graph for this function:

◆ main()

def optional_noise_classification_validation.main ( )

Definition at line 345 of file optional_noise_classification_validation.py.

Here is the call graph for this function:

◆ parse_args()

def optional_noise_classification_validation.parse_args ( )

Definition at line 329 of file optional_noise_classification_validation.py.

Here is the caller graph for this function:

◆ run_optional_case()

def optional_noise_classification_validation.run_optional_case (   case,
  verbose = False 
)

Definition at line 202 of file optional_noise_classification_validation.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run_validation()

def optional_noise_classification_validation.run_validation (   verbose = False)

Definition at line 228 of file optional_noise_classification_validation.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ validate_artifact_bundle()

def optional_noise_classification_validation.validate_artifact_bundle (   bundle)

Definition at line 313 of file optional_noise_classification_validation.py.

Here is the caller graph for this function:

◆ validate_optional_case_payload()

def optional_noise_classification_validation.validate_optional_case_payload (   case)

Definition at line 180 of file optional_noise_classification_validation.py.

Here is the caller graph for this function:

◆ write_artifact_bundle()

def optional_noise_classification_validation.write_artifact_bundle (   output_path)

Definition at line 323 of file optional_noise_classification_validation.py.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ ARTIFACT_CORE_FIELDS

tuple optional_noise_classification_validation.ARTIFACT_CORE_FIELDS
Initial value:
1 = (
2  "suite_name",
3  "status",
4  "backend",
5  "reference_backend",
6  "requirements",
7  "thresholds",
8  "software",
9  "summary",
10  "required_artifacts",
11  "cases",
12 )

Definition at line 58 of file optional_noise_classification_validation.py.

◆ ARTIFACT_FILENAME

string optional_noise_classification_validation.ARTIFACT_FILENAME = "optional_noise_classification_bundle.json"

Definition at line 54 of file optional_noise_classification_validation.py.

◆ DEFAULT_OUTPUT_DIR

tuple optional_noise_classification_validation.DEFAULT_OUTPUT_DIR
Initial value:
1 = (
2  REPO_ROOT / "benchmarks" / "density_matrix" / "artifacts" / "noise_support"
3 )

Definition at line 55 of file optional_noise_classification_validation.py.

◆ OPTIONAL_WHOLE_REGISTER_CASES

tuple optional_noise_classification_validation.OPTIONAL_WHOLE_REGISTER_CASES
Initial value:
1 = (
3  case_name="optional_noise_1q_whole_register_depolarizing_regression",
4  qbit_num=1,
5  builder_fn=build_optional_1q_u3_whole_register_depolarizing,
6  required_gate_family=["U3"],
7  required_noise_models=["depolarizing"],
8  case_kind=CASE_PURPOSE_OPTIONAL_REGRESSION,
9  purpose="Optional regression baseline using whole-register depolarizing on a 1-qubit U3 case.",
10  term_specs=[(0.32, "Z"), (-0.18, "X")],
11  ),
13  case_name="optional_noise_2q_whole_register_depolarizing_stress",
14  qbit_num=2,
15  builder_fn=build_optional_2q_u3_cnot_whole_register_depolarizing,
16  required_gate_family=["U3", "CNOT"],
17  required_noise_models=["depolarizing"],
18  case_kind=CASE_PURPOSE_OPTIONAL_STRESS,
19  purpose="Optional stress baseline using whole-register depolarizing on a 2-qubit U3/CNOT case.",
20  term_specs=[(0.41, "ZI"), (-0.23, "IZ"), (0.17, "XX")],
21  ),
22 )
def _make_optional_case(case_name, qbit_num, builder_fn, required_gate_family, required_noise_models, case_kind, purpose, term_specs)

Definition at line 142 of file optional_noise_classification_validation.py.

◆ PAULI_MATRICES

dictionary optional_noise_classification_validation.PAULI_MATRICES
Initial value:
1 = {
2  "I": np.eye(2, dtype=complex),
3  "X": np.array([[0, 1], [1, 0]], dtype=complex),
4  "Y": np.array([[0, -1j], [1j, 0]], dtype=complex),
5  "Z": np.array([[1, 0], [0, -1]], dtype=complex),
6 }

Definition at line 70 of file optional_noise_classification_validation.py.

◆ REPO_ROOT

optional_noise_classification_validation.REPO_ROOT = Path(__file__).resolve().parents[3]

Definition at line 23 of file optional_noise_classification_validation.py.

◆ SUITE_NAME

string optional_noise_classification_validation.SUITE_NAME = "optional_noise_classification"

Definition at line 53 of file optional_noise_classification_validation.py.