Template Class JacobianDataMPI

Inheritance Relationships

Base Type

Class Documentation

template<class StateVectorT>
class JacobianDataMPI : public Pennylane::Algorithms::JacobianData<StateVectorT>

Public Functions

JacobianDataMPI(const JacobianDataMPI&) = default
JacobianDataMPI(JacobianDataMPI&&) noexcept = default
JacobianDataMPI &operator=(const JacobianDataMPI&) = default
JacobianDataMPI &operator=(JacobianDataMPI&&) noexcept = default
virtual ~JacobianDataMPI() = default
inline JacobianDataMPI(std::size_t num_params, const StateVectorT &sv, std::vector<std::shared_ptr<Observable<StateVectorT>>> obs, OpsData<StateVectorT> ops, std::vector<std::size_t> trainP)

Construct a JacobianDataMPI object.

Each value \(i\) in trainable params means that we want to take a derivative respect to the \(i\)-th operation.

Further note that ops does not contain state preparation operations (e.g. StatePrep) or Hamiltonian coefficients.

Parameters
  • num_params – Number of parameters in the Tape.

  • sv – Referemce to the statevector.

  • obs – Observables for which to calculate Jacobian.

  • ops – Operations used to create given state.

  • trainP – Sorted list of parameters participating in Jacobian computation.

inline auto getMPIManager() const

Get MPI manager.

inline auto getDevTag() const

Get DevTag manager.

inline auto getNumGlobalQubits() const -> std::size_t

Get the number of wires distributed across devices.

inline auto getNumLocalQubits() const -> std::size_t

Get the number of wires within the local devices.