https://github.com/cran/pracma
Raw File
Tip revision: c1688b374d201c13fb40b4dda2d2a89e34b94ec6 authored by Hans W. Borchers on 23 January 2021, 09:10:02 UTC
version 2.3.3
Tip revision: c1688b3
crossn.R
##
##  c r o s s n . R  Vector Cross Product
##


crossn <- function(A) {
	if (!is.numeric(A))
		stop("Argument 'A' must be numeric.")

	if (is.vector(A) && length(A) == 2) {
		crossA <- c(A[2], -A[1])
	} else {
		if (is.matrix(A) && nrow(A) >= 2 && ncol(A) == nrow(A) + 1) {
			m <- ncol(A)
			crossA <- numeric(m)
			for (i in 1:m)
				crossA[i] <- (-1)^(i+1) * det(A[, -i])
		} else {
			stop("Matrix 'A' must be of size n x (n+1) with n >= 1.")
		}
	}
	return(crossA)
}
back to top