prods: Various products of two onions

prodsR Documentation

Various products of two onions

Description

Returns various inner and outer products of two onionic vectors.

Usage

x %<*>% y
x %>*<% y
x %<.>% y
x %>.<% y
x %.% y
onion_g_even(x,y)
onion_g_odd (x,y)
onion_e_even(x,y)
onion_e_odd (x,y)
dotprod(x,y)

Arguments

x, y

onions

Details

This page documents an attempt at a consistent notation for onionic products. The default product for onions (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.

Function dotprod() returns the Euclidean even product of two onionic vectors. That is, if x and y are eight-element vectors of the components of two onions, return sum(x*y).

Note that the returned value is a numeric vector (compare %<.>%, e.even(), which return onionic vectors with zero imaginary part).

There is no binary operator for the ordinary Euclidean product (it seems to be rarely needed in practice). For Conj(x)*x, Norm(x) is much more efficient and accurate.

Function prod() is documented at Summary.Rd.

Note

Frankly if you find yourself using these operators you might be better off using the clifford package, which has an extensive and consistent suite of product operators.

Author(s)

Robin K. S. Hankin

Examples

Oj %<.>% Oall

RobinHankin/onion documentation built on April 20, 2024, 2:05 p.m.