computational-algebra-0.5.0.0: Well-kinded computational algebra library, currently supporting Groebner basis.

Safe HaskellNone
LanguageHaskell2010

Algebra.Scalar

Synopsis

Documentation

newtype Scalar r Source #

Scalar r provides almost the same type-instances as r, but it can also behave as a Module over r itself.

Constructors

Scalar 

Fields

Instances

LeftModule Integer r => LeftModule Integer (Scalar r) Source # 

Methods

(.*) :: Integer -> Scalar r -> Scalar r #

Semiring r => LeftModule r (Scalar r) Source # 

Methods

(.*) :: r -> Scalar r -> Scalar r #

LeftModule Natural r => LeftModule Natural (Scalar r) Source # 

Methods

(.*) :: Natural -> Scalar r -> Scalar r #

RightModule Integer r => RightModule Integer (Scalar r) Source # 

Methods

(*.) :: Scalar r -> Integer -> Scalar r #

Semiring r => RightModule r (Scalar r) Source # 

Methods

(*.) :: Scalar r -> r -> Scalar r #

RightModule Natural r => RightModule Natural (Scalar r) Source # 

Methods

(*.) :: Scalar r -> Natural -> Scalar r #

Enum r => Enum (Scalar r) Source # 

Methods

succ :: Scalar r -> Scalar r #

pred :: Scalar r -> Scalar r #

toEnum :: Int -> Scalar r #

fromEnum :: Scalar r -> Int #

enumFrom :: Scalar r -> [Scalar r] #

enumFromThen :: Scalar r -> Scalar r -> [Scalar r] #

enumFromTo :: Scalar r -> Scalar r -> [Scalar r] #

enumFromThenTo :: Scalar r -> Scalar r -> Scalar r -> [Scalar r] #

Eq r => Eq (Scalar r) Source # 

Methods

(==) :: Scalar r -> Scalar r -> Bool #

(/=) :: Scalar r -> Scalar r -> Bool #

Fractional r => Fractional (Scalar r) Source # 

Methods

(/) :: Scalar r -> Scalar r -> Scalar r #

recip :: Scalar r -> Scalar r #

fromRational :: Rational -> Scalar r #

Integral r => Integral (Scalar r) Source # 

Methods

quot :: Scalar r -> Scalar r -> Scalar r #

rem :: Scalar r -> Scalar r -> Scalar r #

div :: Scalar r -> Scalar r -> Scalar r #

mod :: Scalar r -> Scalar r -> Scalar r #

quotRem :: Scalar r -> Scalar r -> (Scalar r, Scalar r) #

divMod :: Scalar r -> Scalar r -> (Scalar r, Scalar r) #

toInteger :: Scalar r -> Integer #

Num r => Num (Scalar r) Source # 

Methods

(+) :: Scalar r -> Scalar r -> Scalar r #

(-) :: Scalar r -> Scalar r -> Scalar r #

(*) :: Scalar r -> Scalar r -> Scalar r #

negate :: Scalar r -> Scalar r #

abs :: Scalar r -> Scalar r #

signum :: Scalar r -> Scalar r #

fromInteger :: Integer -> Scalar r #

Ord r => Ord (Scalar r) Source # 

Methods

compare :: Scalar r -> Scalar r -> Ordering #

(<) :: Scalar r -> Scalar r -> Bool #

(<=) :: Scalar r -> Scalar r -> Bool #

(>) :: Scalar r -> Scalar r -> Bool #

(>=) :: Scalar r -> Scalar r -> Bool #

max :: Scalar r -> Scalar r -> Scalar r #

min :: Scalar r -> Scalar r -> Scalar r #

Read r => Read (Scalar r) Source # 
Real r => Real (Scalar r) Source # 

Methods

toRational :: Scalar r -> Rational #

Show r => Show (Scalar r) Source # 

Methods

showsPrec :: Int -> Scalar r -> ShowS #

show :: Scalar r -> String #

showList :: [Scalar r] -> ShowS #

Commutative r => Commutative (Scalar r) Source # 
UnitNormalForm r => UnitNormalForm (Scalar r) Source # 

Methods

splitUnit :: Scalar r -> (Scalar r, Scalar r) #

Ring r => Ring (Scalar r) Source # 

Methods

fromInteger :: Integer -> Scalar r #

Rig r => Rig (Scalar r) Source # 

Methods

fromNatural :: Natural -> Scalar r #

DecidableUnits r => DecidableUnits (Scalar r) Source # 

Methods

recipUnit :: Scalar r -> Maybe (Scalar r) #

isUnit :: Scalar r -> Bool #

(^?) :: Integral n => Scalar r -> n -> Maybe (Scalar r) #

DecidableAssociates r => DecidableAssociates (Scalar r) Source # 

Methods

isAssociate :: Scalar r -> Scalar r -> Bool #

Division r => Division (Scalar r) Source # 

Methods

recip :: Scalar r -> Scalar r #

(/) :: Scalar r -> Scalar r -> Scalar r #

(\\) :: Scalar r -> Scalar r -> Scalar r #

(^) :: Integral n => Scalar r -> n -> Scalar r #

Unital r => Unital (Scalar r) Source # 

Methods

one :: Scalar r #

pow :: Scalar r -> Natural -> Scalar r #

productWith :: Foldable f => (a -> Scalar r) -> f a -> Scalar r #

Group r => Group (Scalar r) Source # 

Methods

(-) :: Scalar r -> Scalar r -> Scalar r #

negate :: Scalar r -> Scalar r #

subtract :: Scalar r -> Scalar r -> Scalar r #

times :: Integral n => n -> Scalar r -> Scalar r #

Multiplicative r => Multiplicative (Scalar r) Source # 

Methods

(*) :: Scalar r -> Scalar r -> Scalar r #

pow1p :: Scalar r -> Natural -> Scalar r #

productWith1 :: Foldable1 f => (a -> Scalar r) -> f a -> Scalar r #

Semiring r => Semiring (Scalar r) Source # 
Monoidal r => Monoidal (Scalar r) Source # 

Methods

zero :: Scalar r #

sinnum :: Natural -> Scalar r -> Scalar r #

sumWith :: Foldable f => (a -> Scalar r) -> f a -> Scalar r #

Additive r => Additive (Scalar r) Source # 

Methods

(+) :: Scalar r -> Scalar r -> Scalar r #

sinnum1p :: Natural -> Scalar r -> Scalar r #

sumWith1 :: Foldable1 f => (a -> Scalar r) -> f a -> Scalar r #

Abelian r => Abelian (Scalar r) Source # 
Normed r => Normed (Scalar r) Source # 

Associated Types

type Norm (Scalar r) :: * Source #

Methods

norm :: Scalar r -> Norm (Scalar r) Source #

liftNorm :: Norm (Scalar r) -> Scalar r Source #

LeftModule (Scalar (Fraction Integer)) Algebraic # 
RightModule (Scalar (Fraction Integer)) Algebraic # 
Semiring r => LeftModule (Scalar r) (Scalar r) Source # 

Methods

(.*) :: Scalar r -> Scalar r -> Scalar r #

(DecidableZero r, Semiring r) => LeftModule (Scalar r) (Unipol r) # 

Methods

(.*) :: Scalar r -> Unipol r -> Unipol r #

(DecidableZero r, Semiring r, Multiplicative r) => LeftModule (Scalar r) (Matrix r) # 

Methods

(.*) :: Scalar r -> Matrix r -> Matrix r #

Semiring r => RightModule (Scalar r) (Scalar r) Source # 

Methods

(*.) :: Scalar r -> Scalar r -> Scalar r #

(DecidableZero r, Semiring r) => RightModule (Scalar r) (Unipol r) # 

Methods

(*.) :: Unipol r -> Scalar r -> Unipol r #

(DecidableZero r, Semiring r, Multiplicative r) => RightModule (Scalar r) (Matrix r) # 

Methods

(*.) :: Matrix r -> Scalar r -> Matrix r #

(Wraps vars poly, LeftModule (Scalar r) poly) => LeftModule (Scalar r) (LabPolynomial poly vars) # 

Methods

(.*) :: Scalar r -> LabPolynomial poly vars -> LabPolynomial poly vars #

(Wraps vars poly, RightModule (Scalar r) poly) => RightModule (Scalar r) (LabPolynomial poly vars) # 

Methods

(*.) :: LabPolynomial poly vars -> Scalar r -> LabPolynomial poly vars #

(KnownNat n, IsMonomialOrder n ord, IsPolynomial poly, LeftModule (Scalar r) poly) => LeftModule (Scalar r) (PadPolyL n ord poly) # 

Methods

(.*) :: Scalar r -> PadPolyL n ord poly -> PadPolyL n ord poly #

((~) * r (Coefficient poly), Field (Coefficient poly), IsOrderedPolynomial poly) => LeftModule (Scalar r) (Quotient k poly ideal) # 

Methods

(.*) :: Scalar r -> Quotient k poly ideal -> Quotient k poly ideal #

(KnownNat n, IsMonomialOrder n ord, IsPolynomial poly, RightModule (Scalar r) poly) => RightModule (Scalar r) (PadPolyL n ord poly) # 

Methods

(*.) :: PadPolyL n ord poly -> Scalar r -> PadPolyL n ord poly #

((~) * r (Coefficient poly), IsOrderedPolynomial poly) => RightModule (Scalar r) (Quotient k poly ideal) # 

Methods

(*.) :: Quotient k poly ideal -> Scalar r -> Quotient k poly ideal #

(IsMonomialOrder n order, CoeffRing r, KnownNat n) => LeftModule (Scalar r) (OrderedPolynomial * r order n) # 

Methods

(.*) :: Scalar r -> OrderedPolynomial * r order n -> OrderedPolynomial * r order n #

(IsMonomialOrder n order, CoeffRing r, KnownNat n) => RightModule (Scalar r) (OrderedPolynomial * r order n) # 

Methods

(*.) :: OrderedPolynomial * r order n -> Scalar r -> OrderedPolynomial * r order n #

type Norm (Scalar r) Source # 
type Norm (Scalar r) = Norm r

(.*.) :: Module (Scalar r) m => r -> m -> m infixr 8 Source #