我在我的软件中使用了 Dunavant 正交,特别是 John Burkardt 的这个文件。最近,我想将代码转换为constexprC++ 中的代码。但这样做需要我了解代码的作用。我已经阅读了代码和论文,我对子订单感到困惑。我有具体的三个问题:
什么是子订单,它们与点和权重列表有什么关系?
为什么子订单显然是在三个维度上计算的,然后只使用其中两个?
为什么作者使用
mod函数来计算像这段代码中的一些子订单?for (k = 0; k < 3; k++) { xy[0 + o * 2] = suborder_xyz[i4_wrap(k, 0, 2) + s * 3]; xy[1 + o * 2] = suborder_xyz[i4_wrap(k + 1, 0, 2) + s * 3]; w[o] = suborder_w[s]; o = o + 1; }