Last data update: 2014.03.03

R: Euclidean random matrix
EuclRandMatrix-classR Documentation

Euclidean random matrix

Description

Class of Euclidean random matrices.

Objects from the Class

Objects can be created by calls of the form new("EuclRandMatrix", ...). More frequently they are created via the generating function EuclRandMatrix.

Slots

Dim

vector of positive integers: Dimensions of the random matrix.

Map

Object of class "list": list of functions.

Domain

Object of class "OptionalrSpace" domain of the random matrix.

Range

Object of class "OptionalrSpace" range of the random matrix.

Extends

Class "EuclRandVariable", directly.
Class "RandVariable", by class "EuclRandVariable".

Methods

coerce

signature(from = "EuclRandMatrix", to = "EuclRandVarList"): create a "EuclRandVarList" object from a Euclidean random matrix.

[

signature(x = "EuclRandMatrix"): generates a new Euclidean random variable/matrix by extracting elements of the slot Map of x.

Dim

signature(object = "EuclRandMatrix"): accessor function for slot Dim.

Dim<-

signature(object = "EuclRandMatrix", ): replacement function for slot Dim.

ncol

signature(x = "EuclRandMatrix"): number of columns of x.

nrow

signature(x = "EuclRandMatrix"): number of rows of x.

dimension

signature(object = "EuclRandMatrix"): dimension of the Euclidean random variable.

evalRandVar

signature(RandVar = "EuclRandMatrix", x = "numeric"): evaluate the slot Map of RandVar at x.

evalRandVar

signature(RandVar = "EuclRandMatrix", x = "matrix"): evaluate the slot Map of RandVar at x.

evalRandVar

signature(RandVar = "EuclRandMatrix", x = "numeric", distr = "Distribution"): evaluate the slot Map of RandVar at x assuming a probability space with distribution distr. In case x does not lie in the support of distr NA is returned.

evalRandVar

signature(RandVar = "EuclRandMatrix", x = "matrix", distr = "Distribution"): evaluate the slot Map of RandVar at rows of x assuming a probability space with distribution distr. For those rows of x which do not lie in the support of distr NA is returned.

t

signature(x = "EuclRandMatrix"): transposes x. In addition, the results of the functions in the slot Map of x are transposed.

show

signature(object = "EuclRandMatrix")

%*%

signature(x = "matrix", y = "EuclRandMatrix"): matrix multiplication of x and y. Generates an object of class "EuclRandMatrix".

%*%

signature(x = "numeric", y = "EuclRandMatrix"): matrix multiplication of x and y. Generates an object of class "EuclRandMatrix".

%*%

signature(x = "EuclRandVariable", y = "EuclRandMatrix"): matrix multiplication of x and y. Generates an object of class "EuclRandMatrix".

%*%

signature(x = "EuclRandMatrix", y = "matrix"): matrix multiplication of x and y. Generates an object of class "EuclRandMatrix".

%*%

signature(x = "EuclRandMatrix", y = "numeric"): matrix multiplication of x and y. Generates an object of class "EuclRandMatrix".

%*%

signature(x = "EuclRandMatrix", y = "EuclRandMatrix"): matrix multiplication of x and y. Generates an object of class "EuclRandMatrix".

%*%

signature(x = "EuclRandMatrix", y = "EuclRandVariable"): matrix multiplication of x and y. Generates an object of class "EuclRandMatrix".

Arith

signature(e1 = "numeric", e2 = "EuclRandMatrix"): Given a numeric vector e1, a Euclidean random matrix e2 and an arithmetic operator op, the Euclidean random matrix e1 op e2 is returned.

Arith

signature(e1 = "EuclRandMatrix", e2 = "numeric"): Given a Euclidean random matrix e1, a numeric vector e2, and an arithmetic operator op, the Euclidean random matrix e1 op e2 is returned.

Arith

signature(e1 = "EuclRandMatrix", e2 = "EuclRandMatrix"): Given two Euclidean random matrices e1 and e2, and an arithmetic operator op, the Euclidean random matrix e1 op e2 is returned.

Math

signature(x = "EuclRandMatrix"): Given a "Math" group generic fct, the Euclidean random matrix fct(x) is returned.

E

signature(object = "UnivariateDistribution", fun = "EuclRandMatrix", cond = "missing"): expectation of fun under univariate distributions.

E

signature(object = "AbscontDistribution", fun = "EuclRandMatrix", cond = "missing"): expectation of fun under absolutely continuous univariate distributions.

E

signature(object = "DiscreteDistribution", fun = "EuclRandMatrix", cond = "missing"): expectation of fun under discrete univariate distributions.

E

signature(object = "MultivariateDistribution", fun = "EuclRandMatrix", cond = "missing"): expectation of fun under multivariate distributions.

E

signature(object = "DiscreteMVDistribution", fun = "EuclRandMatrix", cond = "missing"): expectation of fun under discrete multivariate distributions.

E

signature(object = "UnivariateCondDistribution", fun = "EuclRandMatrix", cond = "numeric"): conditional expectation of fun under conditional univariate distributions.

E

signature(object = "AbscontCondDistribution", fun = "EuclRandMatrix", cond = "numeric"): conditional expectation of fun under absolutely continuous conditional univariate distributions.

E

signature(object = "DiscreteCondDistribution", fun = "EuclRandMatrix", cond = "numeric"): conditional expectation of fun under discrete conditional univariate distributions.

Author(s)

Matthias Kohl Matthias.Kohl@stamats.de

See Also

EuclRandMatrix, RandVariable-class, EuclRandVariable-class, EuclRandVarList-class, Distribution-class, Arith, Math, E

Examples

L1 <- list(function(x){x}, function(x){x^2}, function(x){x^3}, function(x){x^4}, 
           function(x){x^5}, function(x){x^6})
L2 <- list(function(x){exp(x)}, function(x){abs(x)}, 
           function(x){sin(x)}, function(x){floor(x)})

R1 <- new("EuclRandMatrix", Map = L1, Dim = as.integer(c(3,2)), 
                            Domain = Reals(), Range = Reals())
dimension(R1)
R1[1:2, 2]
R1[1:2, 1:2]
Map(R1[1,2])
Map(t(R1)[2,1])

R2 <- EuclRandMatrix(Map = L2, ncol = 2, Domain = Reals(), dimension = 1)
dimension(R2)
(DL <- imageDistr(R2, Norm()))
plot(DL)

Map(gamma(R2)) # "Math" group

## "Arith" group
Map(2/R1)
Map(R2 * R2)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(RandVar)
Loading required package: distr
Loading required package: startupmsg
:startupmsg>  Utilities for Start-Up Messages (version 0.9.3)
:startupmsg> 
:startupmsg>  For more information see ?"startupmsg",
:startupmsg>  NEWS("startupmsg")

Loading required package: sfsmisc
Loading required package: SweaveListingUtils
:SweaveListingUtils>  Utilities for Sweave Together with
:SweaveListingUtils>  TeX 'listings' Package (version
:SweaveListingUtils>  0.7.5)
:SweaveListingUtils> 
:SweaveListingUtils>  NOTE: Support for this package
:SweaveListingUtils>  will stop soon.
:SweaveListingUtils> 
:SweaveListingUtils>  Package 'knitr' is providing the
:SweaveListingUtils>  same functionality in a better
:SweaveListingUtils>  way.
:SweaveListingUtils> 
:SweaveListingUtils>  Some functions from package 'base'
:SweaveListingUtils>  are intentionally masked ---see
:SweaveListingUtils>  SweaveListingMASK().
:SweaveListingUtils> 
:SweaveListingUtils>  Note that global options are
:SweaveListingUtils>  controlled by
:SweaveListingUtils>  SweaveListingoptions() ---c.f.
:SweaveListingUtils>  ?"SweaveListingoptions".
:SweaveListingUtils> 
:SweaveListingUtils>  For more information see
:SweaveListingUtils>  ?"SweaveListingUtils",
:SweaveListingUtils>  NEWS("SweaveListingUtils")
:SweaveListingUtils>  There is a vignette to this
:SweaveListingUtils>  package; try
:SweaveListingUtils>  vignette("ExampleSweaveListingUtils").


Attaching package: 'SweaveListingUtils'

The following objects are masked from 'package:base':

    library, require

:distr>  Object Oriented Implementation of Distributions (version
:distr>  2.6)
:distr> 
:distr>  Attention: Arithmetics on distribution objects are
:distr>  understood as operations on corresponding random variables
:distr>  (r.v.s); see distrARITH().
:distr> 
:distr>  Some functions from package 'stats' are intentionally masked
:distr>  ---see distrMASK().
:distr> 
:distr>  Note that global options are controlled by distroptions()
:distr>  ---c.f. ?"distroptions".
:distr> 
:distr>  For more information see ?"distr", NEWS("distr"), as well as
:distr>    http://distr.r-forge.r-project.org/
:distr>  Package "distrDoc" provides a vignette to this package as
:distr>  well as to several extension packages; try
:distr>  vignette("distr").


Attaching package: 'distr'

The following objects are masked from 'package:stats':

    df, qqplot, sd

Loading required package: distrEx
:distrEx>  Extensions of Package 'distr' (version 2.6)
:distrEx> 
:distrEx>  Note: Packages "e1071", "moments", "fBasics" should be
:distrEx>  attached /before/ package "distrEx". See
:distrEx>  distrExMASK().Note: Extreme value distribution
:distrEx>  functionality has been moved to
:distrEx> 
:distrEx>        package "RobExtremes". See distrExMOVED().
:distrEx> 
:distrEx>  For more information see ?"distrEx", NEWS("distrEx"), as
:distrEx>  well as
:distrEx>    http://distr.r-forge.r-project.org/
:distrEx>  Package "distrDoc" provides a vignette to this package
:distrEx>  as well as to several related packages; try
:distrEx>  vignette("distr").


Attaching package: 'distrEx'

The following objects are masked from 'package:stats':

    IQR, mad, median, var

:RandVar>  Implementation of Random Variables (version 1.0)
:RandVar> 
:RandVar>  For more information see ?"RandVar", NEWS("RandVar"), as
:RandVar>  well as
:RandVar>    http://robast.r-forge.r-project.org/
:RandVar>  This package also includes a vignette; try
:RandVar>  vignette("RandVar").

> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/RandVar/EuclRandMatrix-class.Rd_%03d_medium.png", width=480, height=480)
> ### Name: EuclRandMatrix-class
> ### Title: Euclidean random matrix
> ### Aliases: EuclRandMatrix-class
> ###   coerce,EuclRandMatrix,EuclRandVarList-method Dim
> ###   Dim,EuclRandMatrix-method Dim<- Dim<-,EuclRandMatrix-method
> ###   [,EuclRandMatrix-method ncol,EuclRandMatrix-method
> ###   nrow,EuclRandMatrix-method dimension,EuclRandMatrix-method
> ###   evalRandVar,EuclRandMatrix,numeric,missing-method
> ###   evalRandVar,EuclRandMatrix,matrix,missing-method
> ###   evalRandVar,EuclRandMatrix,numeric,Distribution-method
> ###   evalRandVar,EuclRandMatrix,matrix,Distribution-method
> ###   t,EuclRandMatrix-method show,EuclRandMatrix-method
> ###   %*%,matrix,EuclRandMatrix-method %*%,numeric,EuclRandMatrix-method
> ###   %*%,EuclRandMatrix,matrix-method %*%,EuclRandMatrix,numeric-method
> ###   %*%,EuclRandMatrix,EuclRandMatrix-method
> ###   Arith,numeric,EuclRandMatrix-method
> ###   Arith,EuclRandMatrix,numeric-method
> ###   Arith,EuclRandMatrix,EuclRandMatrix-method Math,EuclRandMatrix-method
> ###   E,UnivariateDistribution,EuclRandMatrix,missing-method
> ###   E,AbscontDistribution,EuclRandMatrix,missing-method
> ###   E,DiscreteDistribution,EuclRandMatrix,missing-method
> ###   E,MultivariateDistribution,EuclRandMatrix,missing-method
> ###   E,DiscreteMVDistribution,EuclRandMatrix,missing-method
> ###   E,UnivariateCondDistribution,EuclRandMatrix,numeric-method
> ###   E,AbscontCondDistribution,EuclRandMatrix,numeric-method
> ###   E,DiscreteCondDistribution,EuclRandMatrix,numeric-method
> ### Keywords: classes arith math
> 
> ### ** Examples
> 
> L1 <- list(function(x){x}, function(x){x^2}, function(x){x^3}, function(x){x^4}, 
+            function(x){x^5}, function(x){x^6})
> L2 <- list(function(x){exp(x)}, function(x){abs(x)}, 
+            function(x){sin(x)}, function(x){floor(x)})
> 
> R1 <- new("EuclRandMatrix", Map = L1, Dim = as.integer(c(3,2)), 
+                             Domain = Reals(), Range = Reals())
> dimension(R1)
[1] 6
> R1[1:2, 2]
An object of class "EuclRandVariable" 
length of Map:	 2 
Domain:	Real Space with dimension 1 
Range:	Real Space with dimension 1 
> R1[1:2, 1:2]
An object of class "EuclRandMatrix" 
Dim of Map:	 2 2 
Domain:	Real Space with dimension 1 
Range:	Real Space with dimension 1 
> Map(R1[1,2])
[[1]]
function (x) 
{
    x^4
}

> Map(t(R1)[2,1])
[[1]]
function (x) 
{
    f <- function (x) 
    {
        x^4
    }
    t(f(x))
}
<environment: 0x42885c8>

> 
> R2 <- EuclRandMatrix(Map = L2, ncol = 2, Domain = Reals(), dimension = 1)
> dimension(R2)
[1] 4
> (DL <- imageDistr(R2, Norm()))
An object of class "DistrList"
 [[1]] Distribution Object of Class: AbscontDistribution
 [[2]] Distribution Object of Class: AbscontDistribution
 [[3]] Distribution Object of Class: AbscontDistribution
 [[4]] Distribution Object of Class: AbscontDistribution
Warning messages:
1: In function (object)  :
  arithmetics on distributions are understood as operations on r.v.'s
see 'distrARITH()'; for switching off this warning see '?distroptions'
2: In function (object)  :
  slots d,p,q have been filled using simulations; for switching off this warning see '?distroptions'
> plot(DL)
> 
> Map(gamma(R2)) # "Math" group
[[1]]
function (x) 
{
    f1 <- function (x) 
    {
        exp(x)
    }
    gamma(f1(x))
}
<environment: 0x50a2870>

[[2]]
function (x) 
{
    f1 <- function (x) 
    {
        abs(x)
    }
    gamma(f1(x))
}
<environment: 0x50a2870>

[[3]]
function (x) 
{
    f1 <- function (x) 
    {
        sin(x)
    }
    gamma(f1(x))
}
<environment: 0x50a2870>

[[4]]
function (x) 
{
    f1 <- function (x) 
    {
        floor(x)
    }
    gamma(f1(x))
}
<environment: 0x50a2870>

> 
> ## "Arith" group
> Map(2/R1)
[[1]]
function (x) 
{
    f2 <- function (x) 
    {
        x
    }
    2/f2(x)
}
<environment: 0x50397b8>

[[2]]
function (x) 
{
    f2 <- function (x) 
    {
        x^2
    }
    2/f2(x)
}
<environment: 0x50397b8>

[[3]]
function (x) 
{
    f2 <- function (x) 
    {
        x^3
    }
    2/f2(x)
}
<environment: 0x50397b8>

[[4]]
function (x) 
{
    f2 <- function (x) 
    {
        x^4
    }
    2/f2(x)
}
<environment: 0x50397b8>

[[5]]
function (x) 
{
    f2 <- function (x) 
    {
        x^5
    }
    2/f2(x)
}
<environment: 0x50397b8>

[[6]]
function (x) 
{
    f2 <- function (x) 
    {
        x^6
    }
    2/f2(x)
}
<environment: 0x50397b8>

> Map(R2 * R2)
[[1]]
function (x) 
{
    f1 <- function (x) 
    {
        exp(x)
    }
    f2 <- function (x) 
    {
        exp(x)
    }
    f1(x) * f2(x)
}
<environment: 0x4fbf6b8>

[[2]]
function (x) 
{
    f1 <- function (x) 
    {
        abs(x)
    }
    f2 <- function (x) 
    {
        abs(x)
    }
    f1(x) * f2(x)
}
<environment: 0x4fbf6b8>

[[3]]
function (x) 
{
    f1 <- function (x) 
    {
        sin(x)
    }
    f2 <- function (x) 
    {
        sin(x)
    }
    f1(x) * f2(x)
}
<environment: 0x4fbf6b8>

[[4]]
function (x) 
{
    f1 <- function (x) 
    {
        floor(x)
    }
    f2 <- function (x) 
    {
        floor(x)
    }
    f1(x) * f2(x)
}
<environment: 0x4fbf6b8>

> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>