Struggling with a simple exercice

Hi,

I’m trying to prove the following formula (from Leo Dorst’s book) :

(x \rfloor A^{-1}) A = (x \rfloor A^{-1}) \rfloor A

I considered R^4 and used an orthogonal basis, x is a vector and A is a blade (I test all available grades) :

x = x^{1} \boldsymbol{e}_{1} + x^{2} \boldsymbol{e}_{2} + x^{3} \boldsymbol{e}_{3} + x^{4} \boldsymbol{e}_{4}

It works fine for all grades but if grade(A) = 2 :

A = A^{12} \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2} + A^{13} \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{3} + A^{14} \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{4} + A^{23} \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3} + A^{24} \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{4} + A^{34} \boldsymbol{e}_{3}\wedge \boldsymbol{e}_{4}

x \rfloor A^{-1} = \frac{A^{12} x^{2} + A^{13} x^{3} + A^{14} x^{4}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{1} + \frac{- A^{12} x^{1} + A^{23} x^{3} + A^{24} x^{4}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{2} + \frac{- A^{13} x^{1} - A^{23} x^{2} + A^{34} x^{4}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{3} - \frac{A^{14} x^{1} + A^{24} x^{2} + A^{34} x^{3}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{4}

(x \rfloor A^{-1}) \rfloor A = \frac{{\left ( A^{12} \right )}^{2} x^{1} - A^{12} A^{23} x^{3} - A^{12} A^{24} x^{4} + {\left ( A^{13} \right )}^{2} x^{1} + A^{13} A^{23} x^{2} - A^{13} A^{34} x^{4} + {\left ( A^{14} \right )}^{2} x^{1} + A^{14} A^{24} x^{2} + A^{14} A^{34} x^{3}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{1} + \frac{{\left ( A^{12} \right )}^{2} x^{2} + A^{12} A^{13} x^{3} + A^{12} A^{14} x^{4} + A^{13} A^{23} x^{1} + A^{14} A^{24} x^{1} + {\left ( A^{23} \right )}^{2} x^{2} - A^{23} A^{34} x^{4} + {\left ( A^{24} \right )}^{2} x^{2} + A^{24} A^{34} x^{3}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{2} + \frac{A^{12} A^{13} x^{2} - A^{12} A^{23} x^{1} + {\left ( A^{13} \right )}^{2} x^{3} + A^{13} A^{14} x^{4} + A^{14} A^{34} x^{1} + {\left ( A^{23} \right )}^{2} x^{3} + A^{23} A^{24} x^{4} + A^{24} A^{34} x^{2} + {\left ( A^{34} \right )}^{2} x^{3}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{3} + \frac{A^{12} A^{14} x^{2} - A^{12} A^{24} x^{1} + A^{13} A^{14} x^{3} - A^{13} A^{34} x^{1} + {\left ( A^{14} \right )}^{2} x^{4} + A^{23} A^{24} x^{3} - A^{23} A^{34} x^{2} + {\left ( A^{24} \right )}^{2} x^{4} + {\left ( A^{34} \right )}^{2} x^{4}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{4}

(x \rfloor A^{-1}) A =\frac{{\left ( A^{12} \right )}^{2} x^{1} - A^{12} A^{23} x^{3} - A^{12} A^{24} x^{4} + {\left ( A^{13} \right )}^{2} x^{1} + A^{13} A^{23} x^{2} - A^{13} A^{34} x^{4} + {\left ( A^{14} \right )}^{2} x^{1} + A^{14} A^{24} x^{2} + A^{14} A^{34} x^{3}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{1} + \frac{{\left ( A^{12} \right )}^{2} x^{2} + A^{12} A^{13} x^{3} + A^{12} A^{14} x^{4} + A^{13} A^{23} x^{1} + A^{14} A^{24} x^{1} + {\left ( A^{23} \right )}^{2} x^{2} - A^{23} A^{34} x^{4} + {\left ( A^{24} \right )}^{2} x^{2} + A^{24} A^{34} x^{3}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{2} + \frac{A^{12} A^{13} x^{2} - A^{12} A^{23} x^{1} + {\left ( A^{13} \right )}^{2} x^{3} + A^{13} A^{14} x^{4} + A^{14} A^{34} x^{1} + {\left ( A^{23} \right )}^{2} x^{3} + A^{23} A^{24} x^{4} + A^{24} A^{34} x^{2} + {\left ( A^{34} \right )}^{2} x^{3}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{3} + \frac{A^{12} A^{14} x^{2} - A^{12} A^{24} x^{1} + A^{13} A^{14} x^{3} - A^{13} A^{34} x^{1} + {\left ( A^{14} \right )}^{2} x^{4} + A^{23} A^{24} x^{3} - A^{23} A^{34} x^{2} + {\left ( A^{24} \right )}^{2} x^{4} + {\left ( A^{34} \right )}^{2} x^{4}}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{4} + \frac{x^{4} \left(A^{12} A^{34} - A^{13} A^{24} + A^{14} A^{23}\right)}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3} + \frac{x^{3} \left(- A^{12} A^{34} + A^{13} A^{24} - A^{14} A^{23}\right)}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{4} + \frac{x^{2} \left(A^{12} A^{34} - A^{13} A^{24} + A^{14} A^{23}\right)}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{3}\wedge \boldsymbol{e}_{4} + \frac{x^{1} \left(- A^{12} A^{34} + A^{13} A^{24} - A^{14} A^{23}\right)}{{\left ( A^{12} \right )}^{2} + {\left ( A^{13} \right )}^{2} + {\left ( A^{14} \right )}^{2} + {\left ( A^{23} \right )}^{2} + {\left ( A^{24} \right )}^{2} + {\left ( A^{34} \right )}^{2}} \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3}\wedge \boldsymbol{e}_{4}

I can’t explain why I am unable to replace the geometric product with the left contraction. It seems the trivector sum isn’t the commutator product.

I’m sure I miss something. Maybe there is a bug in galgebra. Any idea ?

Regards

Sylvain

1 Like

It seems to work for non-decomposable bivectors in 3D, it works in Grassmann.jl for ℝ^3 at least:

julia> using Reduce, Grassmann; basis"4"
(⟨++++⟩, v, v₁, v₂, v₃, v₄, v₁₂, v₁₃, v₁₄, v₂₃, v₂₄, v₃₄, v₁₂₃, v₁₂₄, v₁₃₄, v₂₃₄, v₁₂₃₄)

julia> x = :x1*v1 + :x2*v2 + :x3*v3
x1v₁ + x2v₂ + x3v₃ + 0.0v₄

julia> A = :A12*v12 + :A13*v13 + :A23*v23
A12v₁₂ + a13v₁₃ + 0.0v₁₄ + a23v₂₃ + 0.0v₂₄ + 0.0v₃₄

julia> ans1 = (x ⨼ inv(A)) ⨼ A
0.0 + (((a12 * x1 - a23 * x3) * a12 + (a13 * x1 + a23 * x2) * a13) / (a13 ^ 2 + a23 ^ 2 + a12 ^ 2))v₁ + (((a12 * x2 + a13 * x3) * a12 + (a13 * x1 + a23 * x2) * a23) / (a13 ^ 2 + a23 ^ 2 + a12 ^ 2))v₂ + (((a12 * x2 + a13 * x3) * a13 - (a12 * x1 - a23 * x3) * a23) / (a13 ^ 2 + a23 ^ 2 + a12 ^ 2))v₃

julia> ans2 = (x ⨼ inv(A)) * A
0.0 + (((a12 * x1 - a23 * x3) * a12 + (a13 * x1 + a23 * x2) * a13) / (a13 ^ 2 + a23 ^ 2 + a12 ^ 2))v₁ + (((a12 * x2 + a13 * x3) * a12 + (a13 * x1 + a23 * x2) * a23) / (a13 ^ 2 + a23 ^ 2 + a12 ^ 2))v₂ + (((a12 * x2 + a13 * x3) * a13 - (a12 * x1 - a23 * x3) * a23) / (a13 ^ 2 + a23 ^ 2 + a12 ^ 2))v₃

julia> ans1 == ans2
true

This is on v0.3.1 of Grassmann which is about to be officially registered tomorrow monring.

However, your A is not a blade… blades are decomposable and your A is not decomposable, so it is incorrect to claim for A to be a blade. I am under the impression that it works for 3D but not for 4D when a non-decomposable bivector is used.

julia> using Reduce, Grassmann; basis"4"
(⟨++++⟩, v, v₁, v₂, v₃, v₄, v₁₂, v₁₃, v₁₄, v₂₃, v₂₄, v₃₄, v₁₂₃, v₁₂₄, v₁₃₄, v₂₃₄, v₁₂₃₄)

julia> x = :x1*v1 + :x2*v2 + :x3*v3 + :x4*v4
x1v₁ + x2v₂ + x3v₃ + x4v₄

julia> A = :A12*v12 + :A13*v13 + :A14*v14 + :A23*v23 + :A24*v24 + :A34*v34
A12v₁₂ + a13v₁₃ + a14v₁₄ + a23v₂₃ + a24v₂₄ + a34v₃₄

julia> ans1 = (x ⨼ inv(A)) ⨼ A;

julia> ans2 = (x ⨼ inv(A)) * A;

julia> ans2-ans1
0.0 + (((a12 * a34 - (a13 * a24 - a14 * a23)) * x4) / (a24 ^ 2 + a34 ^ 2 + a23 ^ 2 + a14 ^ 2 + a13 ^ 2 + a12 ^ 2))v₁₂₃ + ((((a13 * a24 - a14 * a23) - a12 * a34) * x3) / (a24 ^ 2 + a34 ^ 2 + a23 ^ 2 + a14 ^ 2 + a13 ^ 2 + a12 ^ 2))v₁₂₄ + (((a12 * a34 - (a13 * a24 - a14 * a23)) * x2) / (a24 ^ 2 + a34 ^ 2 + a23 ^ 2 + a14 ^ 2 + a13 ^ 2 + a12 ^ 2))v₁₃₄ + ((((a13 * a24 - a14 * a23) - a12 * a34) * x1) / (a24 ^ 2 + a34 ^ 2 + a23 ^ 2 + a14 ^ 2 + a13 ^ 2 + a12 ^ 2))v₂₃₄

Here is my example for 4D and we can see that there is indeed an extra trivector component.

Hi meuns !

Your A is not a blade :wink:

E.

2 Likes

Hi,

It seems I can decompose A like this :

a = a_{1} \boldsymbol{e}_{1} + a_{2} \boldsymbol{e}_{2} + a_{3} \boldsymbol{e}_{3} + a_{4} \boldsymbol{e}_{4}
b = b_{1} \boldsymbol{e}_{1} + b_{2} \boldsymbol{e}_{2} + b_{3} \boldsymbol{e}_{3} + b_{4} \boldsymbol{e}_{4}
A = a \wedge b = \left ( a_{1} b_{2} - a_{2} b_{1}\right ) \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{2} + \left ( a_{1} b_{3} - a_{3} b_{1}\right ) \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{3} + \left ( a_{1} b_{4} - a_{4} b_{1}\right ) \boldsymbol{e}_{1}\wedge \boldsymbol{e}_{4} + \left ( a_{2} b_{3} - a_{3} b_{2}\right ) \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{3} + \left ( a_{2} b_{4} - a_{4} b_{2}\right ) \boldsymbol{e}_{2}\wedge \boldsymbol{e}_{4} + \left ( a_{3} b_{4} - a_{4} b_{3}\right ) \boldsymbol{e}_{3}\wedge \boldsymbol{e}_{4}

So I have A^{12} = (a_1 b_2 - a_2 b_1) , A^{13} = (a_1 b_3 - a_3 b_1) ,…

I will try to create blades explicitly from \wedge .

Thank you !

There is not always a solution when I try to solve A^{12} = (a_1 b_2 - a_2 b_1) , … and I can’t expect the library doing this hypothesis for me… :smiley:

Regards

1 Like

I made the same mistake mixing up blades and k-vectors when I started.
Most books seem to go the path of building up GA from k-vectors to blades and then multivectors. I think this is because most people are familiar with k-vectors of grade 1. But really I think blades should be given greater weight at the start.

1 Like

@Orbots totally agree with you, blades are more fundamental and should go first, most products in geometric algebra can be easier understood by first studying blades and then extending over multivectors

Here’s a slightly different proof of (x \rfloor A^{-1})A = (x \rfloor A^{-1}) \rfloor A where A is any blade.

Let \operatorname{span} A = \{𝒗 \mid 𝒗 ∧ A = 0\} represent the vector subspace ‘spanned’ by the blade A. Define \operatorname{span} (A + B) = \operatorname{span} A \cup \operatorname{span} B so that \operatorname{span} is defined on general multivectors.

Lemma. \operatorname{span} (A \rfloor B) ⊆ \operatorname{span} B for multivectors A,B.
Proof. Decompose A = \sum_a A_a and B = \sum_b B_b into blades. Pick an orthogonal basis 𝒗_i such that B_b = λ 𝒗_1 \cdots 𝒗_p. If A_a is a q-blade, then A_a \rfloor B_b = λ' 𝒗_{i_1} \cdots 𝒗_{i_{p - q}} (λ' a scalar, possibly zero) where \{i_1, …, i_{p - q}\} ⊆ \{1, …, p\}, so \operatorname{span} A_a \rfloor B_b ⊆ \operatorname{span} B_b. Hence, \operatorname{span} A \rfloor B = \operatorname{span} \sum_{ab} A_a \rfloor B_b = \bigcup_{ab} \operatorname{span} A_a \rfloor B_b ⊆ \bigcup_b \operatorname{span} B_b = \operatorname{span} \sum_b B_b = \operatorname{span} B.

Lemma. \operatorname{span} A ⊆ \operatorname{span} B implies AB = A\rfloor B for a p-blade B.
Proof. Decompose A = \sum_a A_a into blades, so that \operatorname{span} A_q ⊆ \operatorname{span} B. Each direction in the q-blade A_a is contained in B, and so the product A_qB contains q ‘contractions’ resulting in a (p - q)-blade A_q \rfloor B. By linearity, A \rfloor B.

So, for (x \rfloor A^{-1})A, first note that \operatorname{span} x \rfloor A^{-1} ⊆ \operatorname{span} A^{-1} by the first lemma. Assuming A is a blade, then \operatorname{span} A^{-1} = \operatorname{span} \frac{A}{A^2} = \operatorname{span} A. Thus, \operatorname{span} x \rfloor A^{-1} ⊆ \operatorname{span} A and, by the second lemma, (x \rfloor A^{-1})A = (x \rfloor A^{-1}) \rfloor A.