Commit 2024-08-15 08:47 58d407ba
View on Github →feat: add the WithCStarModule
type synonym (#15763)
It is often the case that we want to construct a CStarModule
instance on a type that is already
endowed with a norm, and it has a different norm which makes it into a CStarModule
. For this
reason, we create a type synonym WithCStarModule
which is endowed with the requisite
CStarModule
instance. We also introduce the scoped notation C⋆ᵐᵒᵈ
for this type synonym.
The common use cases are, when A
is a C⋆-algebra:
A
itself overA
E × F
whereE
andF
areCStarModule
s overA
Π i, E i
whereE i
is aCStarModule
overA
andi : ι
withι
aFintype
E
whereE
is anInnerProductSpace
overℂ
TheWithCStarModule
synonym is of vital importance, especially because theCStarModule
class marksA
as anoutParam
. Indeed, we want to inferA
from the type ofE
, but, as with modules, a typeE
can be aCStarModule
over different C⋆-algebras. For example, note that ifA
is a C⋆-algebra, then so isA × A
, and therefore we may consider bothA
andA × A
asCStarModule
s over themselves, respectively. However, we may also considerA × A
as aCStarModule
overA
. However, by utilizing the type synonym, these actually correspond to different types, namely:A
as aCStarModule
overA
corresponds toC⋆ᵐᵒᵈ A
A × A
as aCStarModule
overA × A
corresponds toC⋆ᵐᵒᵈ (A × A)
A × A
as aCStarModule
overA
corresponds toC⋆ᵐᵒᵈ (C⋆ᵐᵒᵈ A × C⋆ᵐᵒᵈ A)