2012-10-11 31 views
1

我想创建一个由特定子矩阵构建的矩阵。特别是,假设$ A,B,C,D $是$ n \ times n $矩阵(如果需要,可取$ n = 2 $)。我想定义 $$ M = \ left [\ begin {array} {cc} A & B \ C & D \ end {array} \ right] $$ 我不介意它是否变平坦。实际上,真正的问题是有$ n^2 $块$ n \ times n $矩阵,其中每个矩阵都是零矩阵或三个标准块之一。但是,我问这个简单的问题,因为我认为一旦得到这个,我就能理解更大的问题。我应该只使用旧的linalg包装的“块”吗?在枫树中创建块矩阵

任何意见表示赞赏。

回答

0

显然你可以假装条目是矩阵,它会解释它,因为你可能会希望。我对此都非常高兴:

It's just what it should be. Thanks to Bill.

+0

是的,这就是为什么'stackmatrix','blockmatrix'和'现在反对的'linalg'包augment'程序在新的无法再现'LinearAlgebra'包。 '矩阵'构造函数或其简写角括号语法可以工作。另一种方式,对于较大的例子和float [8]数据类型矩阵是有效的,形成一个空矩阵,然后使用'ArrayTools:-BlockCopy'。 – acer

+0

@acer感谢您的评论,您对矩阵中填充了未知函数或甚至差分运算符的符号计算有任何建议吗?我们已经玩弄了Equal命令,但我对如何前进并没有信心。 –