在枫树中,如何创建一系列交替变量?

In maple, how to create a sequence of alternating variables?

我是 Maple 的新手,我想创建以下列表:

U__N := u__1[0], u__2[0], u__1[1], u__2[1], u__1[2], u__2[2], u__1[3], u__2[3], u__1[4], u__2[4], u__1[5], u__2[5]

我想到了以下两个选项。对于这两者,我都缺乏最后一步的知识

选项 1

U__N := seq([u__1[k], u__2[k]], k = 0 .. 5)

这给了我一个嵌套列表: U__N := [u__1[0], u__2[0]], [u__1[1], u__2[1]], [u__1[2], u__2[2]], [u__1[3], u__2[3]], [u__1[4], u__2[4]], [u__1[5], u__2[5]]。但是,现在我不知道如何“取消嵌套”嵌套列表。

选项 2:

创建两个单独的列表

U__N2 := seq(u__2[k], k = 0 .. 5 - 1)

哪个returnsU__N1 := u__1[0], u__1[1], u__1[2], u__1[3], u__1[4]

U__N2 := seq(u__2[k], k = 0 .. 5 - 1)

其中 returns U__N2 := u__2[0], u__2[1], u__2[2], u__2[3], u__2[4]。 现在我想concatenate/combine交替使用这两个列表。

您对这两个选项之一或替代解决方案有什么建议吗?

使用 Flatten 给了我想要的解决方案

我更愿意创建 pair-wise 部分然后直接使用它们,而不是形成整个 list-of-lists 和 Flatten 它。

seq 命令的 special-evaluation 规则允许在 after k 获得具体数值之前不计算其第一个参数.

这允许您使用 op 命令调整您的第一个方法并提取 pair-wise 内部列表的操作数。

seq(op([u__1[k], u__2[k]]), k = 0 .. 5);

   u__1[0], u__2[0], u__1[1], u__2[1],
   u__1[2], u__2[2], u__1[3], u__2[3],
   u__1[4], u__2[4], u__1[5], u__2[5]

seq([u__1[k], u__2[k]][], k = 0 .. 5);

   u__1[0], u__2[0], u__1[1], u__2[1],
   u__1[2], u__2[2], u__1[3], u__2[3],
   u__1[4], u__2[4], u__1[5], u__2[5]

[...][] 中的尾随 [] 的作用类似于 op([...])