Liking cljdoc? Tell your friends :D

org.soulspace.qclojure.ml.application.encoding

Quantum data encoding strategies for quantum machine learning

Quantum data encoding strategies for quantum machine learning
raw docstring

amplitude-encodingclj

(amplitude-encoding feature-vector num-qubits)

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)

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)
sourceraw docstring

angle-encodingclj

(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:

  • 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)))

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)))
sourceraw docstring

basis-encodingclj

(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:

  • 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)

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)
sourceraw docstring

iqp-encodingclj

(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:

  • 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)))

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)))
sourceraw docstring

normalize-featuresclj

(normalize-features feature-vector)

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])

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])
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close