mathlib3 documentation

lean-ga / geometric_algebra.nursery.chisolm

@[class]
structure geometric_algebra (G₀ : Type u_1) [field G₀] (G₁ : Type u_2) [add_comm_group G₁] [module G₀ G₁] (G : Type u_3) [ring G] [algebra G₀ G] :
Type (max u_2 u_3)
Instances of this typeclass
Instances of other typeclasses for geometric_algebra
  • geometric_algebra.has_sizeof_inst
inductive geometric_algebra.blade {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] :
Instances for geometric_algebra.blade
@[protected, instance]
def geometric_algebra.blade.g0_coe {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] :
Equations
@[protected, instance]
def geometric_algebra.blade.g1_coe {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] :
Equations
@[protected, instance]
def geometric_algebra.blade.has_zero {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {n : } :
Equations
@[protected, instance]
def geometric_algebra.blade.r0_has_one {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] :
Equations
def geometric_algebra.blade.r0_add {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] (a b : geometric_algebra.blade 0) :
Equations
@[protected, instance]
def geometric_algebra.blade.r0_has_add {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] :
Equations
def geometric_algebra.blade.r1_add {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] (a b : geometric_algebra.blade 1) :
Equations
@[protected, instance]
def geometric_algebra.blade.r1_has_add {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] :
Equations
inductive geometric_algebra.hom_mv {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] :
Instances for geometric_algebra.hom_mv
@[protected, instance]
def geometric_algebra.hom_mv.has_g0_coe {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] :
Equations
@[protected, instance]
def geometric_algebra.hom_mv.has_g1_coe {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] :
Equations
@[protected, instance]
def geometric_algebra.hom_mv.has_zero {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {n : } :
Equations
@[protected, instance]
def geometric_algebra.hom_mv.r0_has_one {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] :
Equations
@[protected, instance]
def geometric_algebra.hom_mv.has_add {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {n : } :
Equations
@[protected, instance]
def geometric_algebra.mv.mv_has_zero {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {n : } :
Equations
@[protected, instance]
def geometric_algebra.mv.mv_has_one {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {n : } :
Equations
@[protected, instance]
def geometric_algebra.mv.has_g0_coe_n {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {n : } :
Equations
@[protected, instance]
def geometric_algebra.mv.has_g1_coe_n {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {n : } :
Equations
@[protected, instance]
def geometric_algebra.mv.has_add {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {n : } :
Equations
def geometric_algebra.fᵥ {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] :
G₁ →+ G
Equations
@[reducible]
def geometric_algebra.fₛ {G₀ : Type u} [field G₀] {G : Type u} [ring G] [algebra G₀ G] :
G₀ →+* G
def geometric_algebra.prod_vec {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (a b : G₁) :
G
Equations
def geometric_algebra.square_vec {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (a : G₁) :
G
Equations
def geometric_algebra.sym_prod_vec {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (a b : G₁) :
G
Equations
def geometric_algebra.is_orthogonal {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (a b : G₁) :
Prop
Equations
theorem geometric_algebra.zero_is_orthogonal {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (a : G₁) :
@[reducible]
def geometric_algebra.pairwise_ortho_vector {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (r : ) :

a list of r orthogonal vectors, which may be non-unique

def geometric_algebra.is_rblade {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (r : ) (b : G) :
Prop

r-blades

Equations
theorem geometric_algebra.Bᵣ.all_G₀_is_rblade0 {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (k : G₀) :
theorem geometric_algebra.Bᵣ.all_G₁_is_rblade1 {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (a : G₁) :
@[protected, instance]
def geometric_algebra.Bᵣ.has_coe_from_G₀ {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] :
Equations
@[protected, instance]
def geometric_algebra.Bᵣ.has_coe_from_G₁ {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] :
Equations
@[simp]
theorem geometric_algebra.Bᵣ.coe_is_rblade {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] {r : } (b : (geometric_algebra.Bᵣ r)) :
theorem geometric_algebra.Bᵣ.smul_mem {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] {r : } {b : G} {k : G₀} (hb : geometric_algebra.is_rblade r b) :
@[protected, instance]
def geometric_algebra.Bᵣ.mul_action {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (r : ) :
Equations
@[protected, instance]
def geometric_algebra.Bᵣ.has_neg {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (r : ) :
Equations
def geometric_algebra.Gᵣ {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (r : ) :

r-vectors

Equations
Instances for geometric_algebra.Gᵣ
theorem geometric_algebra.Gᵣ.smul_mem {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] {r : } {v : G} {k : G₀} (hv : v geometric_algebra.Gᵣ r) :
@[protected, instance]
def geometric_algebra.Gᵣ.has_scalar {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (r : ) :
Equations
def geometric_algebra.Mᵣ {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (r : ) :

multi-vectors of at most grade r

Equations
@[reducible]
def geometric_algebra.is_scalar {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] :
G Prop
theorem geometric_algebra.vec_sym_prod_scalar {G₀ : Type u} [field G₀] {G₁ : Type u} [add_comm_group G₁] [module G₀ G₁] {G : Type u} [ring G] [algebra G₀ G] [geometric_algebra G₀ G₁ G] (a b : G₁) :

Symmetrised product of two vectors must be a scalar