qsim::unitary::UnitarySpaceBasic

#include <unitaryspace_basic.h>

Object containing context and routines for unitary manipulations.

Summary

Unitary is a non-vectorized sequence of one real amplitude followed by one imaginary amplitude.

Inheritance

Inherits from: qsim::unitary::UnitarySpace< UnitarySpaceBasic< For, FP >, For, FP >

Constructors and Destructors

UnitarySpaceBasic(unsigned num_qubits, ForArgs &&... args)

Public types

Base using
Unitary using
typename Base::Unitary
fp_type using
typename Base::fp_type

Public functions

GetEntry(const Unitary & state, uint64_t i, uint64_t j)
std::complex< fp_type >
SetAllZeros(Unitary & state) const
void
SetEntry(const Unitary & state, uint64_t i, uint64_t j, const std::complex< fp_type > & ampl)
void
SetEntry(const Unitary & state, uint64_t i, uint64_t j, fp_type re, fp_type im)
void
SetIdentity(Unitary & state)
void

Public types

Base

UnitarySpace< UnitarySpaceBasic< For, FP >, For, FP > qsim::unitary::UnitarySpaceBasic::Base

Unitary

typename Base::Unitary qsim::unitary::UnitarySpaceBasic::Unitary

fp_type

typename Base::fp_type qsim::unitary::UnitarySpaceBasic::fp_type

Public functions

GetEntry

std::complex< fp_type > qsim::unitary::UnitarySpaceBasic::GetEntry(
  const Unitary & state,
  uint64_t i,
  uint64_t j
)

SetAllZeros

void qsim::unitary::UnitarySpaceBasic::SetAllZeros(
  Unitary & state
) const 

SetEntry

void qsim::unitary::UnitarySpaceBasic::SetEntry(
  const Unitary & state,
  uint64_t i,
  uint64_t j,
  const std::complex< fp_type > & ampl
)

SetEntry

void qsim::unitary::UnitarySpaceBasic::SetEntry(
  const Unitary & state,
  uint64_t i,
  uint64_t j,
  fp_type re,
  fp_type im
)

SetIdentity

void qsim::unitary::UnitarySpaceBasic::SetIdentity(
  Unitary & state
)

UnitarySpaceBasic

 qsim::unitary::UnitarySpaceBasic::UnitarySpaceBasic(
  unsigned num_qubits,
  ForArgs &&... args
)