Skew Monoid Algebras #
Given a monoid G and a ring k, the skew monoid algebra of G over k is the set of finitely
supported functions f : G → k for which addition is defined pointwise and multiplication of two
elements f and g is given by the finitely supported function whose value at a is the sum of
f x * (x • g y) over all pairs x, y such that x * y = a, where • denotes the action of G
on k. When this action is trivial, this product is the usual convolution product.
In fact the construction of the skew monoid algebra makes sense when G is not even a monoid, but
merely a magma, i.e., when G carries a multiplication which is not required to satisfy any
conditions at all, and k is a not-necessarily-associative semiring. In this case the construction
yields a not-necessarily-unital, not-necessarily-associative algebra.
Main Definitions #
SkewMonoidAlgebra k G: the skew monoid algebra ofGoverkis the type of finite formalk-linear combinations of terms ofG, endowed with a skewed convolution product.
TODO #
- Define the skew convolution product.
- Provide algebraic instances.
The skew monoid algebra of G over k is the type of finite formal k-linear
combinations of terms of G, endowed with a skewed convolution product.
- ofFinsupp :: (
The natural map from
SkewMonoidAlgebra k GtoG →₀ k.- )
Instances For
Equations
Equations
- SkewMonoidAlgebra.instSMulZeroClass = { smul := fun (s : S) (f : SkewMonoidAlgebra k G) => SkewMonoidAlgebra.smul✝ s f, smul_zero := ⋯ }
A more convenient spelling of SkewMonoidAlgebra.ofFinsupp.injEq in terms of Iff.
Equations
- SkewMonoidAlgebra.instInhabited = { default := 0 }
Equations
- One or more equations did not get rendered due to their size.
For f : SkewMonoidAlgebra k G, f.support is the set of all a ∈ G such that
f a ≠ 0.
Instances For
coeff f a (often denoted f.coeff a) is the coefficient of a in f.
Instances For
Alias of SkewMonoidAlgebra.notMem_support_iff.
single a b is the finitely supported function with value b at a and zero otherwise.
Equations
- SkewMonoidAlgebra.single a b = { toFinsupp := Finsupp.single a b }
Instances For
Group isomorphism between SkewMonoidAlgebra k G and G →₀ k. This is an
implementation detail, but it can be useful to transfer results from Finsupp
to SkewMonoidAlgebra.
Equations
- SkewMonoidAlgebra.toFinsuppAddEquiv = { toFun := SkewMonoidAlgebra.toFinsupp, invFun := SkewMonoidAlgebra.ofFinsupp, left_inv := ⋯, right_inv := ⋯, map_add' := ⋯ }
Instances For
The unit of the multiplication is single 1 1, i.e. the function that is 1 at 1 and
zero elsewhere.
Equations
- SkewMonoidAlgebra.instOne = { one := SkewMonoidAlgebra.single 1 1 }
sum f g is the sum of g a (f.coeff a) over the support of f.
Instances For
Unfolded version of sum_def in terms of Finset.sum.
Variant where the image of g is a SkewMonoidAlgebra.
Taking the sum under h is an additive homomorphism, if h is an additive homomorphism.
This is a more specific version of SkewMonoidAlgebra.sum_add_index with simpler hypotheses.
Taking the sum under h is an additive homomorphism, if h is an additive homomorphism.
This is a more general version of SkewMonoidAlgebra.sum_add_index';
the latter has simpler hypotheses.
Analogue of Finsupp.sum_ite_eq' for SkewMonoidAlgebra.