randomMatrices.h
Definition: matmul.h:231
Definition: matmul.h:61
const PAlgebraMod & getAlMod() const
Get the underlying AlMod object.
Definition: Context.h:409
A simple wrapper for a smart pointer to an EncryptedArrayBase. This is the interface that higher-leve...
Definition: EncryptedArray.h:1583
long sizeOfDimension(long i) const
Definition: EncryptedArray.h:1945
const PAlgebraMod & getAlMod() const
Definition: EncryptedArray.h:1669
const Context & getContext() const
Definition: EncryptedArray.h:1668
Definition: matmul.h:103
Definition: matmul.h:35
void restoreContext() const
Restores the NTL context for p^r.
Definition: PAlgebra.h:873
Definition: randomMatrices.h:137
const EncryptedArray & getEA() const override
Definition: randomMatrices.h:180
bool get(mat_R &out, long i, long j, UNUSED long k) const override
Definition: randomMatrices.h:169
RandomBlockMatrix(const EncryptedArray &_ea, long _dim)
Definition: randomMatrices.h:146
bool multipleTransforms() const override
Definition: randomMatrices.h:182
Definition: randomMatrices.h:290
RandomFullBlockMatrix(const EncryptedArray &_ea)
Definition: randomMatrices.h:296
const EncryptedArray & getEA() const override
Definition: randomMatrices.h:326
bool get(mat_R &out, long i, long j) const override
Definition: randomMatrices.h:316
Definition: randomMatrices.h:251
const EncryptedArray & getEA() const override
Definition: randomMatrices.h:283
bool get(RX &out, long i, long j) const override
Definition: randomMatrices.h:273
RandomFullMatrix(const EncryptedArray &_ea)
Definition: randomMatrices.h:257
Definition: randomMatrices.h:25
bool get(RX &out, long i, long j, UNUSED long k) const override
Definition: randomMatrices.h:60
bool multipleTransforms() const override
Definition: randomMatrices.h:57
const EncryptedArray & getEA() const override
Definition: randomMatrices.h:56
RandomMatrix(const EncryptedArray &_ea, long _dim)
Definition: randomMatrices.h:36
Definition: randomMatrices.h:191
RandomMultiBlockMatrix(const EncryptedArray &_ea, long _dim)
Definition: randomMatrices.h:200
bool get(mat_R &out, long i, long j, long k) const override
Definition: randomMatrices.h:228
const EncryptedArray & getEA() const override
Definition: randomMatrices.h:242
bool multipleTransforms() const override
Definition: randomMatrices.h:244
Definition: randomMatrices.h:77
virtual ~RandomMultiMatrix()
Definition: randomMatrices.h:87
bool get(RX &out, long i, long j, long k) const override
Definition: randomMatrices.h:116
RandomMultiMatrix(const EncryptedArray &_ea, long _dim)
Definition: randomMatrices.h:88
bool multipleTransforms() const override
Definition: randomMatrices.h:113
const EncryptedArray & getEA() const override
Definition: randomMatrices.h:112
Definition: apiAttributes.h:21
MatMul1D * buildRandomMultiMatrix(const EncryptedArray &ea, long dim)
Definition: randomMatrices.cpp:36
void random(const EncryptedArray &ea, PlaintextArray &pa)
Definition: EncryptedArray.cpp:1256
BlockMatMul1D * buildRandomMultiBlockMatrix(const EncryptedArray &ea, long dim)
Definition: randomMatrices.cpp:68
BlockMatMulFull * buildRandomFullBlockMatrix(const EncryptedArray &ea)
Definition: randomMatrices.cpp:96
void assertInRange(const T &elem, const T &min, const T &max, const std::string &message, bool right_inclusive=false)
Definition: assertions.h:183
BlockMatMul1D * buildRandomBlockMatrix(const EncryptedArray &ea, long dim)
Definition: randomMatrices.cpp:52
MatMul1D * buildRandomMatrix(const EncryptedArray &ea, long dim)
Definition: randomMatrices.cpp:22
MatMulFull * buildRandomFullMatrix(const EncryptedArray &ea)
Definition: randomMatrices.cpp:82