qrunch.quantum.internal
Unified Python module that contains all Rust-backed quantum classes. This consolidates all #[pyclass] definitions into a single .so file, which solves PyO3’s type identity issues across module boundaries.
Functions
|
|
|
|
|
|
|
|
|
Classes
- class AntiHermitianPauliSum
Bases:
object- classmethod __new__(*args, **kwargs)
- constant()
Returns the constant as a complex number (re=0)
- indices()
- len()
- number_of_qubits
- prune(tolerance)
- string_coefficient_pairs()
- terms_as_int
- class ExcitationGate
Bases:
object- classmethod __new__(*args, **kwargs)
- static new_double_excitation_gate(number_of_qubits, creation_index1, creation_index2, annihilation_index1, annihilation_index2, theta, float_type=Ellipsis, particle_conservation=Ellipsis, gate_zs=Ellipsis)
- static new_single_excitation_gate(number_of_qubits, creation_index, annihilation_index, theta, float_type=Ellipsis, particle_conservation=Ellipsis, gate_zs=Ellipsis)
- class ExcitationGateCircuit
Bases:
object- classmethod __new__(*args, **kwargs)
- add_gate(gate)
- get_energy(shots=None, hamiltonian=None, eps=None)
- get_parameters()
- get_samples(shots, eps=None)
- get_state_vector()
- run_circuit()
- set_gates(gates)
- set_grouping(grouping)
- set_hamiltonian(hamiltonian)
- update_parameter_at_index(parameter, index)
- update_parameters(parameters)
- class FloatType
Bases:
object- F32 = FloatType.F32
- F64 = FloatType.F64
- classmethod __new__(*args, **kwargs)
- class GateZs
Bases:
object- Exclude = GateZs.Exclude
- Include = GateZs.Include
- classmethod __new__(*args, **kwargs)
- class Hamiltonian
Bases:
object- classmethod __new__(*args, **kwargs)
- static from_hermitian_pauli_sum(pauli_sum, float_type=Ellipsis)
- class HermitianPauliSum
Bases:
object- classmethod __new__(*args, **kwargs)
- constant()
Expose the constant_value
- filter_untouched_qubits(untouched_mask)
Filters the sum based on a bitmask of untouched qubits. Any term acting with X or Y on an untouched qubit is removed.
- format_complex_str(suffix)
- indices()
Returns a sorted list of unique qubit indices acted upon by this sum.
- len()
- number_of_qubits
- prune(tolerance)
- string_coefficient_pairs()
- terms_as_int
- class ParallelSetting
Bases:
object- Parallel = ParallelSetting.Parallel
- Serial = ParallelSetting.Serial
- classmethod __new__(*args, **kwargs)
- class ParticleConservation
Bases:
object- Spin = ParticleConservation.Spin
- Total = ParticleConservation.Total
- classmethod __new__(*args, **kwargs)
- class PauliString
Bases:
object- classmethod __new__(*args, **kwargs)
- as_ints()
Returns bitmasks (x, y, z) as Python ints (via BigUint).
- commutative_sign(other)
Returns the sign when commuting with another PauliString (-1 or 1).
- classmethod from_sorted_and_disjoint_sets(x_indices=None, y_indices=None, z_indices=None)
- classmethod from_stabilizer(stabilizer)
- classmethod from_z_indices(z_indices)
- is_commuting(other)
Check if the Pauli string commutes with another.
- is_diagonal()
Check if the Pauli string only contains diagonal (I and Z) operators.
- is_identity()
- max_index
- min_index
- multiply(other)
Multiply with another PauliString.
- to_stabilizer(num_qubits=None)
Converts to Stabilizer.
- x_indices
- y_indices
- z_indices
- class RustCircuit
Bases:
object- classmethod __new__(*args, **kwargs)
- cx(control_qubit_index, target_qubit_index)
Append a gate corresponding to the CXGate in Kvantify Qrunch.
- decay(random_threshold, index)
Append a gate corresponding to the Decay.
- dephasing(random_threshold, index)
Append a gate corresponding to the Dephasing.
- double_excitation(parameter, creation_qubit_index_1, creation_qubit_index_2, annihilation_qubit_index_1, annihilation_qubit_index_2)
Append a gate corresponding to the DoubleExcitationGate in Kvantify Qrunch.
- num_qubits()
- requires_complex_numbers()
- rx(parameter, qubit_index)
Append a gate corresponding to the RXGate in Kvantify Qrunch.
- ry(parameter, qubit_index)
Append a gate corresponding to the RYGate in Kvantify Qrunch.
- rz(parameter, qubit_index)
Append a gate corresponding to the RZGate in Kvantify Qrunch.
- single_excitation(parameter, creation_qubit_index, annihilation_qubit_index)
Append a gate corresponding to the SingleExcitationGate in Kvantify Qrunch.
- x(qubit_index)
Append a gate corresponding to the XGate in Kvantify Qrunch.
- class RustEstimatingResult
Bases:
object- classmethod __new__(*args, **kwargs)
- expectation_values
- number_of_amplitudes_used
- state_vector_error
- class RustMemoryRestrictedSimulator
Bases:
object- classmethod __new__(*args, **kwargs)
- estimate(observables, circuit)
- get_cached_effective_max_number_of_amplitudes()
- sample(circuit, shots=None)
- class RustSamplingResult
Bases:
object- classmethod __new__(*args, **kwargs)
- number_of_amplitudes_used
- samples
- state_vector_error
- class Stabilizer
Bases:
objectStabilizer of Pauli strings, represented by z and x one-hot vectors. Each entry is 0 or 1.
- classmethod __new__(*args, **kwargs)
- multiply(other)
Multiplies with another stabilizer. Returns (Resulting Stabilizer, Complex Phase)
- x
- z
- create_hermitian_pauli_sum_from_fermionic_hamiltonian(one_body_alpha_alpha, one_body_beta_beta, two_body_alpha_alpha, two_body_beta_beta, two_body_beta_alpha, number_of_qubits, tolerance=1e-10)
- create_hermitian_pauli_sum_from_hardcore_bosonic_hamiltonian(one_body_matrix, two_body_matrix, number_of_qubits, tolerance=1e-10)
- full_heuristic_gradient_metrics_biguint(observable, measurements_integer_dict, gate_pool_as_generator_indices)
- full_heuristic_gradient_metrics_for_custom_operators(observable, measurements_integer_dict, gate_pool_as_generator_dict_list)
- full_heuristic_gradient_metrics_u64(observable, measurements_integer_dict, gate_pool_as_generator_indices)
- heuristic_gradient_metrics_biguint(observable, measurements_integer_dict, gate_pool_as_generator_indices)
- heuristic_gradient_metrics_for_custom_operators(observable, measurements_integer_dict, gate_pool_as_generator_dict_list)
- heuristic_gradient_metrics_u64(observable, measurements_integer_dict, gate_pool_as_generator_indices)
- multiply_paulis(paulis)
- selected_ci_metrics_biguint(observable, measurements_integer_dict, gate_pool_as_generator_indices, expectation_value)
- selected_ci_metrics_for_custom_operators(observable, measurements_integer_dict, gate_pool_as_generator_dict_list, expectation_value)
- selected_ci_metrics_u64(observable, measurements_integer_dict, gate_pool_as_generator_indices, expectation_value)