qsim::unitary::UnitarySpace

#include <unitaryspace.h>

Abstract class containing routines for general unitary matrix manipulations.

Summary

A "Basic" implementation is provided (no AVX or SSE).

Constructors and Destructors

UnitarySpace(uint64_t raw_size, unsigned num_qubits, ForArgs &&... args)

Public types

Unitary using
std::unique_ptr< fp_type, decltype(&free)>
fp_type using
FP

Public attributes

for_
For
num_qubits_
unsigned
raw_size_
uint64_t

Public functions

CopyUnitary(const Unitary & src, Unitary & dest) const
void
CreateUnitary() const
Unitary
RawSize() const
uint64_t
Size() const
uint64_t

Public static functions

CreateUnitary(fp_type *p)
Unitary
IsNull(const Unitary & state)
bool
NullState()
Unitary
RawData(Unitary & state)
fp_type *
RawData(const Unitary & state)
const fp_type *

Public types

Unitary

std::unique_ptr< fp_type, decltype(&free)> Unitary

fp_type

FP fp_type

Public attributes

for_

For for_

num_qubits_

unsigned num_qubits_

raw_size_

uint64_t raw_size_

Public functions

CopyUnitary

void CopyUnitary(
  const Unitary & src,
  Unitary & dest
) const 

CreateUnitary

Unitary CreateUnitary() const 

RawSize

uint64_t RawSize() const 

Size

uint64_t Size() const 

UnitarySpace

 UnitarySpace(
  uint64_t raw_size,
  unsigned num_qubits,
  ForArgs &&... args
)

Public static functions

CreateUnitary

Unitary CreateUnitary(
  fp_type *p
)

IsNull

bool IsNull(
  const Unitary & state
)

NullState

Unitary NullState()

RawData

fp_type * RawData(
  Unitary & state
)

RawData

const fp_type * RawData(
  const Unitary & state
)