我正在尝试找到一种将 41x41 数组转换为最大值矩阵的方法。我试过aa1:matrix([aa]);
如果我尝试matrixp(aa1)
它会产生 true 但矩阵只包含第一个值。
有人有想法吗?
IIUC Maxima 数组是hashes,因此顺序不像矩阵那样牢固。除此之外,它似乎应该有一些关于如何生成数组的知识genmatrix
,请参阅第五个常见问题解答条目。
所以如果数组是这样生成的:
(%i1) for i thru 4 do for j thru 4 do A[i,j]: i+j$
我们有:
(%i2) listarray(A);
(%o2) [2, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 7, 5, 6, 7, 8]
(%i3) arrayinfo(A);
(%o3) [hashed, 2, [1, 1], [1, 2], [1, 3], [1, 4], [2, 1], [2, 2], [2, 3], [2, 4], [3, 1], [3, 2], [3, 3], [3, 4], [4, 1], [4, 2], [4, 3], [4, 4]]
A
可以像这样转换为 4x4 矩阵:
(%i4) genmatrix(A,4,4);
[ 2 3 4 5 ]
[ ]
[ 3 4 5 6 ]
(%o4) [ ]
[ 4 5 6 7 ]
[ ]
[ 5 6 7 8 ]