crossn: n-dimensional Vector Cross Product In pracma: Practical Numerical Math Functions

 crossn R Documentation

n-dimensional Vector Cross Product

Description

Vector cross product of `n-1` vectors in n-dimensional space

Usage

``````crossn(A)
``````

Arguments

 `A` matrix of size `(n-1) x n` where `n >= 2`.

Details

The rows of the matrix `A` are taken as`(n-1)` vectors in `n`-dimensional space. The cross product generates a vector in this space that is orthogonal to all these rows in `A` and its length is the volume of the geometric hypercube spanned by the vectors.

Value

a vector of length `n`

Note

The â€˜scalar triple productâ€™ in `R^3` can be defined as

`spatproduct <- function(a, b, c) dot(a, crossn(b, c))`

It represents the volume of the parallelepiped spanned by the three vectors.

`cross`, `dot`

Examples

``````A <- matrix(c(1,0,0, 0,1,0), nrow=2, ncol=3, byrow=TRUE)
crossn(A)  #=> 0 0 1

x <- c(1.0, 0.0, 0.0)
y <- c(1.0, 0.5, 0.0)
z <- c(0.0, 0.0, 1.0)
identical(dot(x, crossn(rbind(y, z))), det(rbind(x, y, z)))
``````

pracma documentation built on Nov. 10, 2023, 1:14 a.m.