将链矩阵乘法的结果分配给 Maxima 中的变量

Assigning result of chain matrix multiplication to a variable in Maxima

我正在尝试将 Maxima 中的链矩阵乘法结果分配给新变量。作为新用户,我不确定为什么 %o6 行与之前的行不一样并全面评估链。还有为什么当我输入新的变量名 "B" 时,我只是让 "B" 返回给我,而不是 ([32, 32], [32, 32])。我知道的基本问题,但我已经搜索了几个小时的文档、教程,以及我应该在这里使用的语法来获得我所期望的输出,我仍然不清楚。

我不能确定,但​​问题似乎是输入 B : A.A.A 时按住 shift 键至少 space 之一,然后 Shift+Space 被解释为不间断的 space 而不是普通的 space。这似乎是一个已知错误或至少是 wxMaxima 中的一个严重缺陷;参见:https://github.com/wxMaxima-developers/wxmaxima/issues/1031

(我说是错误的,因为 Shift+Space --> 不间断 space 记录在 wxMaxima 文档中,但它似乎是 "bad affordance" 的经典示例;它是很容易在不知情的情况下做错事。无论如何这只是我的看法。)

我从当前的源代码构建了 wxMaxima,看起来 Shift+Space 现在在代码中没有被解释为不间断的 space,所以 B : A.A.A 甚至应该有预期的效果如果在键入 space 时按住 Shift 键。当前版本为 19.07.0-DevelopmentSnapshot。我浏览了一下提交日志,但我无法弄清楚是哪个提交改变了 Shift+Space 的行为,所以问题可能没有解决,我没有遇到它只是偶然。

如果不想冒险升级,有两种解决方法。 (1) 省略spaces。 (2)注意只输入space不带shift.

希望这对您有所帮助。