matmultacomp: inner product for datasets with a vector space structure

acompscalarproductR Documentation

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 class 'acomp'
x %*% y
## S3 method for class 'aplus'
x %*% y

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

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.

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.

Author(s)

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

See Also

%*%.rmult

Examples

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

compositions documentation built on June 22, 2024, 12:15 p.m.