如何在Golang中创建块矩阵?

如何在Golang中创建块矩阵?,go,matrix,Go,Matrix,我试图创建一个包含4个块(n*n子矩阵)的块矩阵 我尝试了很多东西,但都没能成功 func newBlocMatrix(A Matrix, B Matrix, C Matrix, D Matrix) (M Matrix) { var M Matrix // Something here // Filled with A, B, C, and D return M, nil } 任何用矩阵A、B、C和D填充矩阵M的建议?为了简单起见,我假设矩阵是正方形(n*n

我试图创建一个包含4个块(n*n子矩阵)的块矩阵

我尝试了很多东西,但都没能成功

func newBlocMatrix(A Matrix, B Matrix, C Matrix, D Matrix) (M Matrix) {
    var M Matrix
    // Something here

    // Filled with A, B, C, and D

    return M, nil
}

任何用矩阵A、B、C和D填充矩阵M的建议?

为了简单起见,我假设
矩阵
是正方形(n*n)
[[]int

主程序包
输入“fmt”
类型矩阵[][]int
func块(a,b,c,d矩阵)矩阵{
l:=len(a)
s:=l*2
m:=make([]int,s)
对于i:=0;i
运行打印:

a: [[1 2] [3 4]]
b: [[5 6] [7 8]]
c: [[9 10] [11 12]]
d: [[13 14] [15 16]]
m: [[1 2 5 6] [3 4 7 8] [9 10 13 14] [11 12 15 16]]

我相信这就是您想要的。

解决方案取决于“矩阵”类型的实现方式。