Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class UniqueList xs => IsUniqueList (xs :: [Symbol])
- data LabPolynomial poly (vars :: [Symbol]) where
- pattern LabelPolynomial :: Wraps vars poly => Wraps vars poly => poly -> LabPolynomial poly vars
- type family LabPolynomial' r ord vars where ...
- type LabUnipol r sym = LabPolynomial (Unipol r) '[sym]
- type Wraps vars poly = (IsUniqueList vars, Arity poly ~ Length vars)
- canonicalMap :: forall xs ys poly poly'. (SingI xs, SingI ys, IsSubsetOf xs ys, Wraps xs poly, Wraps ys poly', IsPolynomial poly, IsPolynomial poly', Coefficient poly ~ Coefficient poly') => LabPolynomial poly xs -> LabPolynomial poly' ys
- canonicalMap' :: (SingI xs, SingI ys, IsSubsetOf xs ys, Wraps xs poly, Wraps ys poly', IsPolynomial poly, IsPolynomial poly', Coefficient poly ~ Coefficient poly') => proxy poly' -> proxy' ys -> LabPolynomial poly xs -> LabPolynomial poly' ys
- renameVars :: (SingI ys, SingI xs, Length xs ~ Length ys, IsPolynomial poly) => LabPolynomial poly xs -> LabPolynomial poly ys
- renameVars' :: (SingI ys, SingI xs, Length xs ~ Length ys, IsPolynomial poly) => proxy ys -> LabPolynomial poly xs -> LabPolynomial poly ys
- class All ((FlipSym0 @@ ElemSym0) @@ ys) xs ~ 'True => IsSubsetOf (xs :: [a]) (ys :: [a])
Documentation
class UniqueList xs => IsUniqueList (xs :: [Symbol]) Source #
Instances
UniqueList xs => IsUniqueList xs Source # | |
Defined in Algebra.Ring.Polynomial.Labeled |
data LabPolynomial poly (vars :: [Symbol]) where Source #
pattern LabelPolynomial :: Wraps vars poly => Wraps vars poly => poly -> LabPolynomial poly vars |
Instances
type family LabPolynomial' r ord vars where ... Source #
Convenient type-synonym for
wrapping LabPlynomial
and OrderedPolynomial
.Unipol
LabPolynomial' r ord '[x] = LabPolynomial (Unipol r) '[x] | |
LabPolynomial' r ord vars = LabPolynomial (OrderedPolynomial r ord (Length vars)) vars |
type LabUnipol r sym = LabPolynomial (Unipol r) '[sym] Source #
Convenient type-synonym for
wrapping univariate polynomial LabPlynomial
.Unipol
type Wraps vars poly = (IsUniqueList vars, Arity poly ~ Length vars) Source #
canonicalMap :: forall xs ys poly poly'. (SingI xs, SingI ys, IsSubsetOf xs ys, Wraps xs poly, Wraps ys poly', IsPolynomial poly, IsPolynomial poly', Coefficient poly ~ Coefficient poly') => LabPolynomial poly xs -> LabPolynomial poly' ys Source #
canonicalMap' :: (SingI xs, SingI ys, IsSubsetOf xs ys, Wraps xs poly, Wraps ys poly', IsPolynomial poly, IsPolynomial poly', Coefficient poly ~ Coefficient poly') => proxy poly' -> proxy' ys -> LabPolynomial poly xs -> LabPolynomial poly' ys Source #
renameVars :: (SingI ys, SingI xs, Length xs ~ Length ys, IsPolynomial poly) => LabPolynomial poly xs -> LabPolynomial poly ys Source #
renameVars' :: (SingI ys, SingI xs, Length xs ~ Length ys, IsPolynomial poly) => proxy ys -> LabPolynomial poly xs -> LabPolynomial poly ys Source #
class All ((FlipSym0 @@ ElemSym0) @@ ys) xs ~ 'True => IsSubsetOf (xs :: [a]) (ys :: [a]) Source #