halg-bridge-singular-0.6.0.0: Bridge interface between Singular and halg computational algebra suite.
Safe HaskellNone
LanguageHaskell2010

Algebra.Bridge.Singular.Syntax

Synopsis

Documentation

class IsMonomialOrder n ord => SingularOrder n ord where Source #

Methods

singularOrder :: q n -> p ord -> Text Source #

Instances

Instances details
KnownNat n => SingularOrder n Grevlex Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

Methods

singularOrder :: q n -> p Grevlex -> Text Source #

KnownNat n => SingularOrder n Lex Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

Methods

singularOrder :: q n -> p Lex -> Text Source #

(SingularOrder n o1, SingularOrder m o2, KnownNat m, KnownNat n, (n + m) ~ k) => SingularOrder k (ProductOrder n m o1 o2) Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

Methods

singularOrder :: q k -> p (ProductOrder n m o1 o2) -> Text Source #

type IsSingularPolynomial poly = (IsOrderedPolynomial poly, SingularCoeff (Coefficient poly), SingularOrder (Arity poly) (MOrder poly)) Source #

Polynomial type which can be encoded to/decoded from singular polynomials.

data SingularExpr poly where Source #

Constructors

SingVar :: Text -> SingularExpr poly 
SingFunction :: Text -> [SingularExpr poly] -> SingularExpr poly 
SingInfix :: SingularExpr poly -> Text -> SingularExpr poly -> SingularExpr poly 
SingList :: [SingularExpr poly] -> SingularExpr poly 
SingIdeal :: [SingularExpr poly] -> SingularExpr poly 
SingPolynomial :: poly -> SingularExpr poly 
SingCoeff :: Coefficient poly -> SingularExpr poly 
SingVerbatim :: Text -> SingularExpr poly 
SingRing :: RingSpec -> SingularExpr poly 

Instances

Instances details
Num (Coefficient poly) => Num (SingularExpr poly) Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

Methods

(+) :: SingularExpr poly -> SingularExpr poly -> SingularExpr poly #

(-) :: SingularExpr poly -> SingularExpr poly -> SingularExpr poly #

(*) :: SingularExpr poly -> SingularExpr poly -> SingularExpr poly #

negate :: SingularExpr poly -> SingularExpr poly #

abs :: SingularExpr poly -> SingularExpr poly #

signum :: SingularExpr poly -> SingularExpr poly #

fromInteger :: Integer -> SingularExpr poly #

Unital (Coefficient poly) => Unital (SingularExpr poly) Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

Methods

one :: SingularExpr poly #

pow :: SingularExpr poly -> Natural -> SingularExpr poly #

productWith :: Foldable f => (a -> SingularExpr poly) -> f a -> SingularExpr poly #

Multiplicative (SingularExpr poly) Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

Methods

(*) :: SingularExpr poly -> SingularExpr poly -> SingularExpr poly #

pow1p :: SingularExpr poly -> Natural -> SingularExpr poly #

productWith1 :: Foldable1 f => (a -> SingularExpr poly) -> f a -> SingularExpr poly #

Additive (SingularExpr poly) Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

Methods

(+) :: SingularExpr poly -> SingularExpr poly -> SingularExpr poly #

sinnum1p :: Natural -> SingularExpr poly -> SingularExpr poly #

sumWith1 :: Foldable1 f => (a -> SingularExpr poly) -> f a -> SingularExpr poly #

IsSingularPolynomial poly => PrettySingular (SingularExpr poly) Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

data RingSpec where Source #

Constructors

RingSpec :: SingularOrder n ord => RingCoeffSpec -> SNat n -> proxy ord -> RingSpec 

Instances

Instances details
PrettySingular RingSpec Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

funE :: Text -> [SingularExpr poly] -> SingularExpr poly Source #

polyE :: poly -> SingularExpr poly Source #

newtype SingularProgramM a Source #

Instances

Instances details
Monad SingularProgramM Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

Functor SingularProgramM Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

Methods

fmap :: (a -> b) -> SingularProgramM a -> SingularProgramM b #

(<$) :: a -> SingularProgramM b -> SingularProgramM a #

Applicative SingularProgramM Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

Semigroup (SingularProgramM a) Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

a ~ () => Monoid (SingularProgramM a) Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax

a ~ () => PrettySingular (SingularProgramM a) Source # 
Instance details

Defined in Algebra.Bridge.Singular.Syntax