あなたの例では明示的な乗算を使用しているようです(つまり、 AB ではなく A * B が必要です)。
その場合、次のように値の直後に i サフィックスを使用しないのはなぜですか
myComplex = 12 + 6i
or
myOtherComplex = 12/7 + (6 * pi)i
次に、iまたはjについて決定する必要があるかもしれません。私は両方を見てきました...
この i 接尾辞のトリックは、科学的通知と同じで、e (たとえば 3.1415e7) です。
編集(Davidのコメントに従って)
上記の形式は、聴衆によっては混乱を招く可能性があります。これを明確にする 1 つの方法は、架空のリテラルのみを許可し、これらを既存のベクトル表記法から派生した複雑な表記法に含めることです。虚数または複素数を指定する式が必要な場合、構文には、Imaginary(i) や Complex(r, i) などの明示的な「関数のような」構文が必要になります。
構文解析規則:
- 接尾辞 i が直接続く数値 (符号付きまたは符号なし、整数または 10 進数、さらには指数表記の数値) は、虚数です: -7i または 1.23i または 5.76e4i ですが、12 i ではありません (数値と接尾辞の間にスペースは許可されません)。
- 最初の 1 つは実数、2 番目の虚数は複素数の 2 つの値のベクトル: (1, 7i) または偶数 (7, 0i)
- "i" 値が式の場合、Imaginary(i) 形式が使用されます。i は、メソッド呼び出し構文で暗示される i サフィックスなしで表されます。
- Complex(r,i) 形式は、"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 のベクトル
これは一貫していて単純なことのように思えますが、真のエンドユーザーだけが知ることができます。