https://github.com/cran/pracma
Raw File
Tip revision: 7c9cb68ab5f2055c3ac5af364c5c2febceae395b authored by Hans W. Borchers on 03 April 2017, 19:40:41 UTC
version 2.0.4
Tip revision: 7c9cb68
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