demomat {lazy.tools}R Documentation

Set up a matrix whose elements consist of row and col numbers.

Description

This can create either symbolic or numeric matrix.

Usage

demomat(
  nr,
  nc,
  n3 = 0,
  root = NULL,
  vec = 0,
  shape = NULL,
  nodiag = 0,
  supermat = 0,
  list = 0,
  fullsymb = 0,
  mul = NULL,
  mul3 = NULL,
  rnroot = "r",
  cnroot = "c",
  anroot = "a"
)

Arguments

nr

# of rows of the matrix to be generated or a vector consisting of the # of rows of each submatrix.

nc

# of columns of the matrix to be generated or a vector consisting of the # of columns of each submatrix.

n3

# of the 3d dimension or 0, if any

root

The root character of the elements of the symbolic matrix.
If this is present, a character matrix/array will be created.

vec

= 1 to drop the redundant subscript.

shape

Shape of the resulting matrix:
"sym", "symU", "symL", "diag", "uppert", "lowert"

nodiag

= 1 to set the diagonal elements to 0 when either "upper" or "lower" is specified

supermat

= 1 to create horizontally stacked array
= 2 to create vertically stacked array
= 0 othereize

list

= 1 to return the array as list when n3 > 2.

fullsymb

= 1 to make the result a fully symbolic matrix

mul

See below.

mul3

See below.

rnroot

root of the row names

cnroot

root of the column names

anroot

root of the third dimension names

Details

The i,j elements of a matrix will be named as mul*i + j
The i,j,k elements of an array will be named as mul3*(mul*i + j) + k

When a supermatrix is generated, SMdim attributes will be set
where SMdim is a list of the form
(nrows=nr, ncols=nc, rownames=rn, colnames=cn, anames=an)
where
nr is a vector consisting of the number of rows of each submatrix,
nc is a vector consisting of the number of columns of each submatrix
rn is a vector consisting of the supplemental row names
cn is a vector consisting of the supplemental column names
an is a vector consisting of the names associated with the 3rd dim.
'

Value

A matrix or an array.
Note that even with vec=1 option, thre result is a matrix.
Use c() to convert it to a vector.

Examples

demomat( 11,3 ) # numeric matrix
demomat( 11,3,root="a" ) # symbolic matrix
demomat( 4,1,root="a", vec=1 ) # symbolic matrix

demomat( 4,3,2 ) # numeric array
demomat( 4,3,2, supermat=1 ) # numeric supermatrix (horizontally stacked)
demomat( 4,3,2, supermat=2 ) # numeric supermatrix (vertically stacked)

# Below two creates almost identical super matrices.
demomat( 4,3,2, root="a", supermat=1 )
demomat( 4,c(3,3), root="a" )

# 2 x 2 partitioned matrix
A=demomat( c(4,3),c(3,2), root="a" )
Printb(A)


[Package lazy.tools version 0.1.4 ]