| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Algebra.Ring.Polynomial.Labeled
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 #
Bundled Patterns
| 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
Equations
| 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 #