package evaluation
- Alphabetic
- By Inheritance
- evaluation
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
final
case class
EigenvalueEvaluator[M <: MonoDef with Singleton](real: Boolean, symmetryGroup: Grp[M.PermutationType])(implicit witnessMono: Aux[M]) extends Evaluator with Product with Serializable
Equivalence under the adjoint operation.
-
abstract
class
Evaluator extends AnyRef
Describes a quotient vector space defined on a polynomial ring.
Describes a quotient vector space defined on a polynomial ring.
The quotient space is defined through equivalence relations that do not necessarily preserve the polynomial structure.
-
class
FreeScratchPad[F <: MonoDef with Singleton] extends AnyRef
Scratch pad of mutable words where equivalence operations are applied in batch.
Scratch pad of mutable words where equivalence operations are applied in batch. The pad itself is an array of words, all stored in their phase canonical form. Additionally, the map "phaseMap" stores the corresponding phase. This enables to quickly check whether a monomial is equivalent to zero.
At any point, the first "n" words are part of the equivalence class. Usually, we start by setting n = 1, and having the first word corresponding to the monomial whose canonical representative we want to compute. These first "n" words are locked: their content is not mutated anymore, and their hash value is cached.
The other words are candidates generated by running through equivalences.
Invariants:
For all words:
- They are not immutable. - They are not zero.
For the first "n" words:
- They are locked. - The canonical phase representatives are stored in the "pad" array, while the corresponding phase is stored . in "phaseArray", so that the i-th stored monomial is pad(i).mutableCopy.setPhaseTo(Phase.fromEncoding(phaseArray(i))). - For fast lookup and test of equivalence to zero, we have phaseMap(pad(i)) = phaseArray(i).
For the words at index >= n:
- They are mutable. - They are not in their phase canonical form. - The corresponding entries in phaseArray are ignored.
There is no way to store a zero in the scratch pad.
-
class
PPTEvaluator[M <: Aux[F] with Singleton, F <: Aux[F] with Singleton] extends Evaluator
Equivalence under the adjoint operation.
-
final
case class
ScratchEigenvalueEvaluator[M <: Aux[F] with Singleton, F <: Aux[F] with Singleton](real: Boolean, symmetryGroup: Grp[M.PermutationType])(implicit witnessMono: Aux[M]) extends ScratchEvaluator[M, F] with Product with Serializable
Equivalence under the adjoint operation.
-
abstract
class
ScratchEvaluator[M <: Aux[F] with Singleton, F <: Aux[F] with Singleton] extends Evaluator
Equivalence under the adjoint operation.
-
final
class
ScratchPPTEvaluator[M <: Aux[F] with Singleton, F <: Aux[F] with Singleton] extends ScratchEvaluator[M, F]
Equivalence under the adjoint operation.
-
final
case class
ScratchTraceEvaluator[M <: Aux[F] with Singleton, F <: Aux[F] with Singleton](real: Boolean, symmetryGroup: Grp[M.PermutationType])(implicit witnessMono: Aux[M]) extends ScratchEvaluator[M, F] with Product with Serializable
Equivalence under the adjoint operation.
-
final
case class
TraceEvaluator[M <: Aux[F] with Singleton, F <: Aux[F] with Singleton](real: Boolean, symmetryGroup: Grp[M.PermutationType])(implicit witnessMono: Aux[M]) extends Evaluator with Product with Serializable
Equivalence under the adjoint operation.
Value Members
-
def
findCanonicalInSet[M <: MonoDef with Singleton](candidates: Set[evaluation.findCanonicalInSet.M.MonoType])(implicit arg0: Aux[M]): evaluation.findCanonicalInSet.M.MonoType
Find the canonical representative in a set of monomial, or returns zero if the set contains two or more monomials that differ only by a phase.
-
def
symmetrizeMonoSet[M <: MonoDef with Singleton](start: Set[evaluation.symmetrizeMonoSet.M.MonoType], symmetryGroup: Grp[evaluation.symmetrizeMonoSet.M.PermutationType])(implicit arg0: Aux[M]): Set[evaluation.symmetrizeMonoSet.M.MonoType]
Computes the orbit of the given set of monomials under the given symmetry group.
- object Evaluator
- object FreeScratchPad
- object PPTEvaluator
- object ScratchPPTEvaluator