swh:1:snp:81eadaa089e8253d8469bcef66aa332632c6c669
Tip revision: fdf16693b000f3e309c56091892c61f0ec9fd670 authored by Hans W. Borchers on 21 November 2017, 16:15:00 UTC
version 2.1.1
version 2.1.1
Tip revision: fdf1669
dot.R
###
### DOT.R Scalar product
###
dot <- function(x, y) {
if (length(x) == 0 && length(y) == 0) return(0)
if (!(is.numeric(x) || is.complex(x)) ||
!(is.numeric(y) || is.complex(y)))
stop("Arguments 'x' and 'y' must be real or complex.")
x <- drop(x); y <- drop(y)
if (any(dim(x) != dim(y)))
stop("Matrices 'x' and 'y' must be of same size")
if (is.vector(x) && is.vector(y)) {
dim(x) <- c(length(x), 1)
dim(y) <- c(length(y), 1)
}
x.y <- apply(Conj(x) * y, 2, sum)
return(x.y)
}