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 (ForArgs &&... args)

Public types

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

Public functions

SetAllZeros (Unitary & state) const
void
SetIdentity (Unitary & state)
void

Public static functions

GetEntry (const Unitary & state, uint64_t i, uint64_t j)
std::complex< fp_type >
MinRowSize (unsigned num_qubits)
uint64_t
MinSize (unsigned num_qubits)
uint64_t
SetEntry (Unitary & state, uint64_t i, uint64_t j, const std::complex< fp_type > & ampl)
void
SetEntry (Unitary & state, uint64_t i, uint64_t j, fp_type re, fp_type im)
void

Public types

Unitary

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

fp_type

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

Public functions

SetAllZeros

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

SetIdentity

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

UnitarySpaceBasic

 qsim::unitary::UnitarySpaceBasic::UnitarySpaceBasic(
  ForArgs &&... args
)

Public static functions

GetEntry

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

MinRowSize

uint64_t qsim::unitary::UnitarySpaceBasic::MinRowSize(
  unsigned num_qubits
)

MinSize

uint64_t qsim::unitary::UnitarySpaceBasic::MinSize(
  unsigned num_qubits
)

SetEntry

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

SetEntry

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