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 ofG
overk
is 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 G
toG →₀ k
.- )
Instances For
Equations
- SkewMonoidAlgebra.instZero = { zero := { toFinsupp := 0 } }
Equations
- SkewMonoidAlgebra.instAdd = { add := SkewMonoidAlgebra.add✝ }
Equations
A more convenient spelling of SkewMonoidAlgebra.ofFinsupp.injEq
in terms of Iff
.
Equations
- SkewMonoidAlgebra.instInhabited = { default := 0 }
Equations
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
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
.