Skip to content

Commit d0d4fd8

Browse files
authored
Complex normed vector spaces (#1901)
1 parent 389fb2a commit d0d4fd8

4 files changed

Lines changed: 511 additions & 0 deletions

File tree

src/linear-algebra.lagda.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ open import linear-algebra.matrices public
5959
open import linear-algebra.matrices-on-rings public
6060
open import linear-algebra.multiplication-matrices public
6161
open import linear-algebra.negation-linear-maps-left-modules-rings public
62+
open import linear-algebra.normed-complex-vector-spaces public
6263
open import linear-algebra.normed-real-vector-spaces public
6364
open import linear-algebra.orthogonality-bilinear-forms-real-vector-spaces public
6465
open import linear-algebra.orthogonality-real-inner-product-spaces public
@@ -73,6 +74,7 @@ open import linear-algebra.scalar-multiplication-linear-maps-vector-spaces publi
7374
open import linear-algebra.scalar-multiplication-matrices public
7475
open import linear-algebra.scalar-multiplication-tuples public
7576
open import linear-algebra.scalar-multiplication-tuples-on-rings public
77+
open import linear-algebra.seminormed-complex-vector-spaces public
7678
open import linear-algebra.seminormed-real-vector-spaces public
7779
open import linear-algebra.sesquilinear-forms-complex-vector-spaces public
7880
open import linear-algebra.standard-euclidean-inner-product-spaces public

src/linear-algebra/complex-vector-spaces.lagda.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@ open import complex-numbers.raising-universe-levels-complex-numbers
1515
1616
open import foundation.identity-types
1717
open import foundation.sets
18+
open import foundation.subtypes
1819
open import foundation.universe-levels
1920
2021
open import group-theory.abelian-groups
2122
2223
open import linear-algebra.real-vector-spaces
2324
open import linear-algebra.vector-spaces
2425
26+
open import real-numbers.dedekind-real-numbers
2527
open import real-numbers.field-of-real-numbers
2628
```
2729

@@ -64,12 +66,19 @@ module _
6466
zero-ℂ-Vector-Space : type-ℂ-Vector-Space
6567
zero-ℂ-Vector-Space = zero-Ab ab-ℂ-Vector-Space
6668
69+
is-zero-prop-ℂ-Vector-Space : subtype l2 type-ℂ-Vector-Space
70+
is-zero-prop-ℂ-Vector-Space = is-zero-prop-Ab ab-ℂ-Vector-Space
71+
6772
neg-ℂ-Vector-Space : type-ℂ-Vector-Space → type-ℂ-Vector-Space
6873
neg-ℂ-Vector-Space = neg-Ab ab-ℂ-Vector-Space
6974
7075
mul-ℂ-Vector-Space : ℂ l1 → type-ℂ-Vector-Space → type-ℂ-Vector-Space
7176
mul-ℂ-Vector-Space = mul-Vector-Space (heyting-field-ℂ l1) V
7277
78+
mul-real-ℂ-Vector-Space : ℝ l1 → type-ℂ-Vector-Space → type-ℂ-Vector-Space
79+
mul-real-ℂ-Vector-Space x =
80+
mul-ℂ-Vector-Space (complex-ℝ x)
81+
7382
associative-add-ℂ-Vector-Space :
7483
(v w x : type-ℂ-Vector-Space) →
7584
add-ℂ-Vector-Space (add-ℂ-Vector-Space v w) x =
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
# Normed complex vector spaces
2+
3+
```agda
4+
{-# OPTIONS --lossy-unification #-}
5+
6+
module linear-algebra.normed-complex-vector-spaces where
7+
```
8+
9+
<details><summary>Imports</summary>
10+
11+
```agda
12+
open import complex-numbers.complex-numbers
13+
open import complex-numbers.magnitude-complex-numbers
14+
15+
open import foundation.dependent-pair-types
16+
open import foundation.identity-types
17+
open import foundation.logical-equivalences
18+
open import foundation.propositions
19+
open import foundation.subtypes
20+
open import foundation.transport-along-identifications
21+
open import foundation.universe-levels
22+
23+
open import group-theory.abelian-groups
24+
25+
open import linear-algebra.complex-vector-spaces
26+
open import linear-algebra.normed-real-vector-spaces
27+
open import linear-algebra.seminormed-complex-vector-spaces
28+
29+
open import metric-spaces.equality-of-metric-spaces
30+
open import metric-spaces.metric-spaces
31+
32+
open import real-numbers.dedekind-real-numbers
33+
open import real-numbers.inequality-real-numbers
34+
open import real-numbers.rational-real-numbers
35+
open import real-numbers.zero-real-numbers
36+
```
37+
38+
</details>
39+
40+
## Idea
41+
42+
A
43+
{{#concept "norm" WDID=Q956437 WD="norm" Disambiguation="on a complex vector space" Agda=norm-ℂ-Vector-Space}}
44+
on a [complex vector space](linear-algebra.complex-vector-spaces.md) `V` is a
45+
[seminorm](linear-algebra.seminormed-complex-vector-spaces.md) `p` on `V` that
46+
is **extensional**: if `p(v) = 0`, then `v` is the zero vector.
47+
48+
A complex vector space equipped with such a norm is called a
49+
{{#concept "normed vector space" Disambiguation="normed complex vector space" WDID=Q726210 WD="normed vector space" Agda=Normed-ℂ-Vector-Space}}.
50+
51+
A norm on a complex vector space induces a
52+
[located](metric-spaces.located-metric-spaces.md)
53+
[metric space](metric-spaces.metric-spaces.md) on the vector space, defined by
54+
the neighborhood relation that `v` and `w` are in an `ε`-neighborhood of each
55+
other if `p(v - w) ≤ ε`.
56+
57+
## Definition
58+
59+
```agda
60+
module _
61+
{l1 l2 : Level} (V : ℂ-Vector-Space l1 l2) (p : seminorm-ℂ-Vector-Space V)
62+
where
63+
64+
is-norm-prop-seminorm-ℂ-Vector-Space : Prop (l1 ⊔ l2)
65+
is-norm-prop-seminorm-ℂ-Vector-Space =
66+
Π-Prop
67+
( type-ℂ-Vector-Space V)
68+
( λ v →
69+
hom-Prop
70+
( is-zero-prop-ℝ (pr1 p v))
71+
( is-zero-prop-ℂ-Vector-Space V v))
72+
73+
is-norm-seminorm-ℂ-Vector-Space : UU (l1 ⊔ l2)
74+
is-norm-seminorm-ℂ-Vector-Space =
75+
type-Prop is-norm-prop-seminorm-ℂ-Vector-Space
76+
77+
norm-ℂ-Vector-Space : {l1 l2 : Level} → ℂ-Vector-Space l1 l2 → UU (lsuc l1 ⊔ l2)
78+
norm-ℂ-Vector-Space V = type-subtype (is-norm-prop-seminorm-ℂ-Vector-Space V)
79+
80+
Normed-ℂ-Vector-Space : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2)
81+
Normed-ℂ-Vector-Space l1 l2 = Σ (ℂ-Vector-Space l1 l2) norm-ℂ-Vector-Space
82+
83+
module _
84+
{l1 l2 : Level}
85+
(V : Normed-ℂ-Vector-Space l1 l2)
86+
where
87+
88+
vector-space-Normed-ℂ-Vector-Space : ℂ-Vector-Space l1 l2
89+
vector-space-Normed-ℂ-Vector-Space = pr1 V
90+
91+
norm-Normed-ℂ-Vector-Space :
92+
norm-ℂ-Vector-Space vector-space-Normed-ℂ-Vector-Space
93+
norm-Normed-ℂ-Vector-Space = pr2 V
94+
95+
seminorm-Normed-ℂ-Vector-Space :
96+
seminorm-ℂ-Vector-Space vector-space-Normed-ℂ-Vector-Space
97+
seminorm-Normed-ℂ-Vector-Space = pr1 norm-Normed-ℂ-Vector-Space
98+
99+
seminormed-vector-space-Normed-ℂ-Vector-Space :
100+
Seminormed-ℂ-Vector-Space l1 l2
101+
seminormed-vector-space-Normed-ℂ-Vector-Space =
102+
( vector-space-Normed-ℂ-Vector-Space , seminorm-Normed-ℂ-Vector-Space)
103+
104+
type-Normed-ℂ-Vector-Space : UU l2
105+
type-Normed-ℂ-Vector-Space =
106+
type-ℂ-Vector-Space vector-space-Normed-ℂ-Vector-Space
107+
108+
ab-Normed-ℂ-Vector-Space : Ab l2
109+
ab-Normed-ℂ-Vector-Space =
110+
ab-ℂ-Vector-Space vector-space-Normed-ℂ-Vector-Space
111+
112+
zero-Normed-ℂ-Vector-Space : type-Normed-ℂ-Vector-Space
113+
zero-Normed-ℂ-Vector-Space = zero-Ab ab-Normed-ℂ-Vector-Space
114+
115+
add-Normed-ℂ-Vector-Space :
116+
type-Normed-ℂ-Vector-Space → type-Normed-ℂ-Vector-Space →
117+
type-Normed-ℂ-Vector-Space
118+
add-Normed-ℂ-Vector-Space = add-Ab ab-Normed-ℂ-Vector-Space
119+
120+
neg-Normed-ℂ-Vector-Space :
121+
type-Normed-ℂ-Vector-Space → type-Normed-ℂ-Vector-Space
122+
neg-Normed-ℂ-Vector-Space = neg-Ab ab-Normed-ℂ-Vector-Space
123+
124+
diff-Normed-ℂ-Vector-Space :
125+
type-Normed-ℂ-Vector-Space → type-Normed-ℂ-Vector-Space →
126+
type-Normed-ℂ-Vector-Space
127+
diff-Normed-ℂ-Vector-Space = right-subtraction-Ab ab-Normed-ℂ-Vector-Space
128+
129+
mul-Normed-ℂ-Vector-Space :
130+
ℂ l1 → type-Normed-ℂ-Vector-Space → type-Normed-ℂ-Vector-Space
131+
mul-Normed-ℂ-Vector-Space =
132+
mul-ℂ-Vector-Space vector-space-Normed-ℂ-Vector-Space
133+
```
134+
135+
## Properties
136+
137+
### A normed complex vector space is a normed real vector space
138+
139+
```agda
140+
normed-real-vector-space-Normed-ℂ-Vector-Space :
141+
{l1 l2 : Level} → Normed-ℂ-Vector-Space l1 l2 → Normed-ℝ-Vector-Space l1 l2
142+
normed-real-vector-space-Normed-ℂ-Vector-Space (V , (p , S) , H) =
143+
( real-vector-space-ℂ-Vector-Space V ,
144+
( p , is-seminorm-real-ℂ-Vector-Space V p S) ,
145+
H)
146+
```
147+
148+
### The metric space of a normed complex vector space
149+
150+
```agda
151+
metric-space-Normed-ℂ-Vector-Space :
152+
{l1 l2 : Level} → Normed-ℂ-Vector-Space l1 l2 → Metric-Space l2 l1
153+
metric-space-Normed-ℂ-Vector-Space V =
154+
metric-space-Normed-ℝ-Vector-Space
155+
( normed-real-vector-space-Normed-ℂ-Vector-Space V)
156+
```

0 commit comments

Comments
 (0)