Convolution #
This file defines several versions of the discrete convolution of functions.
Main declarations #
ddconv: Discrete convolution of two functionsdddconv: Discrete difference convolution of two functionsiterConv: Iterated convolution of a function
Notation #
f ∗ᵈ g: Convolutionf ○ᵈ g: Difference convolutionf ∗ᵈ^ n: Iterated convolution
Notes #
Some lemmas could technically be generalised to a non-commutative semiring domain. Doesn't seem very
useful given that the codomain in applications is either ℝ, ℝ≥0 or ℂ.
Similarly we could drop the commutativity assumption on the domain, but this is unneeded at this point in time.
TODO #
Multiplicativise? Probably ugly and not very useful.
Trivial character #
The trivial character.
Instances For
@[simp]
theorem
trivChar_apply
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[CommSemiring R]
(a : G)
:
@[simp]
theorem
conj_trivChar
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[CommSemiring R]
[StarRing R]
:
@[simp]
theorem
conjneg_trivChar
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[CommSemiring R]
[StarRing R]
:
@[simp]
theorem
isSelfAdjoint_trivChar
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[CommSemiring R]
[StarRing R]
:
Convolution #
def
ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g : G → R)
:
G → R
Convolution
Instances For
Equations
- «term_∗ᵈ_» = Lean.ParserDescr.trailingNode `«term_∗ᵈ_» 71 71 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ∗ᵈ ") (Lean.ParserDescr.cat `term 72))
Instances For
theorem
ddconv_apply
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g : G → R)
(a : G)
:
@[simp]
theorem
ddconv_zero
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
:
@[simp]
theorem
zero_ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
:
theorem
ddconv_add
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g h : G → R)
:
theorem
add_ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g h : G → R)
:
theorem
smul_ddconv
{G : Type u_1}
{H : Type u_2}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[DistribSMul H R]
[IsScalarTower H R R]
(c : H)
(f g : G → R)
:
theorem
ddconv_smul
{G : Type u_1}
{H : Type u_2}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[DistribSMul H R]
[SMulCommClass H R R]
(c : H)
(f g : G → R)
:
theorem
smul_ddconv_assoc
{G : Type u_1}
{H : Type u_2}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[DistribSMul H R]
[IsScalarTower H R R]
(c : H)
(f g : G → R)
:
Alias of smul_ddconv.
theorem
smul_ddconv_left_comm
{G : Type u_1}
{H : Type u_2}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[DistribSMul H R]
[SMulCommClass H R R]
(c : H)
(f g : G → R)
:
Alias of ddconv_smul.
@[simp]
theorem
translate_ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(a : G)
(f g : G → R)
:
@[simp]
theorem
ddconv_translate
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(a : G)
(f g : G → R)
:
theorem
ddconv_comm
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g : G → R)
:
theorem
mul_smul_ddconv_comm
{G : Type u_1}
{H : Type u_2}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[Monoid H]
[DistribMulAction H R]
[IsScalarTower H R R]
[SMulCommClass H R R]
(c d : H)
(f g : G → R)
:
theorem
ddconv_assoc
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g h : G → R)
:
theorem
ddconv_right_comm
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g h : G → R)
:
theorem
ddconv_left_comm
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g h : G → R)
:
theorem
ddconv_rotate
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g h : G → R)
:
theorem
ddconv_rotate'
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g h : G → R)
:
theorem
ddconv_ddconv_ddconv_comm
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g h i : G → R)
:
theorem
map_ddconv
{G : Type u_1}
{R : Type u_3}
{S : Type u_4}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[CommSemiring S]
(m : R →+* S)
(f g : G → R)
(a : G)
:
theorem
comp_ddconv
{G : Type u_1}
{R : Type u_3}
{S : Type u_4}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[CommSemiring S]
(m : R →+* S)
(f g : G → R)
:
theorem
ddconv_eq_sum_sub
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g : G → R)
(a : G)
:
theorem
ddconv_eq_sum_add
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g : G → R)
(a : G)
:
theorem
ddconv_eq_sum_sub'
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g : G → R)
(a : G)
:
theorem
ddconv_eq_sum_add'
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g : G → R)
(a : G)
:
theorem
ddconv_apply_add
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g : G → R)
(a b : G)
:
theorem
sum_ddconv_mul
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g h : G → R)
:
theorem
sum_ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g : G → R)
:
@[simp]
theorem
ddconv_const
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
(b : R)
:
@[simp]
theorem
const_ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(b : R)
(f : G → R)
:
@[simp]
theorem
ddconv_trivChar
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
:
@[simp]
theorem
trivChar_ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
:
theorem
support_ddconv_subset
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g : G → R)
:
Difference convolution #
def
dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
:
G → R
Difference convolution
Instances For
Equations
- «term_○ᵈ_» = Lean.ParserDescr.trailingNode `«term_○ᵈ_» 71 71 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ○ᵈ ") (Lean.ParserDescr.cat `term 72))
Instances For
theorem
dddconv_apply
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
(a : G)
:
@[simp]
theorem
dddconv_zero
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f : G → R)
:
@[simp]
theorem
zero_dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f : G → R)
:
@[simp]
theorem
dddconv_fun_zero
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f : G → R)
:
@[simp]
theorem
fun_zero_dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f : G → R)
:
theorem
dddconv_add
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g h : G → R)
:
theorem
add_dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g h : G → R)
:
theorem
smul_dddconv
{G : Type u_1}
{H : Type u_2}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
[DistribSMul H R]
[IsScalarTower H R R]
(c : H)
(f g : G → R)
:
theorem
dddconv_smul
{G : Type u_1}
{H : Type u_2}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
[Star H]
[DistribSMul H R]
[SMulCommClass H R R]
[StarModule H R]
(c : H)
(f g : G → R)
:
@[simp]
theorem
translate_dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(a : G)
(f g : G → R)
:
@[simp]
theorem
dddconv_translate
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(a : G)
(f g : G → R)
:
@[simp]
theorem
ddconv_conjneg
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
:
@[simp]
theorem
dddconv_conjneg
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
:
@[simp]
theorem
conj_ddconv_apply
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
(a : G)
:
@[simp]
theorem
conj_dddconv_apply
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
(a : G)
:
@[simp]
theorem
conj_ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
:
@[simp]
theorem
conj_dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
:
theorem
IsSelfAdjoint.ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
{f g : G → R}
[StarRing R]
(hf : IsSelfAdjoint f)
(hg : IsSelfAdjoint g)
:
IsSelfAdjoint (f ∗ᵈ g)
theorem
IsSelfAdjoint.dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
{f g : G → R}
[StarRing R]
(hf : IsSelfAdjoint f)
(hg : IsSelfAdjoint g)
:
IsSelfAdjoint (f ○ᵈ g)
@[simp]
theorem
conjneg_ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
:
@[simp]
theorem
conjneg_dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
:
theorem
smul_dddconv_assoc
{G : Type u_1}
{H : Type u_2}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
[DistribSMul H R]
[IsScalarTower H R R]
(c : H)
(f g : G → R)
:
Alias of smul_dddconv.
theorem
smul_dddconv_left_comm
{G : Type u_1}
{H : Type u_2}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
[Star H]
[DistribSMul H R]
[SMulCommClass H R R]
[StarModule H R]
(c : H)
(f g : G → R)
:
Alias of dddconv_smul.
theorem
dddconv_right_comm
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g h : G → R)
:
theorem
ddconv_dddconv_assoc
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g h : G → R)
:
theorem
ddconv_dddconv_left_comm
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g h : G → R)
:
theorem
ddconv_dddconv_right_comm
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g h : G → R)
:
theorem
ddconv_dddconv_ddconv_comm
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g h i : G → R)
:
theorem
dddconv_ddconv_dddconv_comm
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g h i : G → R)
:
theorem
dddconv_dddconv_dddconv_comm
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g h i : G → R)
:
theorem
map_dddconv
{G : Type u_1}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
(f g : G → NNReal)
(a : G)
:
theorem
comp_dddconv
{G : Type u_1}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
(f g : G → NNReal)
:
theorem
dddconv_eq_sum_sub
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
(a : G)
:
theorem
dddconv_eq_sum_add
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
(a : G)
:
theorem
dddconv_eq_sum_sub'
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
(a : G)
:
theorem
dddconv_eq_sum_add'
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
(a : G)
:
theorem
dddconv_apply_neg
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
(a : G)
:
theorem
dddconv_apply_sub
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
(a b : G)
:
theorem
sum_dddconv_mul
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g h : G → R)
:
theorem
sum_dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
:
@[simp]
theorem
dddconv_const
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f : G → R)
(b : R)
:
@[simp]
theorem
const_dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(b : R)
(f : G → R)
:
@[simp]
theorem
dddconv_trivChar
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f : G → R)
:
@[simp]
theorem
trivChar_dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f : G → R)
:
theorem
support_dddconv_subset
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
:
@[simp]
theorem
ddconv_neg
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommRing R]
(f g : G → R)
:
@[simp]
theorem
neg_ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommRing R]
(f g : G → R)
:
theorem
ddconv_sub
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommRing R]
(f g h : G → R)
:
theorem
sub_ddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommRing R]
(f g h : G → R)
:
@[simp]
theorem
dddconv_neg
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommRing R]
[StarRing R]
(f g : G → R)
:
@[simp]
theorem
neg_dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommRing R]
[StarRing R]
(f g : G → R)
:
theorem
dddconv_sub
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommRing R]
[StarRing R]
(f g h : G → R)
:
theorem
sub_dddconv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommRing R]
[StarRing R]
(f g h : G → R)
:
@[simp]
theorem
Complex.ofReal_ddconv
{G : Type u_1}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
(f g : G → ℝ)
(a : G)
:
@[simp]
theorem
Complex.ofReal_dddconv
{G : Type u_1}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
(f g : G → ℝ)
(a : G)
:
@[simp]
theorem
NNReal.coe_ddconv
{G : Type u_1}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
(f g : G → NNReal)
(a : G)
:
@[simp]
theorem
NNReal.coe_dddconv
{G : Type u_1}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
(f g : G → NNReal)
(a : G)
:
Iterated convolution #
Equations
- «term_∗ᵈ^_» = Lean.ParserDescr.trailingNode `«term_∗ᵈ^_» 78 78 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ∗ᵈ^ ") (Lean.ParserDescr.cat `term 79))
Instances For
@[simp]
theorem
iterConv_zero
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
:
@[simp]
theorem
iterConv_one
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
:
theorem
iterConv_succ
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
(n : ℕ)
:
theorem
iterConv_succ'
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
(n : ℕ)
:
theorem
iterConv_add
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
(m n : ℕ)
:
theorem
iterConv_mul
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
(m n : ℕ)
:
theorem
iterConv_mul'
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
(m n : ℕ)
:
theorem
iterConv_ddconv_distrib
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f g : G → R)
(n : ℕ)
:
@[simp]
theorem
zero_iterConv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
{n : ℕ}
:
@[simp]
theorem
smul_iterConv
{G : Type u_1}
{H : Type u_2}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[Monoid H]
[DistribMulAction H R]
[IsScalarTower H R R]
[SMulCommClass H R R]
(c : H)
(f : G → R)
(n : ℕ)
:
theorem
comp_iterConv
{G : Type u_1}
{R : Type u_3}
{S : Type u_4}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[CommSemiring S]
(m : R →+* S)
(f : G → R)
(n : ℕ)
:
theorem
map_iterConv
{G : Type u_1}
{R : Type u_3}
{S : Type u_4}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[CommSemiring S]
(m : R →+* S)
(f : G → R)
(a : G)
(n : ℕ)
:
theorem
sum_iterConv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
(n : ℕ)
:
@[simp]
theorem
iterConv_trivChar
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(n : ℕ)
:
theorem
support_iterConv_subset
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
(f : G → R)
(n : ℕ)
:
theorem
iterConv_dddconv_distrib
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f g : G → R)
(n : ℕ)
:
@[simp]
theorem
conj_iterConv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f : G → R)
(n : ℕ)
:
@[simp]
theorem
conj_iterConv_apply
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f : G → R)
(n : ℕ)
(a : G)
:
theorem
IsSelfAdjoint.iterConv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
{f : G → R}
[StarRing R]
(hf : IsSelfAdjoint f)
(n : ℕ)
:
IsSelfAdjoint (f ∗ᵈ^ n)
@[simp]
theorem
conjneg_iterConv
{G : Type u_1}
{R : Type u_3}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
[CommSemiring R]
[StarRing R]
(f : G → R)
(n : ℕ)
:
@[simp]
theorem
NNReal.ofReal_iterConv
{G : Type u_1}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
(f : G → NNReal)
(n : ℕ)
(a : G)
:
@[simp]
theorem
Complex.ofReal_iterConv
{G : Type u_1}
[DecidableEq G]
[AddCommGroup G]
[Fintype G]
(f : G → ℝ)
(n : ℕ)
(a : G)
: