Source code for qlearnkit.encodings.encoding_map

from abc import ABC, abstractmethod
import numpy as np


[docs]class EncodingMap(ABC): """ Abstract Base class for qlearnkit encoding maps """ def __init__(self): pass
[docs] @abstractmethod def circuit(self, x): """return quantum circuit encoding data""" raise NotImplementedError("Must have implemented this.")
[docs] @abstractmethod def n_qubits(self, x): """return number of required qubits for qauntum encoding""" raise NotImplementedError("Must have implemented this.")
[docs] @abstractmethod def state_vector(self, x): """return state vector after quantum encoding""" raise NotImplementedError("Must have implemented this.")
[docs] def encode_dataset(self, dataset): """ This method encodes a dataset. Args: dataset (np.npdarray): A dataset. Rows represent data examples Returns: (np.ndarray): the encoded dataset """ return np.array([self.state_vector(x) for x in dataset])