Mathics
Реализация языка программирования Wolfram MathematicaMathics — свободная система для выполнения математических вычислений, совместимая с Wolfram Mathematica. Разрабатывается Jan Pöschko, написана на Python с использованием SymPy и Sage для вычислений и MathJax для отображения результатов. Распространяется под лицензией GNU GPL и позиционируется как свободная альтернатива Mathematica для образовательных целей.
Особенности Mathics по сравнению с Mathematica:
- легковесность; возможности Mathics ограничены (например, не хватает трехмерной графики и функций теории чисел, теории графов и математического анализа), но многие программы на Mathematica работают без изменений;
- меньшая скорость работы;
- интерактивный интерфейс, доступный из ряда браузеров;
-
возможность создания и демонстрации графики в формате
.svg
прямо в онлайн-интерфейсе; - экспорт результатов в LaTeX (графики экспортируются при помощи Asymptote);
- возможность определения новых функций при помощи Python.
Примеры:
Числа Фибоначчи:
Пример для версий Mathics 0.4, Wolfram Mathematica 7.0.1.0, Wolfram Mathematica 8.0.4Print
обязательно завершает вывод переносом строки, поэтому для того, чтобы вывести все числа Фибоначчи в одной строке, их нужно накопить в переменной msg
и вывести ее. <>
— оператор конкатенации; он работает только с явными строками, поэтому результат вызова Fibonacci
нужно явно перевести в строку функцией ToString
.
msg = "";
Do[msg = msg <> ToString[Fibonacci[i]] <> ", " , {i, 16} ];
Print[msg, "..."];
Факториал:
Пример для версий Mathics 0.4, Wolfram Mathematica 7.0.1.0, Wolfram Mathematica 8.0.4Используется встроенная функция вычисления факториала !
. Do
— один из способов реализации циклов; выполняет первый аргумент для всех значений, заданных вторым аргументом, а именно: для всех i
от 0 до 16 с шагом 1.
Do[Print[i, "! = ", i!] , {i, 0, 16, 1}]
Hello, World!:
Пример для версий Mathics 0.4, Wolfram Mathematica 7.0.1.0, Wolfram Mathematica 8.0.4В этом случае создается временная строковая переменная. В конце строки нет символа “;”, и значение этой переменной выводится отдельным Out
, что не всегда удобно.
"Hello, World!"
Hello, World!:
Пример для версий Mathics 0.4, Wolfram Mathematica 7.0.1.0, Wolfram Mathematica 8.0.4Функция Print
выводит свои аргументы в основной выходной поток. Потоки могут быть вложенными, и для удобства копирования результатов лучше пользоваться для вывода одним потоком.
Print["Hello, World!"];
Числа Фибоначчи:
Пример для версий Mathics 0.4Этот пример использует функцию Riffle
, которая в данном случае перемежает элементы массива чисел Фибоначчи копиями строки “,”.
StringJoin[Riffle[Map[ToString, Table[Fibonacci[i], {i,16}]], ", "]] <> "..."
Комментарии
]]>blog comments powered by Disqus
]]>