Author Topic: Почему никто не интересуется Wolfram Mathematica?  (Read 13784 times)

0 Members and 1 Guest are viewing this topic.

Offline Вадимий

  • Posts: 14817
  • Gender: Male
Aber im Deutschen ist es nicht ganz korrekt, 'ich mag etw. machen' zu sagen. Man muss 'ich mache etw. gern' sagen.
Ну, поговаривают.

Offline arseniiv

  • Blogger
  • *
  • Posts: 14925
    • ::

Offline Вадимий

  • Posts: 14817
  • Gender: Male
Если наводнение королевой, затем Оффтопик царя? Эта нить, таким образом, еще одна провинция в царстве своем, о. Я не могу видеть, что.

Proszę o tłumaczenie.

Offline Квас

  • Posts: 9529
  • Gender: Male
    • Международный ЛФ
arseniiv, if I were you, I’d separate the wheat from the chaff.
Пишите письма! :)

Offline arseniiv

  • Blogger
  • *
  • Posts: 14925
    • ::
Proszę o tłumaczenie.
O czem?

Quase, I’m in a lazy mood. I’d want but I can’t.


Offline arseniiv

  • Blogger
  • *
  • Posts: 14925
    • ::
*czym
Tak i znal!

If flood is a queen, is then offtopic a king? This thread is, therefore, one more province in their kingdom, oh. I can’t see that.
Translation: Если флуд королева, король ли тогда оффтопик? В таком случае, эта тема одна из областей — их [обширного] королевства [на ЛФ], о [боги]. Не могу смотреть[!].

Offline Искандер

  • Posts: 19289
  • Gender: Male
  • звезду, кому звезду!
verstaумляутdnlich

uумляутberflussig

Это номинация. Сто пудов (без двух пудов один ласт три берковески).
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Offline arseniiv

  • Blogger
  • *
  • Posts: 14925
    • ::
Quase спрашивал, что нового в Mathematica 8. Установил и гляжу. И рот растягивается до ушей.

Offline Искандер

  • Posts: 19289
  • Gender: Male
  • звезду, кому звезду!
Тоже надо математику поставить.
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Offline arseniiv

  • Blogger
  • *
  • Posts: 14925
    • ::
А не боитесь её веса?

Offline Искандер

  • Posts: 19289
  • Gender: Male
  • звезду, кому звезду!
и чо? там больше шести га?
"Niech żyją POLACY!! Ponieważ polacy są rasej nadczłowieków. Od nich jest przyszłość planety. Oni przeżyją nawet wojną atomowę, dlatego, że polacy są wieczni, bo chtoniczni. I dadzą potomstwo, które też będzie polakami i polkami. Niech żyjemy, hura!.." (c) Awwal12

Offline Квас

  • Posts: 9529
  • Gender: Male
    • Международный ЛФ
Quase спрашивал, что нового в Mathematica 8. Установил и гляжу. И рот растягивается до ушей.

Это как это?
Пишите письма! :)

Offline arseniiv

  • Blogger
  • *
  • Posts: 14925
    • ::
Много желанного по отношению к версии 5.

Offline Bhudh

  • Posts: 57431
  • Gender: Male
  • aka 蝎
    • Сайты по языкознанию
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Offline Квас

  • Posts: 9529
  • Gender: Male
    • Международный ЛФ
arseniiv, хоть бы поагитировали. Плюс ликбез: основы синтаксиса, пакеты (или что там вместо них), программирование. А?
Пишите письма! :)

Offline arseniiv

  • Blogger
  • *
  • Posts: 14925
    • ::
Основы синтаксиса!
Как воспринимает написанное система, лучше всего выражает следующий стих в расширенной форме Бэкуса — Наура:
выражение = атом
выражение = голова [ [выражение {, выражение}] ]


Всё остальное, что мы видим и можем напечатать, составляет вкусное синтаксическое варенье (и хорошо, что его много). В обычном случае вычисляются сначала подвыражения. В важных случаях это производятся иначе (зависит от головы выражения).

P. S. Можно всегда увидеть результат в виде таких вот выражений, засунув его в FullForm[...].

Программистское введение в язык
Здесь мы рассмотрим некоторых сахар. Многим может показаться неясным, зачем. Для установивших потом сделаю notebook.

f @ arg, arg // f эквивалентны f[arg]. Часто используется вторая форма, а первая, скорее, напоминает о похожих обозначениях для некоторых полезных штук, см. далее.
a ~ f ~ b эквивалентно f[a, b], и ни разу ещё не пригодилось. Зато у многих функций есть соответствующие операторы, например, + для Plus и *, который можно опускать всегда (вот зачем квадратные скобки! Впрочем, не только для этого), для Times.
Всё можно ввести, не выходя за пределы ASCII, однако часто есть красивые альтернатиы обозначениям. Например, expr[] (Part[expr, i]) даёт i-е подвыражение из expr, начиная с 1 и заканчивая Length[expr] (нулевым считается голова, альтернатива — Head[expr]). Двойные квадратные скобки можно получить слитным символом, достаточно перед и после них нажать Esc — Mathematica воспринимает его как вполне печатаемый символ, пока нельзя как-нибудь упростить что-то между двумя его включениями. Esc-a-Esc даст альфу, Esc-e-Esc и Esc-c-e-Esc — разные эпсилоны, Esc-l-|-Esc и Esc-r-|-Esc — скобки модуля, по виду неотличимые; такие скобочки заменяют Abs.

Стивен Вольфрам тут поставил на первое место принцип «разные сущности — разные представления», хотя видимые формы этих представления бывают идентичными, но это редкое явление.

При копировании текста в другие программы и обратно необратимых изменений не произойдёт, но для удобочитаемой копии многие красоты придётся не использовать (кроме тех, которые сами появляются: например, ==, !=, окружённые любыми символами, превратятся в композиты самостоятельно). Альфа, к примеру, в зависимости от того, куда вставляется, примет или свой «естественный» вид, или \[Alpha]

Про приоритеты ничего не скажу — во многом они «естественные»; в остальных случаях лучше ставить даже лишние скобки ().

Пару слов об оболочке (front-end)
Пробелы для красоты она вставляет сама, отступы в многострочном вводе тоже. В версии 5 синтаксис не подсвечивается, а в 8 — уже. В пустом документе при любом вводет создастся новая ячейка ввода. Shift-Enter вычислит её (не важно, в каком месте стоял курсор) всю и отобразит в ячейке вывода. Ячейки объединяются в ячейки-группы, и справа структура показывается квадратными скобками с различными вариациями формата, говорящими, что там. При щелчках на них можно их выделять, выделенное можно удалить, дабы не мешалось. Новую ячейку ввода можно создать, щёлкнув перед или после любой ячейки. Пока ячейка вычисляется, соответствующая ей скобка справа становится толсто-тёмно-серой. Если это затянулось, можно прервать вычисления: Evaluation > Abort evaluation или Alt-точка. Вывод может быть по-разному отформатирован (FullForm делает именно такое), имея при этом отображение, отличное от стандартного (OutputForm), но неизменную структуру.

С помощью % или Out[] можно обратиться к предыдущему выводу; угадайте, что делает %%. Если нам нужен предыдущий ввод (можно оперировать с выражениями, не вычисляя их), к услугам In[]. %n даёт n-й вывод (в пределах одной сессии номера никогда не повторяются).

Это ещё не все основы синтаксиса, но почти все.

Строки в стиле C, притом да не вздумаете конкатенировать их с помощью плюса или других вещей — только <> (StringJoin).

Справка получает 9,5 из 10: можно найти почти на любой осмысленный выделенный кусок что-нибудь при F1.

Упс, программистское введение в язык получилось незаметно просто описанием синтаксиса. Базовые функции будут рассмотрены.

?Имя, ??Имя — информация различной полноты, для стандартных вещей всегда со ссылкой на Help, для пользовательских содержит все определения, если не поставлены какие-нибудь атрибуты.

Пакеты
Пакеты загружаются строкой <<ИмяПакета`. Если имя многоуровневое, ` ставится ещё и между уровнями (точка отдана другим целям, например, умножению тензоров (и, как частное, векторов и матриц)), но что-то многоуровневые имена не найду в версии восьмой. В пятой было много.

Если в пакете есть, к недоразумению, функция с именем, как и в глобальном контексте, можно для различения использовать Global`Имя и ИмяПакета`Имя.

Пакетов не создавал, но справка по этому есть; в новых версиях даже специальный редактор (в них вроде бы не разрешено расширенное форматирование — их же надо выполнять, а не любоваться кодом).

Важной частью языка, ограниченной фигурными скобками, является список, который может пониматься как матрица любых размерностей (MatrixForm делает красивый вывод), таблица (TableForm) и прочие. На самом деле, {{}, a, b, , } — это List[List[], a, b, Null, Null].

Ага, вспомнил. Часто к обычным параметрам функции добавляются ещё опции: название -> значение, которые имеют всегда значения по умолчанию, должны ставиться после всех параметров и, конечно же, влияют на вычисление.

Заинтригую разными интересными буквами: Indefinite, Null, Undefined все различны, но использовать их абы где нет смысла.

Булевские значения есть: True, False. Функции, пытающиеся их возвращать, заканчиваются почти всегда на Q.

Есть ужасно много разных модификаций такого простого слова =. И все невзаимозаменяемы.

Самое вкусное варенье ещё осталось. Его просто слишком много. Боюсь, лучше создать файл с вводами и выводами.

Offline Bhudh

  • Posts: 57431
  • Gender: Male
  • aka 蝎
    • Сайты по языкознанию
Quote from: arseniiv
С помощью % или Out[] можно обратиться к предыдущему выводу; угадайте, что делает %%.
Так вот откуда это в Maximæ… :???
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Offline arseniiv

  • Blogger
  • *
  • Posts: 14925
    • ::
Quote from: arseniiv
С помощью % или Out[] можно обратиться к предыдущему выводу; угадайте, что делает %%.
Так вот откуда это в Maximæ… :???
Скорее, это фольклор.

Вот тем, кто установил: ↓


Offline Квас

  • Posts: 9529
  • Gender: Male
    • Международный ЛФ
Захотелось себе тоже.
Пишите письма! :)

Offline arseniiv

  • Blogger
  • *
  • Posts: 14925
    • ::
После такого мутного объяснения, скорее отталкивающего формализмом? :o
Ух ты какой я инспиратор всё-таки.

Прошу тех, кому интересно, комментировать качество «урока».