oalg-abg-2.0.0.0: Finitely generated abelian groups.
Copyright(c) Erich Gut
LicenseBSD3
Maintainerzerich.gut@gmail.com
Safe HaskellNone
LanguageHaskell2010

OAlg.AbelianGroup.Liftable

Description

lifting of abelian homomorphisms.

Synopsis

Lifting

zMatrixLift :: Matrix Z -> Matrix Z -> Maybe (Matrix Z) Source #

tries to solve the equation a * x == y.

Property Let a and y be in Matrix Z, then holds:

  1. If end y is not equal to end a then evaluating zMatrixLift a y will end up in a NotLiftable-exception.
  2. If end y is equal to end a and there exists an x in Matrix Z such that a * x == y then the result of zMatrixLift a y is Just x otherwise it will be Nothing. If there exists a non trivial solution, then x will also be non trival.

Proposition

prpMatrixZJustLiftable :: XOrtSite 'To (Matrix Z) -> Statement Source #

validity of zMatrixLift for liftable samples.

prpMatrixZMaybeLiftable :: X Z -> Statement Source #

validity of zMatrixLift where liftable and unliftable samples are validated.

X

xLiftable :: Multiplicative c => XOrtSite 'To c -> X (c, c) Source #

random variable for liftable samples.