Versions in this module Expand all Collapse all v6 v6.1.0 Oct 14, 2024 v6.0.0 Aug 6, 2024 Changes in this version + func BSGSIndex(nonZeroDiags []int, slots, N1 int) (index map[int][]int, rotN1, rotN2 []int) + func Encode[T any](encoder schemes.Encoder, diagonals Diagonals[T], ...) (err error) + func FindBestBSGSRatio(nonZeroDiags []int, maxN int, logMaxRatio int) (minN int) + func GaloisElements(params rlwe.ParameterProvider, diags []int, ...) (galEls []uint64) + type Diagonals map[int][]T + func (m Diagonals[T]) At(i, slots int) ([]T, error) + func (m Diagonals[T]) DiagonalsIndexList() (indexes []int) + type Evaluator struct + func (eval Evaluator) EvaluateMany(ctIn *rlwe.Ciphertext, linearTransformations []LinearTransformation, ...) (err error) + func (eval Evaluator) EvaluateSequential(ctIn *rlwe.Ciphertext, linearTransformations []LinearTransformation, ...) (err error) + func (eval Evaluator) MultiplyByDiagMatrix(ctIn *rlwe.Ciphertext, matrix LinearTransformation, BuffDecompQP []ringqp.Poly, ...) (err error) + func (eval Evaluator) MultiplyByDiagMatrixBSGS(ctIn *rlwe.Ciphertext, matrix LinearTransformation, ...) (err error) + func (eval Evaluator) PreRotatedCiphertextForDiagonalMatrixMultiplication(levelQ, levelP int, ctIn *rlwe.Ciphertext, BuffDecompQP []ringqp.Poly, ...) (err error) + type LinearTransformation struct + LevelP int + LevelQ int + LogBabyStepGiantStepRatio int + N1 int + Vec map[int]ringqp.Poly + func NewLinearTransformation(params rlwe.ParameterProvider, ltparams Parameters) LinearTransformation + func (lt LinearTransformation) BSGSIndex() (index map[int][]int, n1, n2 []int) + func (lt LinearTransformation) GaloisElements(params rlwe.ParameterProvider) (galEls []uint64) + type Parameters struct + DiagonalsIndexList []int + LevelP int + LevelQ int + LogBabyStepGiantStepRatio int + LogDimensions ring.Dimensions + Scale rlwe.Scale