User talk:Matrixbud

Inconsistencies and Omissions in Hodge Star definition
Thank you, Quondum, for answering my query and explaining how to make a post on Wikipedia. On your talk page where you answered me, there was a dialog box stating that to answer you I should post on my talk page. I didn't have one. Following your advice I am creating a new section and thus creating my talk page apparently at the same time. I still am a little confused about how all this works so I hope you and others who may be interested will be patient with me. For others who may be reading this, I'll start fresh.

I have several issues relating to the formal definition of Hodge star for k-vectors on web page Hodge star operator https://en.wikipedia.org/wiki/Hodge_star_operator

(1) The definition given on the web page does not directly follow from the Riesz representation theorem argument provided in the next section of the article. Rather, the following definition is what follows from the Riesz argument:

Formal definition for k-vectors: The Hodge star operator on a vector space V with an inner product is a linear operator on the exterior algebra of V, mapping k-vectors to (n − k)-vectors where n = dim V, for 0 ≤ k ≤ n. It has the following property, which defines it completely: given a k-vectors β and an (n – k) vector γ, β ∧ γ = ⟨γ, *β⟩ ω where ⟨•, •⟩ denotes the inner product on (n – k)-vectors and ω is the preferred unit n-vector.[1]:15

This definition is not completely equivalent to the one currently on the web page.

(2) The following simple example shows that the two definitions sometimes differ by a minus sign. (Sometimes they are in agreement.)

Example: Let n = 2, k = 2, ω = e1 e2, β = e1 e2, and γ = 1. Then *β is a scalar, and the new definition yields: e1 e2 = β ∧ γ = ⟨γ, *β⟩ ω = ⟨1, *β⟩ e1 e2  ⇒   *β = 1

Let α = e1 e2. Then the current definition yields: (*β) e1 e2 = α ∧ *β = ⟨α, β⟩ ω = ⟨e1 e2, e1 e2⟩ ω = -ω = - e1 e2 ⇒ *β = -1

So, they are different.

(3) Implicit definitions such as these two are valuable because they have a solid mathematical foundation. But, there are explicit definitions that are easier to implement and that I believe should be included on this web page. For general n and ω = e1 ... en, *β = ω-1 β is equivalent to the definition above and *β = β ω is equivalent to the defintion currently on the page.

(4) As Quodum pointed out to me, there are actually two more equivalent definitions: *β = β ω-1  and    *β = ω β Presumably these correspond to 2 additional implicit definitions. Perhaps there should be some reference to this.

Actually, Quodum suggested the four versions: *β = ω β,  *β = -ω β,  *β = β ω, and *β = -β ω but I have 2 problems with this. First, if one has a proposition involving both an n-dimensional vector space and a k-dimensional subspace then it is not necessarily true that both have Hodge stars using the same ± sign. Using ω-1 would insure a consistent tie to the same implicit definition. Second, I don't believe that, say, *β = - ω β can be tied to an implicit definition whereas *β = ω-1 β can.

Finally, I do not feel qualified to make changes to this web page as I was using it to teach myself about the Hodge dual. So I am hoping to reach some of the authors. I do not have access currently to additional references.

matrixbud (talk) 20:58, 5 September 2019 (UTC)


 * – The box essentially says that the conversation should continue where it started. I just happened to find this here, but it is pretty unlikely that anyone else with interest in the topic will happen across this.  For the time being, I am watching all three places (your user talk page, my user talk page, and the article talk page, so it does not really matter.  Further, if you include the text  in the same edit that has your signature pretty much anywhere, I will be alerted, e.g. it would have helped in your initial edit here.  But for now, one of our user pages is probably best, so let's keep it here.  I'll respond to technical detail probably tomorrow.  In the interim, you may wish to review Help:Contents.  —Quondum 02:31, 7 September 2019 (UTC)


 * Okay, back again. On reading what you have written here, it seems to me that we should make sure that we agree on the underlying ideas.  I'll assume that you are using the notation of geometric algebra with the obvious definition of the geometric product and hence the inverse, and that V is a Euclidean vector space and the basis {e1, ..., en} for V is orthonormal. I am being a little pedantic because the next point suggests a misconception somewhere.
 * You say "if one has a proposition involving both an n-dimensional vector space and a k-dimensional subspace then it is not necessarily true that both have Hodge stars", but the premise does not match the context. There is no k-dimensional space involved.  The space of k-vectors is an nCk-dimensional space.  Finally, as an example in terms of the basis with dim V = 2, we have the following four versions of the Hodge star:
 * ∗β = e1e2β
 * ∗β = −e1e2β
 * ∗β = βe1e2
 * ∗β = −βe1e2
 * This extends to any number of dimensions of V: just use the ordered product of all elements of the basis. Note that two options arise from the form of the "implicit" definition, and a doubling arises from the freedom of choice of the preferred ω (or orientation on V).  —Quondum 14:28, 7 September 2019 (UTC)


 * I have been reviewing a reference . The expression they have is ∗β = $~ β_{♭}$ ⌋ ω (valid for an arbitrary β ∈ ⋀(V)), quite different from what we have considered.  They have no construction corresponding to the ⟨θ,∗λ⟩ under , so I would be inclined to go the other way from what you have suggested, i.e. to stay with the construction α ∧ ∗β = ⟨α, β⟩ω and to consider the "explanation" as suspect. The other three candidates like I was suggesting would be obtained from using ∗α ∧ β = ⟨α, β⟩ω instead and changing the orientation.  There is a closely related different (but more convenient) duality operator in geometric algebra that corresponds to multiplication on the right (or left, if preferred) by ω.  —Quondum 18:29, 8 September 2019 (UTC)


 * Using any of the definitions of Hodge dual except this one, when you apply the Hodge twice you get back ±β. With the Vaz/da Rocha definition, for n = 2, if β = a e1+ b e2, then ∗(∗β) = ±-b e1 ∓ a e2 (depending on positive definiteness). I always envioned a Hodge where Hodge2 would return ±β. matrixbud (talk) 18:38, 12 September 2019 (UTC)


 * , I just found the Wiki tutorial on how to edit a talk page, so maybe I'll get this right. I didn't know how to respond to your talk page or even to your response on my talk page, but I guess I do now.matrixbud (talk) 19:31, 10 September 2019 (UTC)


 * I believe we are "on the same page". My last paragraph was a hasty add-on because I wasn't sure who, if anyone, would see my talk page and I wanted to acknowledge your guidance. (More later.) matrixbud (talk) 19:31, 10 September 2019 (UTC)


 * Cool. Just a few minor suggestions about talk pages: The additional formatting around "" was intended to act as quotes (changing the display font).  By inserting what I did rather than only the part you see displayed (as I have changed your edit for illustration), it suppresses the notification.  And it is usual to indent your reply one level beyond what you are replying to.  All new stuff to learn!  For more on talk page editing, see Help:Talk pages.  I suggest the article's talk page as the best place to get attention about the topic (though only a few dozen people are watching it, most of whom are likely inactive).  Though note that it is generally bad form to edit another's posts as I did to yours: I am being presumptuous for the purposes of illustration (see ).  Welcome to Wikipedia and I hope you enjoy the experience – you'll get the hang of it.  —Quondum 21:56, 10 September 2019 (UTC)


 * , I had been working on and off on my response throughout the day but somehow when your response just came in I lost all of it. I'll give it another go tomorrow. But I have a quick question for you. I know that overscript ~ means Reverse but I am unfamiliar with the ♭ subscript. I have written myself a geometric algebra Mathematica package and I would like to quickly check on the properties of this new defintion. I might be able to give us some insights about it. matrixbud (talk) 01:12, 11 September 2019 (UTC)


 * Or did I accidentally insert that subscript into your response? I don't remember it being there originally. matrixbud (talk) 01:15, 11 September 2019 (UTC)


 * I added it (you can see who made what edits by using the "View history" tab and clicking on an edit's "prev" link – note the edit summary, which is useful to make the history list more meaningful and thus putting something meaningful here is strongly encouraged). The "♭" is the musical isomorphism that maps all vectors in a multivector to covectors through the bilinear form, in this case simultaneously for every vector in an exterior product. It is often written as a superscript instead.  The quoted text is careful to keep k-vectors and k-covectors (or k-forms) distinct (unlike typical geometric algebra texts, which seem to identify them, making the musical isomorphisms redundant).  Similarly, the left contraction is defined by the quoted text in a more specialized way, it seems as the action of a j-form on a k-vector (I don't have the text with me now to check).  In the usual geometric algebra where the dual space is identified with the vector space, this mean that you can simply use the expression without the musical isomorphism.  If you wanted to implement the text's approach, I expect that you would have to re-implement your algebra (!), not necessary for checking identities.  BTW, when there is an edit conflict, usually you can recover your text by navigating back a page in your browser, copy what you edited, then paste it into a fresh edit.  —Quondum 13:16, 11 September 2019 (UTC)
 * An afterthought: you should find that the two expressions βω and $~ β$ ⌋ ω are the same up to a grade-dependent sign. The former is algebraically more convenient, and is used for the same purpose.  —Quondum 15:36, 11 September 2019 (UTC)


 * My GA package doesn't currently include covector operations so I can only investigate ∗β = $~ β$ ⌋ ω. I agree that it is obvious that the expressions βω and $~ β$ ⌋ ω only differ by the sign difference (if any) between $~ ''β$ and β. (I cannot figure out how to denote the overstrike consistently.) Left contraction and geometric product are the same operation if ω is the right-hand multivector. I can't find a compelling argument for using Reverse. I presume the article had some motivation. matrixbud (talk) 01:42, 12 September 2019 (UTC)


 * Now, let me see if I can better explain my objection to the expressions -βω. The Riesz representation theorem gives validity to the specific implicit expression β ∧ γ = ⟨γ, *β⟩ ω, and I have a proof that that expression is equivalent to the explicit expression *β = ω-1 β. Presuming that the Riesz representation theorem or some other theorem gives justification to the implicit expression α ∧ *β = ⟨α, β⟩ ω, I can show it is equivalent to the explicit expression  *β = β ω. For some dimensions n ω-1= +1 and for others it equals -1. Were someone to do, for example, an induction argument involving some property of the Hodge dual, we would need a consistent definition to apply to both n=k and n=k+1. ω-1 is dimension-sensitive but -ω is not. That is why I have a hard time imagining there could be an implicit equation to justify *β = - β ω. So, if there are 4 non-equivalent Hodge dual definitions I would think that two of them involve  ω-1. (I hope this makes some sense.) matrixbud (talk) 01:42, 12 September 2019 (UTC)


 * Neither ∗β = −βω nor ∗β = +βω is correct for all grades of β. This is why the source had the contraction and reversal.  The sign is a function of both n = dim V and the grade k of β.  Your statement "For some dimensions n ω-1= +1 and for others it equals -1" confuses me.  I presume you mean a comma (as opposed to multiplication) after "n", but then we would say ω−2 = ±1.  And it depends on only n only in the positive-definite case, so keep that in mind for the general case.
 * Secondly, we do not need a justification other than that it is useful to define something. The definition using α ∧ ∗β = ⟨α, β⟩ω seems to be standard, so if we defined it nonequivalently, it would not be the Hodge star operator.  —Quondum 15:20, 12 September 2019 (UTC)


 * Yes, I should have said for some dimensions n, ω-1=+ω and for other n, ω-1=-ω. See my comment above about a strange property of the "Reverse" definition. matrixbud (talk) 18:38, 12 September 2019 (UTC)


 * No reasonable contender as the Hodge star would rotate the space (which the expression a e1 + b e2 → ±b e1 ∓ a e2 is). However, this is not what a contractions and reversions do in ∗∗β = ~(~β ⌋ ω) ⌋ ω, so this bears rechecking.  —Quondum 23:32, 12 September 2019 (UTC)


 * OK, I'll check my programming tomorrow. It shouldn't matter that I'm omitting the ♭ part of the equation? (I'm teaching myself GA just using the internet, not collaborating with anyone, and I have just touched on covectors so I may not yet understand this equation.) I have to admit that I've not had occasion to do any contraction calculations so I could have a programming error. Should be easy enough to check by hand as well. matrixbud (talk) 23:46, 12 September 2019 (UTC)


 * No, the ♭ should not affect this. Obviously you might want to check some straightforward identities such as 1 ⌋ (e1 ∧ e2) = e1 ∧ e2, e1 ⌋ (e1 ∧ e2) = e2 and e2 ⌋ (e1 ∧ e2) = −e1 (I certainly hope I have not messed these up).  —Quondum 00:54, 13 September 2019 (UTC)


 * My programming was fine. I messed up as a user (of my own package!). I typed in one line incorrectly. The "reverse" definition works just as well (and just as badly) as all the others. Also, entering your 3 equations into my package shows your calculations are correct. matrixbud (talk) 23:59, 13 September 2019 (UTC)


 * It occurs to me. The problem with all of these definitions is that they involve ω. Regardless of the quadratic form chosen, there are always values of n such that ω2 = -1, meaning there is not a 2-way corespondence between a multivector and its dual. Why isn't Hodge dual defined incredibly simply like this: α ei 1 ei 2 ... ei k = α ei k+1 ... ei n where i1 < ... < ik and  ik+1 < ... < in, and where {ij : j = 1, ..., n} = {1, 2, ..., n}. Then b = ∗∗b regardless of n and there is a 1-1 correspondence between b and ∗b. Each is the Hodge of the other. Oh! I see. This is not a basis-free definition. Surely there is a basis-free way to make this definition in terms of the orientation of the vector and its hodge convector. matrixbud (talk) 23:59, 13 September 2019 (UTC)

Defining the Hodge star so that it is an involution might have been helpful, if it was possible, provided one did not need to consider the cases where the signature of the bilinear form is negative. (Asking for it to be an involution is a bit like asking for $i$$2$ = +1.) As it is, it has been defined in a positive-definite-centric manner, such that the bilinear from is positive-definite on all grades, with no algebraic benefit: one has to track signs by grade, resulting in awkward factors such as the grade-dependent (−1)$k(n − k)$s in expressions for the double Hodge dual. Geometric algebra can track the sign changes for all grades through the reversion and contraction expression given by Vaz/da Rocha, but I'm pretty convinced you will not find anything better than what the GA community seems to prefer: defining a dual (not called the Hodge star) through the expression ∗β ≝ βω for all grades. At least then you do not need to track grades, and we have the algebraically simple result ∗∗β = sβ, where s = ω$2$. —Quondum 15:10, 14 September 2019 (UTC)

Thinking further, one would have to figure out what the more "rigorous" approach would be using the bialgebra (separating vectors and covectors) to ensure consistency. I suspect, but have not checked, that this would correspond to ∗β = β$♭$ ⌋ ω, i.e. with the reversion omitted. Also this suggests that for the true Hodge dual in GA (no separate covectors) we might have that ∗∗β = ~(~β ω) ω = ~ω β ω. All stuff to be checked algebraically. It is a while since I was doing this stuff in Mathematica. Maybe I should be firing up my Mathematica again rather than guessing. —Quondum 17:29, 14 September 2019 (UTC)


 * I agree with all of your thoughts (except that I haven't learned the ♭ stuff yet). I have been trying to make time to investigate a more "rigorous", possibly bialgebra, approach even though I don't yet possess the deep understanding of GA that I would like to obtain. But this is how I learn new things. In case you are interested, my Mathematica package uses standard subscript notation and has a palette to quickly enter typical multivector expressions (in subscript form for readability). That by itself might save you time and effort even if you don't use the rest of the package. If you do use the functions in the package, it lets you change quadratic form on-the-fly to immediately recheck and compare computations, even allowing for two versions of space-time (+--- and -+++). If some answer didn't "feel" right you could then check just that computation by other means. Feel free to use or not-use it. It can be downloaded at my github page: https://github.com/matrixbud?tab=repositories   matrixbud (talk) 15:35, 15 September 2019 (UTC)


 * You say in GeomAl2019Aug src.nb: "The Hodge Dual (or Hodge Star) of a clif, clif2, of grade p <= n is the unique clif, ∗clif2, that satisfies clif1 ∧ ∗clif2 = (clif1 ⋅ clif2) ∘ i for every clif1 of same grade as clif2". If you adopt the incorrect definition and call it the "Hodge star", you will be contributing to general confusion.  What you have seems to be called the Clifford dual.  See .  For the Hodge star, I expect that the expression would be clif1 ∧ ∗clif2 = (~clif1 ⋅ clif2) ∘ i.  The discrepancy may arise from an incorrect assumption that the "inner product" ⟨A, B⟩ of the definition is the ("fat") dot product A ⋅ B of GA.  I have a bucketload of other comments, but I had best restrict myself ;-)  —Quondum 18:55, 15 September 2019 (UTC)

Quondum, thank you for your comments. I would be happy to change the terminology to "Clifford dual", and make (lots of) other changes. I could now quickly add other definitions such as what you provide for "Hodge star" if that is desirable. I created this as a quick and dirty set of Mathematica functions only for my own use that would compute geometric, wedge, and dot products. I hadn't programmed in any language for over a decade and never in Mathematica, so I used this as an opportunity to both explore GA and teach myself Mathematica. After a while I decided to make a web page in case this might save time for others who do GA calculations. I definitely want to use correct terminology and I certainly don't want to contribute to the general confusion. I value any and all comments you would make. When I decided to add "Hodge" to the package, I had not yet heard the term Hodge star, I didn't know a forumla for the dual, and moreover I had a difficult time finding ANY explicit formula I could use. That's when I discovered the Wikipedia web page. I eventually created both a dot (or interior) product and a scalar product and then the contractions (though I don't use the standard symbols; it is VERY difficult in Mathematica to use the correct symbols as they don't possess the proper attributes needed for an operator.) I wan't intending to disrupt your time; I was hoping that the ability to generate readable GA equations would help save you time. Using the package, you can create and test all kinds of definitions quickly, and unlike normal Mathematica procedures that use Subscript[e,k] and quckly become very unreadable, I spent a LOT of time working out the Mathematica kinks on how to manipulate expressions using standard ek notation. matrixbud (talk) 14:56, 16 September 2019 (UTC)


 * Mathematica is a bit of a dog. I have grumbled at Wolfram about it, but they do not seem to be receptive.  As a language, I would never seriously consider it, though I suspect I'd find the alternatives as poorly thought out.  I am in much the same position as you are, having taught myself both GA and Mathematica in my spare time: these have always been a hobby activity.  I built a small Clifford algebra package, as well as an exterior algebra package, and most of a tensor algebra package (and hitting my head against the wall debugging it).  I learned quite a bit about output formatting, translating input, and designing internal representations.
 * I'll create a subpage of your user talk page, if you like, for more focused comments. This thread is a bit unwieldy already.  —Quondum 17:41, 16 September 2019 (UTC)


 * Thank you. A subpage or some other location sounds appropriate. I think my package is well-debugged but I wasn't always sure what names were appropriate for some of my functions, not just Hodge. Especially I created the name "slice" for a homogeneous multi vector (in general, a sum of blades) and also the name "atom", with examples of what I mean in the palette. Also, I was not actually expecting many people to read the source code; I tried hard to document my intentions in the other files. The source code documentation was for me so I could put it down and pick it up years later. Still, I wouldn't mind getting my terminology correct in the source code as well. Also, feel free to make changes and/or additions and repost on my web page. I wouldn't mind letting this grow as an open source package although I have made no effort along those lines. matrixbud (talk) 21:17, 16 September 2019 (UTC)


 * I have added User talk:Matrixbud/GA Mathematica package discussion. Feel free to hack anything I've put in or add constraints of your liking: this is your space.  —Quondum 01:17, 17 September 2019 (UTC)