onion (version 1.2-7)

prods: Various products of two onionic vectors

Description

Returns the various inner and outer products of two onionic vectors.

Usage

x %<*>% y
x %>*<% y="" x="" %<.="">% y
x %>.

Arguments

x

Onionic vector

y

Onionic vector

Details

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.

Examples

Run this code
# NOT RUN {
Oj %<.>% Oall
# }

Run the code above in your browser using DataLab