Фракции для имен переменных в Юлии - PullRequest
0 голосов
/ 15 октября 2018

В julia вы можете писать подписки на \_ для имен переменных.Мне было интересно, есть ли что-нибудь подобное для записи дробей в именах переменных.Что-то вроде \frac{}{} в LaTeX.Я понимаю, что это может быть сложнее, поскольку требуется два аргумента.Если его нет, я буду использовать /.Но в этом случае я хотел бы использовать некоторые приложения, чтобы прояснить, что дифференцируется.Я полагаю, () не используется?[] или {} будет в порядке?

1 Ответ

0 голосов
/ 16 октября 2018

Индексы или другие нелатинские имена, которые вы видите в коде Джулии, являются обычными юникодами, такими же, как "обычные" имена.команды LaTeX являются только функцией Julia REPL для запоминания и ввода их.

Что касается юникода, в принципе вы можете представлять некоторые простые дроби, такие как ⁽²⁺ⁱ⁾⁄₍ₛ₊ₜ₎, используя (косая черта U + 2044) символ и подписи и верхние индексы .Рендеринг зависит от вашего шрифта, но не ожидайте расположения вертикали в любых текущих шрифтах.

Однако Джулия распознает (дробная черта U + 2044, а не / в вашей клавиатуре) как "недопустимый символ "при использовании во время анализа.То же самое относится к \not, который может использоваться только в сочетании с некоторыми операторами, поэтому это тоже не вариант.

Что касается скобок и обычного /, они являются операторами и анализируются по-разному.,Однако есть (некрасивый) способ обойти это: вы можете использовать макросы для обхода анализа и использовать строки в качестве имен переменных.Например:

julia> macro n_str(name)
           esc(Symbol(name))
       end
@n_str (macro with 1 method)

julia> n"∂(2x + 3)/∂x" = 2
2

julia> 2n"∂(2x + 3)/∂x"
4
...