demomat_JPH {lazy.symbolic}R Documentation

分かりやすい行列の生成

Description

数値行列または記号行列を作成することができます。

Arguments

nr

生成される行列の行数、 もしくは各部分行列の行数からなるベクトル。

nc

生成される行列の列数、 もしくは各部分行列の列数からなるベクトル。

n3

三次元目のサイズ。存在しない場合は 0。

root

記号行列の要素の接頭文字。
指定すると文字行列/配列が作成される。

vec

=1 の場合、冗長な添字を落とす。

shape

結果の行列の形状:
"sym", "symU", "symL", "diag", "uppert", "lowert"

nodiag

=1 の場合、"upper" または "lower" が指定されたとき 対角成分を 0 に設定する。

list

=1 の場合、n3 > 2 のとき配列をリストで返す。

fullsymb

=1 の場合、完全記号行列を生成する。

mul

下記参照。

mul3

下記参照。

rnroot

行名の接頭文字。

cnroot

列名の接頭文字。

anroot

三次元目の名前の接頭文字。

supermat

=1 の場合、水平方向に積み重ねた配列を作成。
=2 の場合、垂直方向に積み重ねた配列を作成。
=0 その他の場合。

Details

英語のヘルプファイルは: demomat

行列の i,j 成分は mul*i + j という名前が付与される。
配列の i,j,k 成分は mul3*(mul*i + j) + k という名前が付与される。

スーパー行列が生成される場合、SMdim 属性が設定される。
SMdim は以下の形式のリスト:
(nrows=nr, ncols=nc, rownames=rn, colnames=cn, anames=an)
ここで
nr: 各部分行列の行数からなるベクトル
nc: 各部分行列の列数からなるベクトル
rn: 補助的な行名ベクトル
cn: 補助的な列名ベクトル
an: 三次元目に対応する名前のベクトル

Value

行列または配列を返す。
vec=1 オプションを指定しても、結果は行列となる点に注意。
ベクトルに変換する場合は c() を使用する。

Examples

demomat( 11,3 ) # 数値行列
demomat( 11,3,root="a" ) # 記号行列
demomat( 4,1,root="a", vec=1 ) # 記号行列

demomat( 4,3,2 ) # 数値配列
demomat( 4,3,2, supermat=1 ) # 数値スーパー行列(水平方向に積み重ね)
demomat( 4,3,2, supermat=2 ) # 数値スーパー行列(垂直方向に積み重ね)

# 以下の2つはほぼ同一のスーパー行列を生成する
demomat( 4,3,2, root="a", supermat=1 )
demomat( 4,c(3,3), root="a" )

# 2 x 2 分割行列
A=demomat( c(4,3),c(3,2), root="a" )
Printb(A)

# さまざまな形状
demomat(3,3,root="a", shape="sym")
demomat(3,3,root="a", shape="diag")
demomat(3,3,root="a", shape="lowert")

# 完全な記号行列
demomat(4,4, root="S", fullsymb=1)
demomat(4,4, root="S", shape="sym", fullsymb=1)



[Package lazy.symbolic version 1.0.0.20250830 ]