Learn R Programming

compositions (version 1.40-2)

rmultmatmult: inner product for datasets with vector scale

Description

An rmult object is considered as a sequence of vectors. The %*% is considered as the inner multiplication. An inner multiplication with another vector is the scalar product. an inner multiplication with a matrix is a matrix multiplication, where the rmult-vectors are either considered as row or as column vector.

Usage

# S3 method for rmult
%*%(x,y)

Arguments

x

an rmult vector or dataset of vectors, a numeric vector of length (gsi.getD(y)), or a matrix

y

an rmult vector or dataset of vectors , a numeric vector of length (gsi.getD(x)), or a matrix

Value

an object of class "rmult" or a numeric vector containing the result of the corresponding inner products.

Details

The operators try to minic the behavior of %*% on c()-vectors as inner product applied in parallel to all vectors of the dataset. Thus the product of a vector with another rmult object or unclassed vector v results in the scalar product. For the multiplication with a matrix each vector is considered as a row or column, whatever is more appropriate.

See Also

rmult, %*%.rmult

Examples

Run this code
# NOT RUN {
x <- rmult(matrix( sqrt(1:12), ncol= 3 ))
x%*%x
A <- matrix( 1:9,nrow=3)
x %*% A %*% x
x %*% A
A %*% x
x %*% 1:3
x %*% 1:3
1:3 %*% x 

# }

Run the code above in your browser using DataLab