在用pmode来说明这几个矩阵类型的区别
Replicated Arrays
在pmode中输入 x=1:4 可以看出在4个labs中均出现了
x=1 2
3 4的字样,说明x在4个labs中均存在,而且值是一样的,像这种情况下的x就称为Replicated
Arrays。
Distributed Arrays(分布式矩阵)
按着上一次的输入,再在pmode中输入
x1=distributed(x,'convert')
,可以看到在各个lab中显示的是 localPart(x1) =...
,这说明了x1并不是一个在各个lab中均存在的矩阵,其实各个lab中存有的只是x的一部分,整个矩阵x1是由4个lab中的值所组成的。此时虽然x1的分布于4个lab中,但是不能也不必用gcat来获取x全部的值,因为x本身就是一个完整1:4的矩阵。在用gcat时很容易将Distributed
Arrays和Variant Arrays搞混,下面我们来看一下Variant
Arrays。若要得到一个分布式矩阵的完整形式,可以用gather函数来得到,而不用转换。
Variant Arrays
上面各个lab中存在的只是矩阵x1的一部分,在各个lab中并不是一个变量,如何将lab中x1的值变成lab本身的变量呢?这就要用到函数localPart了,在pmode中输入
x2=localPart(x1),此时可以在各个lab中显示x2=...
,此时x2分布于各个lab中,但是值却不一样,这样的矩阵我们就称为Variant
Arrays。此时在pmode中输入 x3=gcat(x2) 可以得到x3=1 2 3
4,这样就将各个lab中的值汇集到一起了。
Private Arrays
Private Arrays和Variant Arrays差不多,只是Private
Arrays在有此lab中不存在同名的变量
From: