看来您在示例中使用了显式乘法(即您需要 A * B,而不是 AB )。
在这种情况下,为什么不直接在值后面使用 i 后缀,如
myComplex = 12 + 6i
or
myOtherComplex = 12/7 + (6 * pi)i
然后你可能需要决定 i 或 j,我都见过......
这个 i 后缀技巧与科学通报没有什么不同,是 e(例如 3.1415e7)
编辑(按照大卫的评论)
上面的格式可能会变得令人困惑,具体取决于观众,澄清这一点的一种方法可能是只允许虚构的文字,并将它们包含在从现有矢量符号派生的复杂符号中。当虚数或复数需要一个表达式来指定它们时,语法将需要明确的“函数式”语法,例如 Imaginary(i) 和 Complex(r, i)。
解析规则:
- 任何数字(有符号或无符号、整数或小数,甚至是表示符号数)直接跟在后缀 i 之后都是虚数:-7i 或 1.23i 或 5.76e4i 但不是 12 i(数字和后缀之间不允许有空格)
- 具有第一个实数和第二个虚数的二值向量是复数:(1, 7i) 或偶数 (7, 0i)
- 当“i”值是表达式时,使用 Imaginary(i) 格式。i 表示没有方法调用语法所隐含的 i 后缀。
- 当“r”或“i”参数是/是表达式时,以及当我们希望避免歧义时,使用 Complex(r,i) 格式。
简而言之:
- (7, 1i) , (0, -3.1415i), (13, 0i), Complex(13, 0) 或 Complex(7x+3, sin(y)+2) 都是复数
- 6i, -1.234e5i, Imaginary(1.234) 或 Imaginary(sqrt(19x+5y)) 都是虚数
- (12, 23, 34) 是 R^3 中的向量
- (12i, -2i) 在 I^2 中的向量中(不是复数,因为第一个元素不是实数)
- ((0,0i), (1,-9.2i), (12, 0i)) 或 ((0, 21i), Complex(12,3), (44, -55i)) 是 C^3 中的向量
这似乎是一致且足够简单的,但话又说回来,只有真正的最终用户才能知道。