Learn R Programming

compositions (version 2.0-4)

acompscalarproduct: inner product for datasets with a vector space structure

Description

acomp and aplus objects are considered as (sets 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 vectors are either considered as row or as column vector.

Usage

# S3 method for acomp
%*%(x,y)
# S3 method for aplus
%*%(x,y)

Value

Either a numeric vector containing the scalar products, or an object of type acomp or aplus containing the vectors transformed with the given matrix.

Arguments

x

a acomp or aplus object or a matrix interpreted in clr, ilr or ilt coordinates

y

a acomp or aplus object or a matrix interpreted in clr, ilr or ilt coordinates

Author

K.Gerald v.d. Boogaart http://www.stat.boogaart.de

Details

The operators try to mimic the behavior of %*% on c()-vectors as inner product, applied in parallel to all row-vectors of the dataset. Thus the product of a vector with a vector of the same type results in the scalar product of both. For the multiplication with a matrix each vector is considered as a row or column, whatever is more appropriate. The matrix itself is considered as representing a linear mapping (endomorphism) of the vector space to a space of the same type. The mapping is represented in clr, ilr or ilt coordinates. Which of the aforementioned coordinate systems is used is judged from the type of x and from the dimensions of the A.

See Also

%*%.rmult

Examples

Run this code
x <- acomp(matrix( sqrt(1:12), ncol= 3 ))
x%*%x
A <- matrix( 1:9,nrow=3)
x %*% A %*% x
x %*% A
A %*% x
A <- matrix( 1:4,nrow=2)
x %*% A %*% x
x %*% A
A %*% x
x <- aplus(matrix( sqrt(1:12), ncol= 3 ))
x%*%x
A <- matrix( 1:9,nrow=3)
x %*% A %*% x
x %*% A
A %*% x

Run the code above in your browser using DataLab