Кажется, вы используете явное умножение в своих примерах (т.е. вам требуется A * B, а не A B).
В таком случае, почему бы просто не использовать суффикс i сразу после значения, как в
myComplex = 12 + 6i
or
myOtherComplex = 12/7 + (6 * pi)i
Тогда вам, возможно, придется определиться с i или j, я видел оба ...
Этот трюк с i-суффиксом мало чем отличается от научного уведомления и является e (например, 3.1415e7)
Редактировать (после комментариев Дэвида)
Приведенный выше формат может сбивать с толку, в зависимости от аудитории, один из способов прояснить это может состоять в том, чтобы разрешать только мнимые литералы и включать их в a комплексная запись, полученная из существующей векторной записи . Когда мнимые числа или комплексные числа требуют выражения для их обозначения, синтаксис потребует явного явного «функционального» синтаксиса , такого как Воображаемый (i) и Комплексный (r, i).
Правила синтаксического анализа :
- Любое число (со знаком или без знака, целое или десятичное число или даже порядковый номер записи), за которым непосредственно следует суффикс i, является воображаемым числом: -7i или 1.23i или 5.76e4i, но не 12 i (между цифрами не должно быть пробелов и суффикс)
- вектор двух значений с первым действительным и вторым мнимым комплексом: (1, 7i) или даже (7, 0i)
- Воображаемый (i) формат используется, когда значение «i» является выражением. i выражается без суффикса i, что подразумевается синтаксисом вызова метода.
- Сложный (r, i) формат используется, когда параметры «r» или «i» являются / являются выражением, а также всякий раз, когда мы хотим избежать двусмысленности.
Короче :
- (7, 1i), (0, -3.1415i), (13, 0i), Complex (13, 0) или Complex (7x + 3, sin (y) +2) - все это комплексные числа
- 6i, -1.234e5i, мнимое (1.234) или мнимое (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
Это кажется непротиворечивым и достаточно простым, но опять же, только истинные конечные пользователи могут сказать.