Returns the various inner and outer products of two onionic vectors.
x %<*>% y
x %>*<% y="" x="" %<.="">% y
x %>.%>*>
Onionic vector
Onionic vector
This page documents an attempt at a consistent notation for onionic
products. The product used by Ops.octonion()
and
Ops.quaternion()
(viz
“*
”) is sometimes known as the “Grassman
product”. There is another product known as the Euclidean product
defined by \(E(p,q)=p'q\) where \(x'\) is the conjugate of \(x\).
Each of these products separates into an “even” and an
“odd” part, here denoted by functions g.even()
and
g.odd()
for the Grassman product, and e.even()
and
e.odd()
for the Euclidean product. These are defined as
follows:
g.even(x,y)=(xy+yx)/2
g.odd(x,y)=(xy-yx)/2
e.even(x,y)=(x'y+y'x)/2
e.odd(x,y)=(x'y-y'x)/2
These functions have an equivalent binary operator.
The Grassman operators have a “*
”; they are
“%<*>%
” for the even Grassman product and
“%>*<%
” for the odd product.
The Euclidean operators have a “.
”; they are
“%<.>%
” for the even Euclidean product and
“%>.<%
” for the odd product.
There is no binary operator for the ordinary Euclidean product (it is
not defined because there is no natural, consistent notation available;
and it seems to be rarely needed in practice). Use Conj(x)*y
.