zkfold-base-0.1.0.0: ZkFold Symbolic compiler and zero-knowledge proof protocols
Safe HaskellSafe-Inferred
LanguageHaskell2010

ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Synopsis

Documentation

newtype M i j m Source #

Monomial type

Constructors

M m 

Instances

Instances details
Arbitrary m => Arbitrary (M i j m) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

arbitrary :: Gen (M i j m) #

shrink :: M i j m -> [M i j m] #

FromJSON m => FromJSON (M i j m) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

parseJSON :: Value -> Parser (M i j m) #

parseJSONList :: Value -> Parser [M i j m] #

omittedField :: Maybe (M i j m) #

ToJSON m => ToJSON (M i j m) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

toJSON :: M i j m -> Value #

toEncoding :: M i j m -> Encoding #

toJSONList :: [M i j m] -> Value #

toEncodingList :: [M i j m] -> Encoding #

omitField :: M i j m -> Bool #

Generic (M i j m) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Associated Types

type Rep (M i j m) :: Type -> Type #

Methods

from :: M i j m -> Rep (M i j m) x #

to :: Rep (M i j m) x -> M i j m #

Ord i => IsList (M i j (Map i j)) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Associated Types

type Item (M i j (Map i j)) #

Methods

fromList :: [Item (M i j (Map i j))] -> M i j (Map i j) #

fromListN :: Int -> [Item (M i j (Map i j))] -> M i j (Map i j) #

toList :: M i j (Map i j) -> [Item (M i j (Map i j))] #

(Show i, Show j, Monomial i j) => Show (M i j (Map i j)) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

showsPrec :: Int -> M i j (Map i j) -> ShowS #

show :: M i j (Map i j) -> String #

showList :: [M i j (Map i j)] -> ShowS #

NFData m => NFData (M i j m) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

rnf :: M i j m -> () #

(Eq i, Eq j) => Eq (M i j (Map i j)) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

(==) :: M i j (Map i j) -> M i j (Map i j) -> Bool #

(/=) :: M i j (Map i j) -> M i j (Map i j) -> Bool #

(Eq i, Ord i, Ord j) => Ord (M i j (Map i j)) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

compare :: M i j (Map i j) -> M i j (Map i j) -> Ordering #

(<) :: M i j (Map i j) -> M i j (Map i j) -> Bool #

(<=) :: M i j (Map i j) -> M i j (Map i j) -> Bool #

(>) :: M i j (Map i j) -> M i j (Map i j) -> Bool #

(>=) :: M i j (Map i j) -> M i j (Map i j) -> Bool #

max :: M i j (Map i j) -> M i j (Map i j) -> M i j (Map i j) #

min :: M i j (Map i j) -> M i j (Map i j) -> M i j (Map i j) #

(Monomial i j, Ring j) => MultiplicativeGroup (M i j (Map i j)) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

(/) :: M i j (Map i j) -> M i j (Map i j) -> M i j (Map i j) Source #

invert :: M i j (Map i j) -> M i j (Map i j) Source #

Monomial i j => MultiplicativeMonoid (M i j (Map i j)) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

one :: M i j (Map i j) Source #

Monomial i j => MultiplicativeSemigroup (M i j (Map i j)) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

(*) :: M i j (Map i j) -> M i j (Map i j) -> M i j (Map i j) Source #

(Monomial i j, Ring j) => Exponent (M i j (Map i j)) Integer Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

(^) :: M i j (Map i j) -> Integer -> M i j (Map i j) Source #

Monomial i j => Exponent (M i j (Map i j)) Natural Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

Methods

(^) :: M i j (Map i j) -> Natural -> M i j (Map i j) Source #

type Rep (M i j m) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

type Rep (M i j m) = D1 ('MetaData "M" "ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial" "zkfold-base-0.1.0.0-inplace" 'True) (C1 ('MetaCons "M" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m)))
type Item (M i j (Map i j)) Source # 
Instance details

Defined in ZkFold.Base.Algebra.Polynomials.Multivariate.Monomial

type Item (M i j (Map i j)) = (i, j)

type Monomial i j = (Variable i, Ord j, Semiring j) Source #

type Monomial' = M Natural Natural (Map Natural Natural) Source #

Most general type for a multivariate monomial

monomial :: Monomial i j => Map i j -> M i j (Map i j) Source #

Monomial constructor

type Variable i = Ord i Source #

evalMapM :: forall i j b. MultiplicativeMonoid b => Exponent b j => (i -> b) -> M i j (Map i j) -> b Source #

evalVectorM :: forall i j b d. Monomial i j => MultiplicativeMonoid b => Exponent b j => (i -> b) -> M i j (Vector d (i, Bool)) -> b Source #