Сайт предназначен прежде всего для мобильных устройств:смартфонов и коммуникаторов.

Необходимые файлы для установки итерпретатора Python на мобильное устройство можно загрузить переходя по указанным ссылкам:

Для смартфонов с Symbian S60

ядро Python2.2.2
ядро Python2.5

Для коммуникаторов с Windows Mobile

http://sourceforge.net/projects/pythonce/

 

 

 

 

Презентация книги "Вычислительная математика на смартфонах, коммуникаторах и ноутбуках с использованием программных сред Python"  

Вычислительная математика, как известно, занимается разработкой и реализацией алгоритмов для решения самых разнообразных прикладных задач. Алгоритмическая сторона вопроса будет подробно рассмотрена в дальнейших главах книги. В частности, будут рассмотрены традиционные вопросы: численное решение линейных и нелинейных уравнений, вопросы аппроксимации и интерполяции функций, численное интегрирование, численное решение дифференциальных уравнений и т.д. Но уже сейчас хотелось бы обратить внимание читателя на важнейшее требование, предъявляемое к любому численному алгоритму – это его устойчивость. Коротко говоря, под устойчивостью в классической математике понимают непрерывную зависимость решения задачи от исходных данных и параметров. Помимо этого вычислительная математика учитывает влияние на решение задачи разнообразных ошибок. Прежде всего, здесь идёт речь об ошибках метода и ошибках округления. Ошибки метода возникают в большинстве своём при переходе от бесконечных процессов к конечным (например, ряд заменяется конечной суммой и т.д.). Ошибки округления связаны прежде всего с особенностями машинной арифметики, именно с её конечноразрядностью. На каждой итерации, в каждом узле сетки (а их число достигает подчас десятков и сотен тысяч) приходиться проводить однотипные вычисления с некоторой пусть даже малой машинной погрешностью. Устойчивый вычислительный алгоритм обязан не допустить развития этой погрешности на каждой итерации и более того, он должен обеспечить её уменьшение или стремление к нулю при увеличении числа вычислительных циклов.

Остановимся более подробно на реализации численных алгоритмов. Здесь речь прежде всего идёт о применении той или иной вычислительной техники, главным образом компьютеров. Всякий компьютер состоит из аппаратной (hardware) и программной (software) компонент и предназначен для ввода информации, её обработки и последующего вывода полученных результатов. Если расположить компьютеры в порядке убывания аппаратно-программных мощностей, то получится следующий ряд: настольные компьютеры → ноутбуки → карманные компьютеры → смартфоны и коммуникаторы. Бесспорное лидерство в этом ряду принадлежит настольным компьютерам (desktop) и ноутбукам (notebook) с их мощнейшими аппаратными компонентами (тактовая частота CPU ~ 3500 МГц, оперативная память RAM до 4 Гб) и программными средами (операционные системы: Windows Vista, Windows XP, Linux, математические пакеты символьных вычислений Mathcad, Maple и др.). Гораздо более скромными возможностями обладают «меньшие братья» – карманные компьютеры (частота CPU ~ 400 МГц, оперативная память RAM до 256 Мб, операционные системы Palm, Windows Mobile 6), смартфоны и коммуникаторы (частота CPU ~ 300 МГц, оперативная память RAM до 128 Мб, операционные системы Symbian S60 1st, 2nd, 3rd Edition, Symbian UIQ).

В этой книге в качестве инструмента для реализации алгоритмов вычислительной математики мы рассмотрим именно смартфоны с операционной системой Symbian, снабжённые программной платформой S60, которая специально была разработана для них компанией Nokia. Почему сделан такой выбор? Есть несколько причин. Во-первых, реализации численных алгоритмов на настольных компьютерах с применением математических пакетов символьных вычислений Maple, MathCad, Matlab и др. посвящена обширная литература и не имеет особого смысла повторять сказанное уже много раз (кстати, существует online версия imatlab (http://artspb.com/minimatlab) доступная для любого мобильного телефона с поддержкой GPRS и Java через браузер miniopera (http://www.opera.com). Во-вторых, в настоящее время активно формируется тенденция к мобильности и автономности компьютерной техники (современные ноутбуки с диагональю дисплея 11 дюймов весят около 1,2 кг и даже эти параметры мобильности не удовлетворяют многих пользователей, не говоря уже о высокой стоимости этих компьютеров, превосходящей в 3-4 раза стоимость современных смартфонов), которая в дальнейшем будет только усиливаться. И, наконец, в-третьих, возвращаясь к вопросу об автономности мобильных устройств здесь необходимо отметить, что в последнее время появились программные среды, которые устанавливаются непосредственно на смартфоны (или коммуникаторы) и способные функционировать самостоятельно и независимо от настольных компьютеров (или ноутбуков). Справедливости ради стоит отметить, что функциональность этих мобильных программных сред пока заметно уступает соответствующим аналогам больших машин. Однако, нет никаких сомнений, что в будущем эти различия будут выравниваться и исчезать.

Рассмотрим теперь основные из этих мобильных программных сред. Здесь речь идёт о четырёх вполне автономных средах разработки: Python S60, mShell, Ruby и DROS (Basic). Начнём обзор с конца. DROS (Basic) выполнен в виде эмулятора DOS и является Java-мидлетом (т.е. приложением написанном на языке Java). Этот мидлет позволяет запускать файлы с расширением .bas  программы на языке Basic. Разработка программ происходит непосредственно на смартфоне с помощью удобного редактора текста программы. Распространяется эта среда бесплатно (www.whoredoeuvre.com). Программная среда Ruby (www.preview-ruby-lang.org) обладает существенным недостатком: полностью отсутствует доступ к телефонным функциям смартфона. Однако, математические вычисления и работа с интернетом здесь на высоте. К сожалению, Ruby существует только для Symbian S60 2 nd Edit, и это главный сдерживающий фактор.

И наконец, почти равноценные программные среды mShell (www.mshell.net) и Python (www.python.org), распространяемые бесплатно (правда mShell требует регистрацию) поддерживают смартфоны с Symbian S60 2nd и 3rd Edit. Недостатком mShell является запуск приложений только из своей среды (Python-программы могут быть запущены самостоятельно под Symbian S60 после переработки в sis-файл). Однако и Python имеет существенный недостаток – отсутствие встроенного текстового редактора, что приводит к использованию дополнительных сторонних приложений. В этой книге для реализации алгоритмов вычислительной математики мы будем использовать Python S60.

При написании кодов скриптов и модулей авторы ориентировались на студенческую аудиторию, знакомую с программированием по стандартным общеобразовательным курсам. Естественно при этом краткость и изящество кода уступают перед простотой, доступностью, а подчас и его прямолинейностью. Незыблемыми остаются требования надёжности, правильность выполнения задачи и приемлемое быстродействие. Например, функцию для транспонирования матрицы А можно написать в одну строчку:

tran=lambda A:map(list,apply(map,[None]+A)).

Однако, это «ребусоподобный» код едва ли будет понятен студенту, не искушенному в программировании.

Другой вариант кода той же функции tran(A) (см. Приложение пример Р4 (модуль mls) состоит из девяти строк, но он может быть написан практически любым студентом, ознакомившимся с первой главой этой книги. По этой же причине в книге не используется объектно-ориентированный подход к программированию. Как известно, ООП (объектно-ориентированное программирование) не является обязательным к применению при программировании на языке Python и используется в основном в больших проектах.

Авторы надеются, что книга окажется полезной для студентов, изучающих численные методы и вычислительную математику, а также для преподавателей, проводящих семинарские занятия по этим предметам. В настоящее время трудно найти студента, не имеющего мобильного телефона. При этом естественно студенты отдают предпочтение телефонам с операционной системой, имеющим гораздо большую функциональность и целый ряд других возможностей не доступных для обычных мобильных аппаратов с «прошивкой» (стоимости этих аппаратов вполне сопоставимы, если, конечно же, не брать в рассмотрение топовые модели, например, Nokia N96 и т.д.). Может быть данная книга поможет студентам раскрыть ещё одну возможность смартфонов и коммуникаторов – полноценная, автономная и оперативная реализация алгоритмов вычислительной математики.

Создать бесплатный сайт с uCoz