Core Hamiltonian representation and manipulation for quantum systems.
This namespace provides the fundamental building blocks for working with quantum Hamiltonians in the VQE algorithm and other quantum algorithms.
Key Responsibilities:
Design Principles:
Core Hamiltonian representation and manipulation for quantum systems. This namespace provides the fundamental building blocks for working with quantum Hamiltonians in the VQE algorithm and other quantum algorithms. Key Responsibilities: - Pauli term creation and validation - Hamiltonian expectation value calculations - Measurement grouping for hardware efficiency - Commuting term analysis Design Principles: - Pure functions with no side effects - Hardware-agnostic mathematical operations - Composable building blocks for higher-level algorithms
(group-commuting-terms hamiltonian)
Group Hamiltonian terms that can be measured simultaneously.
Terms that commute can be measured in the same quantum circuit execution, reducing the number of measurements needed.
Parameters:
Returns: Vector of groups, where each group is a collection of commuting terms
Group Hamiltonian terms that can be measured simultaneously. Terms that commute can be measured in the same quantum circuit execution, reducing the number of measurements needed. Parameters: - hamiltonian: Collection of Pauli terms Returns: Vector of groups, where each group is a collection of commuting terms
(group-pauli-terms-by-measurement-basis hamiltonian)
Group Pauli terms by their required measurement basis for hardware execution.
This function is essential for efficient quantum hardware execution, as different Pauli operators require different measurement bases:
Parameters:
Returns: Map with measurement basis as key and list of compatible terms as value Format: {:z [terms...] :x [terms...] :y [terms...] :mixed [terms...]}
Group Pauli terms by their required measurement basis for hardware execution. This function is essential for efficient quantum hardware execution, as different Pauli operators require different measurement bases: - Z operators: measured directly in computational basis - X operators: require H rotation before measurement - Y operators: require S†H rotation before measurement Parameters: - hamiltonian: Collection of Pauli terms Returns: Map with measurement basis as key and list of compatible terms as value Format: {:z [terms...] :x [terms...] :y [terms...] :mixed [terms...]}
(hamiltonian-expectation hamiltonian quantum-state)
Calculate expectation value of a Hamiltonian.
⟨H⟩ = Σᵢ cᵢ ⟨Pᵢ⟩ where cᵢ are coefficients and Pᵢ are Pauli strings.
Parameters:
Returns: Real expectation value (energy)
Calculate expectation value of a Hamiltonian. ⟨H⟩ = Σᵢ cᵢ ⟨Pᵢ⟩ where cᵢ are coefficients and Pᵢ are Pauli strings. Parameters: - hamiltonian: Collection of Pauli terms - quantum-state: Quantum state to measure Returns: Real expectation value (energy)
(pauli-string-expectation pauli-string quantum-state)
Calculate expectation value of a single Pauli string.
Parameters:
Returns: Real expectation value
Calculate expectation value of a single Pauli string. Parameters: - pauli-string: String like 'XYZZ' representing Pauli operators - quantum-state: Quantum state to measure Returns: Real expectation value
(pauli-term coefficient pauli-string)
Create a Pauli term with coefficient and Pauli string.
Parameters:
Returns: Map representing a single term in the Hamiltonian
Create a Pauli term with coefficient and Pauli string. Parameters: - coefficient: Real coefficient for the term - pauli-string: String like 'XYZZ' representing tensor product of Pauli operators Returns: Map representing a single term in the Hamiltonian
(validate-hamiltonian hamiltonian)
Validate that a Hamiltonian is properly formed.
Parameters:
Returns: Boolean indicating validity
Validate that a Hamiltonian is properly formed. Parameters: - hamiltonian: Collection of Pauli terms Returns: Boolean indicating validity
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close