Complex number as a vector space over ℝ #
This file contains the following instances:
- Any
•-structure (has_smul,mul_action,distrib_mul_action,module,algebra) onℝimbues a corresponding structure onℂ. This includes the statement thatℂis anℝalgebra. - any complex vector space is a real vector space;
- any finite dimensional complex vector space is a finite dimensional real vector space;
- the space of
ℝ-linear maps from a real vector space to a complex vector space is a complex vector space.
It also defines bundled versions of four standard maps (respectively, the real part, the imaginary
part, the embedding of ℝ in ℂ, and the complex conjugate):
complex.re_lm(ℝ-linear map);complex.im_lm(ℝ-linear map);complex.of_real_am(ℝ-algebra (homo)morphism);complex.conj_ae(ℝ-algebra equivalence).
It also provides a universal property of the complex numbers complex.lift, which constructs a
ℂ →ₐ[ℝ] A into any ℝ-algebra A given a square root of -1.
Equations
- complex.mul_action = {to_has_smul := complex.has_smul mul_action.to_has_smul, one_smul := _, mul_smul := _}
Equations
Equations
Equations
- complex.algebra = {to_has_smul := {smul := has_smul.smul complex.has_smul}, to_ring_hom := {to_fun := (complex.of_real.comp (algebra_map R ℝ)).to_fun, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}, commutes' := _, smul_def' := _}
We need this lemma since complex.coe_algebra_map diverts the simp-normal form away from
alg_hom.commutes.
ℂ has a basis over ℝ given by 1 and I.
Equations
- complex.basis_one_I = basis.of_equiv_fun {to_fun := λ (z : ℂ), ![z.re, z.im], map_add' := complex.basis_one_I._proof_1, map_smul' := complex.basis_one_I._proof_2, inv_fun := λ (c : fin 2 → ℝ), ↑(c 0) + c 1 • complex.I, left_inv := complex.basis_one_I._proof_3, right_inv := complex.basis_one_I._proof_4}
fact version of the dimension of ℂ over ℝ, locally useful in the definition of the
circle.
Equations
ℝ-algebra morphism version of the canonical embedding of ℝ in ℂ.
Equations
ℝ-algebra isomorphism version of the complex conjugation function from ℂ to ℂ
Equations
- complex.conj_ae = {to_fun := (star_ring_end ℂ).to_fun, inv_fun := ⇑(star_ring_end ℂ), left_inv := complex.conj_ae._proof_1, right_inv := complex.conj_ae._proof_2, map_mul' := complex.conj_ae._proof_3, map_add' := complex.conj_ae._proof_4, commutes' := complex.conj_of_real}
The matrix representation of conj_ae.
The identity and the complex conjugation are the only two ℝ-algebra homomorphisms of ℂ.
There is an alg_hom from ℂ to any ℝ-algebra with an element that squares to -1.
See complex.lift for this as an equiv.
Equations
- complex.lift_aux I' hf = alg_hom.of_linear_map ((algebra.of_id ℝ A).to_linear_map.comp complex.re_lm + (linear_map.to_span_singleton ℝ A I').comp complex.im_lm) _ _
A universal property of the complex numbers, providing a unique ℂ →ₐ[ℝ] A for every element
of A which squares to -1.
This can be used to embed the complex numbers in the quaternions.
This isomorphism is named to match the very similar zsqrtd.lift.