Quantum data encoding strategies for quantum machine learning
Quantum data encoding strategies for quantum machine learning
(amplitude-encoding feature-vector num-qubits)
Encode classical data into quantum amplitude encoding. Maps data values to quantum state amplitudes.
Parameters:
Returns:
Example: (amplitude-encoding [0.5 0.5 0.5 0.5] 2)
Encode classical data into quantum amplitude encoding. Maps data values to quantum state amplitudes. Parameters: - feature-vector: Vector of feature values (should be normalized) - num-qubits: Number of qubits to use (determines 2^n amplitudes) Returns: - Result map with :success boolean and :result/:error Example: (amplitude-encoding [0.5 0.5 0.5 0.5] 2)
(angle-encoding data-row num-qubits)
(angle-encoding data-row num-qubits gate-type)
Encode classical data as rotation angles in quantum circuit gates.
This encoding maps classical data values to rotation angles, creating a parameterized quantum circuit that encodes the data in qubit rotations.
Parameters:
Returns:
Example: (def result (angle-encoding [0.5 0.3 0.7] 3 :ry)) (when (:success result) ((:result result) (qc/create-circuit 3)))
Encode classical data as rotation angles in quantum circuit gates. This encoding maps classical data values to rotation angles, creating a parameterized quantum circuit that encodes the data in qubit rotations. Parameters: - data-row: Vector of classical data values - num-qubits: Number of qubits to use for encoding - gate-type: Type of rotation gate (:rx, :ry, :rz), default :ry Returns: - Result map with :success boolean and circuit encoder function or error Example: (def result (angle-encoding [0.5 0.3 0.7] 3 :ry)) (when (:success result) ((:result result) (qc/create-circuit 3)))
(basis-encoding bit-string num-qubits)
Encode classical data using computational basis encoding.
Maps classical bit strings to computational basis states directly. Useful for encoding discrete/categorical data.
Parameters:
Returns:
Example: (basis-encoding "101" 3) ; Creates |101> state (basis-encoding [1 0 1] 3)
Encode classical data using computational basis encoding. Maps classical bit strings to computational basis states directly. Useful for encoding discrete/categorical data. Parameters: - bit-string: String of bits like '101' or vector of 0/1 values - num-qubits: Number of qubits (should match bit string length) Returns: - Result map with :success boolean and :result/:error Example: (basis-encoding "101" 3) ; Creates |101> state (basis-encoding [1 0 1] 3)
(iqp-encoding data-row num-qubits)
Instantaneous Quantum Polynomial (IQP) encoding circuit.
Creates a quantum circuit that implements IQP-style encoding where classical data is encoded through Hadamard gates followed by diagonal unitaries with data-dependent phases.
Parameters:
Returns:
Example: (def iqp-encoder (iqp-encoding [0.1 0.2 0.3 0.4] 2)))
Instantaneous Quantum Polynomial (IQP) encoding circuit. Creates a quantum circuit that implements IQP-style encoding where classical data is encoded through Hadamard gates followed by diagonal unitaries with data-dependent phases. Parameters: - data-row: Vector of classical data values - num-qubits: Number of qubits to use Returns: - Function that creates the IQP encoding circuit Example: (def iqp-encoder (iqp-encoding [0.1 0.2 0.3 0.4] 2)))
(normalize-features feature-vector)
Normalize feature vector using min-max scaling to [0, 1].
Parameters:
Returns:
Example: (normalize-features [1.0 2.0 3.0 4.0])
Normalize feature vector using min-max scaling to [0, 1]. Parameters: - feature-vector: Vector of feature values Returns: - Result map with :success boolean and :result/:error Example: (normalize-features [1.0 2.0 3.0 4.0])
cljdoc builds & hosts documentation for Clojure/Script libraries
Ctrl+k | Jump to recent docs |
← | Move to previous article |
→ | Move to next article |
Ctrl+/ | Jump to the search field |