Написание формул APL без скобок

Я новичок в APL, Как конвертировать,

https://i.stack.imgur.com/YtD2Z.png

без использования скобок?


person practronix512    schedule 26.09.2019    source источник
comment
Было бы полезно, если бы вы указали, какой диалект APL вы используете, например. APL2, Dyalog APL, GNU APL, NARS2000 и т. д.   -  person Adám    schedule 26.09.2019
comment
@ practronix512 я не уверен, что stackoverflow поддерживает LaTeX. Могу ли я отредактировать ваш вопрос и загрузить изображение в дополнение к формуле?   -  person ngn    schedule 26.09.2019
comment
но я использовал инструкции по обучению mathjax. (хотя с телефоном было утомительно.) Помощь в редактировании приветствуется.   -  person practronix512    schedule 26.09.2019
comment
@practronix512 Stack Exchange включил MathJax для определенных сайтов, а не для всей сети. Stack Overflow не включает MathJax. В любом случае вы сделали отступ в своем коде MathJax, чтобы он стал блоком кода.   -  person Adám    schedule 26.09.2019


Ответы (2)


Если я правильно интерпретировал ваш TeX, вы хотите знать, возможно ли удалить скобки из

      (1÷2)*.5
0.7071067812

Это можно сделать с помощью коммутирующего оператора ⍨:

      .5*⍨1÷2
0.7071067812

Если f является диадической функцией, то вместо X f Y вы также можете написать Y f⍨ X, что может улучшить читаемость и помочь избежать круглых скобок. Попробуйте здесь.

person MBaas    schedule 26.09.2019
comment
поэтому скобки необходимы в таких ситуациях, если мы не используем этот необычный оператор. - person practronix512; 26.09.2019
comment
Ну, скажем, скобки потребуются, если вы хотите, чтобы текст оставался читабельным. Если вы принимаете любое количество глифов, если можно избежать только скобок, то это также может сделать это (хотя я думаю, что ⊣ доступно только в Dyalog APL): x*0.5⊣x←1÷2 - person MBaas; 26.09.2019
comment
Ну, всегда есть x*0.5+0×x←1÷2 :-) - person Adám; 26.09.2019
comment
@ngn Я думаю, что ОП хочет общий метод, а не конкретный ответ. Текущая формула в посте также может быть значительно упрощена. - person Adám; 26.09.2019
comment
@ Адам, да, r-.÷x y - person ngn; 26.09.2019
comment
спасибо, я думал, что нотация может написать любую алгебраическую формулу, используя только арифметические функции, но иногда необходимо оборачивать некоторые простые операции. - person practronix512; 26.09.2019
comment
@ practronix512 Нет, APL - это, по сути, лучшая математика. Если вам не нужны круглые скобки, посмотрите ориентированное на стек программирование. - person Adám; 26.09.2019

Здесь используются скобки () и {}, но не в формуле для вычисления результата, а только в функции для построения функции {} и для получения числа в переменных в ().

  f←{(x y r)←⍵⋄∣-/r×÷x y}
  f 1 2 3
1.5
person RosLuP    schedule 02.07.2020