Quantum-Chess 0.5
Chargement...
Recherche...
Aucune correspondance
Référence du fichier Unitary.hpp
#include <CMatrix.hpp>
#include <numbers>
#include <complex>
#include <Constexpr.hpp>

Aller au code source de ce fichier.

Variables

constexpr CMatrix< 4 > MATRIX_ISWAP
 
constexpr CMatrix< 4 > MATRIX_SQRT_ISWAP
 
constexpr CMatrix< 4 > MATRIX_JUMP { MATRIX_ISWAP }
 
constexpr CMatrix< 8 > MATRIX_SLIDE
 
constexpr CMatrix< 8 > MATRIX_ISWAP_8
 
constexpr CMatrix< 8 > MATRIX_SQRT_ISWAP_8
 
constexpr CMatrix< 8 > MATRIX_SPLIT
 
constexpr CMatrix< 8 > MATRIX_MERGE
 
constexpr CMatrix< 32 > MATRIX_SPLIT_SLIDE
 
CONSTEXPR CMatrix< 32 > MATRIX_MERGE_SLIDE
 

Documentation des variables

◆ MATRIX_ISWAP

CMatrix<4> MATRIX_ISWAP
inlineconstexpr
Valeur initiale :
{
{
{1, 0, 0, 0},
{0, 0, 1i, 0},
{0, 1i, 0, 0},
{0, 0, 0, 1}
}
}

◆ MATRIX_ISWAP_8

CMatrix<8> MATRIX_ISWAP_8
inlineconstexpr
Valeur initiale :
{
{
{1, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1i, 0, 0, 0 },
{0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 1i, 0},
{0, 1i, 0, 0, 0, 0, 0, 0 },
{0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 1i, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1}
}
}

◆ MATRIX_JUMP

CMatrix<4> MATRIX_JUMP { MATRIX_ISWAP }
inlineconstexpr

◆ MATRIX_MERGE

CMatrix<8> MATRIX_MERGE
inlineconstexpr
Valeur initiale :
{
{
{1, 0, 0, 0, 0, 0, 0, 0},
{0, 0, -1i/sqrt2, 0, -1i/sqrt2, 0, 0, 0},
{0, 0, 1/sqrt2, 0, -1/sqrt2, 0, 0, 0},
{0, 0, 0, 0, 0, 0, -1i, 0},
{0, -1i, 0, 0, 0, 0, 0, 0},
{0, 0, 0, -1/sqrt2, 0, -1i/sqrt2, 0, 0},
{0, 0, 0, -1i/sqrt2, 0, -1/sqrt2, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1}
}
}

◆ MATRIX_MERGE_SLIDE

CONSTEXPR CMatrix<32> MATRIX_MERGE_SLIDE
inline
Valeur initiale :
{
CMatrix<8>{}, conj(CMatrix<2>::identity().tensoriel_product(MATRIX_ISWAP).transposed())
},
conj(MATRIX_ISWAP_8.transposed()), CMatrix<8>{},
CMatrix<8>{}, CMatrix<8>::identity()
}
}
Matrix< std::complex< double >, N > CMatrix
Objet représentant les matrices carrées complexe de dimension N.
Definition CMatrix.hpp:15
constexpr CMatrix< 8 > MATRIX_MERGE
Definition Unitary.hpp:92
constexpr CMatrix< 4 > MATRIX_ISWAP
Definition Unitary.hpp:12
constexpr CMatrix< 8 > MATRIX_ISWAP_8
Definition Unitary.hpp:50

◆ MATRIX_SLIDE

CMatrix<8> MATRIX_SLIDE
inlineconstexpr
Valeur initiale :
{
{
{1, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 1i, 0, 0, 0, 0, 0 },
{0, 1i, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0 },
{0, 0, 0, 0, 0, 1, 0, 0},
{0, 0, 0, 0, 0, 0, 1, 0},
{0, 0, 0, 0, 0, 0, 0, 1}
}
}

◆ MATRIX_SPLIT

CMatrix<8> MATRIX_SPLIT
inlineconstexpr
Valeur initiale :
{
{
{1, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1i, 0, 0, 0},
{0, 1i/sqrt2, 1./sqrt2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, -1./sqrt2, 1i/sqrt2, 0},
{0, 1i/sqrt2, -1./sqrt2, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1i/sqrt2, -1/sqrt2, 0},
{0, 0, 0, 1i, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1}
}
}

◆ MATRIX_SPLIT_SLIDE

CMatrix<32> MATRIX_SPLIT_SLIDE
inlineconstexpr
Valeur initiale :
{
CMatrix<2>::identity()
.tensoriel_product(MATRIX_ISWAP), CMatrix<8>{},
CMatrix<8>{}, CMatrix<8>::identity()
}
}
constexpr CMatrix< 8 > MATRIX_SPLIT
Definition Unitary.hpp:78

◆ MATRIX_SQRT_ISWAP

CMatrix<4> MATRIX_SQRT_ISWAP
inlineconstexpr
Valeur initiale :
{
{
{1, 0, 0, 0},
{0, 1./sqrt2, 1i/sqrt2, 0},
{0, 1i/sqrt2, 1./sqrt2, 0},
{0, 0, 0, 1}
}
}

◆ MATRIX_SQRT_ISWAP_8

CMatrix<8> MATRIX_SQRT_ISWAP_8
inlineconstexpr
Valeur initiale :
{
{
{1, 0, 0, 0, 0, 0, 0, 0},
{0, 1./sqrt2, 1i/sqrt2, 0, 0, 0, 0, 0},
{0, 1i/sqrt2, 1./sqrt2, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1./sqrt2, 1i/sqrt2, 0},
{0, 0, 0, 0, 0, 1i/sqrt2, 1./sqrt2, 0},
{0, 0, 0, 0, 0, 0, 0, 1}
}
}