prods {onion} | R Documentation

## 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 %>.<% y
    ## S3 method for class 'onion'
    g.even(x,y)
    ## S3 method for class 'onion'
    g.odd(x,y)
    ## S3 method for class 'onion'
    e.even(x,y)
    ## S3 method for class 'onion'
    e.odd(x,y)

### 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`.

### Author(s)

Robin K. S. Hankin

### Examples

    Oj %<.>% Oall

[Package onion version 1.2-7 Index]