Description Details Author(s) References Examples

A Jordan algebra is an algebraic object originally designed to study observables in quantum mechanics. Jordan algebras are commutative but non-associative; they satisfy the Jordan identity. The package follows the ideas and notation of K. McCrimmon (2004, ISBN:0-387-95447-3) "A Taste of Jordan Algebras".

A Jordan algebra is a non-associative algebra over the reals with a multiplication that satisfies the following identities:

\mjsdeqnxy=yx

\mjsdeqn(xy)(xx) = x(y(xx))

(the second identity is known as the Jordan identity). In literature
one usually indicates multiplication by juxtaposition but one
sometimes sees \mjeqnx\circ yx o y. Package idiom is to use an
asterisk, as in `x*y`

. There are five types of Jordan algebras:

Real symmetric matrices, class

`real_symmetric_matrix`

, abbreviated in the package to`rsm`

Complex Hermitian matrices, class

`complex_herm_matrix`

, abbreviated to`chm`

Quaternionic Hermitian matrices, class

`quaternion_herm_matrix`

, abbreviated to`qhm`

Albert algebras, the space of \mjeqn3\times 33*3 octonionic matrices, class

`albert`

Spin factors, class

`spin`

(of course, the first two are special cases of the next). The
`jordan`

package provides functionality to manipulate jordan
objects using natural R idiom.

Objects of all these classes are stored in dataframe (technically, a matrix) form with columns being elements of the jordan algebra.

The first four classes are matrix-based in the sense that the
algebraic objects are symmetric or Hermitian matrices (the `S4`

class is “`jordan_matrix`

”). The fifth class, spin
factors, is not matrix based.

One can extract the symmetric or Hermitian matrix from objects of
class `jordan_matrix`

using `as.list()`

, which will return a
list of symmetric or Hermitian matrices. A function name preceded by
a “1” (for example `as.1matrix()`

or `vec_to_qhm1()`

)
means that it deals with a single (symmetric or Hermitian) matrix.

Algebraically, the matrix form of `jordan_matrix`

objects is
redundant (for example, a `real_symmetric_matrix`

of size
\mjeqnn\times nn*n has only \mjseqnn(n+1)/2 independent entries,
corresponding to the upper triangular elements).

Robin K. S. Hankin [aut, cre] (<https://orcid.org/0000-0001-5982-0415>)

Maintainer: Robin K. S. Hankin <hankin.robin@gmail.com>

K. McCrimmon 1978. “Jordan algebras and their applications”.
*Bulletin of the American Mathematical Society*, Volume 84, Number 4.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ```
rrsm() # Random Real Symmetric matrices
rchm() # Random Complex Hermitian matrices
rqhm() # Random Quaternionic Hermitian matrices
ralbert() # Random Albert algebra
rspin() # Random spin factor
x <- rqhm(n=1)
y <- rqhm(n=1)
z <- rqhm(n=1)
x/1.2 + 0.3*x*y # Arithmetic works as expected ...
x*(y*z) -(x*y)*z # ... but '*' is not associative
## Verify the Jordan identity for type 3 algebras:
LHS <- (x*y)*(x*x)
RHS <- x*(y*(x*x))
diff <- LHS-RHS # zero to numerical precision
diff[1,drop=TRUE] # result in matrix form
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.