Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Почему никто не интересуется Wolfram Mathematica?

Автор arseniiv, апреля 3, 2011, 20:06

0 Пользователи и 1 гость просматривают эту тему.

Вадимий

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

arseniiv


Вадимий

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

Proszę o tłumaczenie.

Квас

arseniiv, if I were you, I'd separate the wheat from the chaff.
Пишите письма! :)

arseniiv



arseniiv

Цитата: Вадимий от апреля  4, 2011, 18:23
*czym
Tak i znal!

Цитата: arseniiv от апреля  4, 2011, 18:07
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: Если флуд королева, король ли тогда оффтопик? В таком случае, эта тема одна из областей — их [обширного] королевства [на ЛФ], о [боги]. Не могу смотреть[!].

Искандер

Цитата: Вадимий от апреля  4, 2011, 16:28
verstaумляутdnlich

Цитата: Вадимий от апреля  4, 2011, 16:19
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

arseniiv

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

Искандер

"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

arseniiv


Искандер

"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

Квас

Цитата: arseniiv от апреля  5, 2011, 15:57
Quase спрашивал, что нового в Mathematica 8. Установил и гляжу. И рот растягивается до ушей.

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

arseniiv

Много желанного по отношению к версии 5.

Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Квас

arseniiv, хоть бы поагитировали. Плюс ликбез: основы синтаксиса, пакеты (или что там вместо них), программирование. А?
Пишите письма! :)

arseniiv

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


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

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-й вывод (в пределах одной сессии номера никогда не повторяются).

arseniiv

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

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

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

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

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

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

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

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

arseniiv

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

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

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

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

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

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

Bhudh

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

arseniiv

Цитата: Bhudh от апреля  6, 2011, 16:59
Цитата: arseniivС помощью % или Out[] можно обратиться к предыдущему выводу; угадайте, что делает %%.
Так вот откуда это в Maximæ... :???
Скорее, это фольклор.

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

arseniiv


Квас

Пишите письма! :)

arseniiv

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

arseniiv

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