Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 638282)
Контекстум
Электро-2024

Осваиваем язык Julia (3000,00 руб.)

0   0
Первый авторШеррингтон
ИздательствоМ.: ДМК Пресс
Страниц418
ID795131
АннотацияJulia — это хорошо структурированный язык программирования с большим быстродействием, устраняющий классическую проблему выполнения анализа на одном языке и трансляции его результатов на второй с целью повышения производительности. Приведены этапы инсталляции и выполнения Julia в разных операционных средах. Описываются различные способы работы с языком, его ключевой функционал, пошагово разбираются практические примеры. Рассмотрена работа Julia с внешними процессами, благодаря которым происходит значительное улучшение качества визуализации графиков и данных. Не обделено вниманием метапрограммирование, формирующее сетевую и распределенную вычислительную среду языка. Издание предназначено для специалистов в области анализа данных, а также разработчиков, желающих познакомиться с новым языком программирования.
ISBN978-5-97060-370-3
УДК004.438Julia
ББК32.973.2
Шеррингтон, М. Осваиваем язык Julia / М. Шеррингтон .— Москва : ДМК Пресс, 2017 .— 418 с. — ISBN 978-5-97060-370-3 .— URL: https://rucont.ru/efd/795131 (дата обращения: 09.06.2024)

Предпросмотр (выдержки из произведения)

Осваиваем_язык_Julia.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Осваиваем_язык_Julia.pdf
УДК 004.438Julia ББК 32.973.2 Ш49 Ш49 Осваиваем язык Julia / пер. с анг. А. В. Логунова. – М.: ДМК Пресс, 2017. – 416 с.: ил. Шеррингтон М. ISBN 978-5-97060-370-3 Julia – это хорошо структурированный язык программирования с большим быстродействием, устраняющий классическую проблему выполнения анализа на одном языке и трансляции его результатов на второй с целью повышения производительности. Приведены этапы инсталляции и выполнения Julia в разных операционных средах. Описываются различные способы работы с языком, его ключевой функционал, пошагово разбираются практические примеры. Рассмотрена работа Julia с внешними процессами, благодаря которым происходит значительное улучшение качества визуализации графиков и данных. Не обделено вниманием метапрограммирование, формирующее сетевую и распределенную вычислительную среду языка. Издание предназначено для специалистов в области анализа данных, а также разработчиков, желающих познакомиться с новым языком программирования. УДК 004.438Julia ББК 32.973.2 Copyright ©Packt Publishing, 2015. First published in the English language under the title «Mastering Julia -(9781783553310)» Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-0-13-407770-3 (анг.) Copyright © Packt Publishing, 2015. ISBN 978-5-97060-370-3 (рус.) © Перевод, оформление, издание, ДМК Пресс, 2017
Стр.5
Содержание Осваиваем язык Julia ......................................................12 Об авторе ......................................................................13 О рецензентах................................................................14 Предисловие .................................................................15 О чем рассказывает эта книга ..................................................................................................16 Что вам потребуется для работы ............................................................................................17 Для кого эта книга .......................................................................................................................17 Соглашения ....................................................................................................................................18 Обратная связь .........................................................................................................................19 Скачивание исходного кода программ ............................................................................19 Ошибки и опечатки ................................................................................................................19 Нарушение авторских прав .................................................................................................19 Вопросы ......................................................................................................................................20 Readme от автора ..........................................................................................................................20 Комментарий переводчика .......................................................................................................20 Выполнение примеров программного кода на Julia ....................................................21 Установка среды разработки Julia .....................................................................................22 Установка пакетов в среду разработки Julia ..................................................................23 Установка и удаление IDE Juno/Atom ............................................................................25 Установка и работа с плагином для Eclipse ....................................................................25 Работа с Julia в облаке JuliaBox ..........................................................................................26 Установка и удаление дистрибутива Anaconda Python .............................................26 Запуск сервера записных книжек Jupyter ......................................................................27 Факультативные настройки среды ...................................................................................27 Среда разработки Julia ....................................................29 Введение ..........................................................................................................................................29 Философия ................................................................................................................................30 Роль в науке о данных и в области больших данных .................................................31 Сопоставление с другими языками ..................................................................................32 Характеристики .......................................................................................................................34 Начало работы ...............................................................................................................................35 Исходные тексты Julia ...........................................................................................................36 Сборка из исходников ...........................................................................................................37 Изучение стека исходного кода .........................................................................................41 Интегрированная среда разработки Juno .......................................................................42
Стр.6
6  Содержание Плагин JuliaDT для среды программирования Eclipse .............................................43 Среда программирования IJulia .........................................................................................44 Краткий обзор языка Julia ........................................................................................................46 Julia через консоль ..................................................................................................................47 Установка некоторых пакетов .............................................................................................50 Мои эталонные испытания ..................................................................................................52 Управление пакетами .................................................................................................................53 Вывод перечня пакетов, добавление и удаление..........................................................53 Выбор и ознакомление с пакетами ...................................................................................54 Как деинсталлировать Julia .................................................................................................58 Добавление незарегистрированного пакета ..................................................................59 Особенности языка Julia ............................................................................................................59 Параллельная обработка ......................................................................................................59 Множественная диспетчеризация ....................................................................................60 Гомоиконные макрокоманды ..............................................................................................60 Межязыковое взаимодействие ...........................................................................................60 Заключение ....................................................................................................................................61 Разработка на Julia .........................................................62 Целые числа, биты, байты и логические значения ...........................................................62 Целое ...........................................................................................................................................63 Логические и арифметические операторы .....................................................................65 Логический тип ........................................................................................................................65 Массивы ..........................................................................................................................................66 Операции на матрицах ..........................................................................................................68 Поэлементные операции ......................................................................................................68 Простая марковская цепь – кошки и мышки ................................................................69 Символьный и строковый типы .............................................................................................70 Символьный тип .....................................................................................................................70 Строковый тип .........................................................................................................................71 Пример: игра «Быки и коровы» .........................................................................................74 Вещественные, комплексные и рациональные числа .....................................................76 Вещественные ..........................................................................................................................77 Рациональные числа ..............................................................................................................78 Комплексные числа ................................................................................................................78 Составные типы ............................................................................................................................82 Дополнительно о матрицах ......................................................................................................82 Векторизованный и девекторизованный программный код ...................................83 Многомерные массивы .........................................................................................................83 Разреженные матрицы ..........................................................................................................85 Массивы и таблицы данных .....................................................................................................86
Стр.7
Содержание  7 Словари, множества и прочее ..................................................................................................87 Словари ......................................................................................................................................87 Множества .................................................................................................................................89 Другие структуры данных....................................................................................................90 Заключение ....................................................................................................................................91 Типы и диспетчеризация ..................................................92 Функции..........................................................................................................................................92 Объекты первого класса .......................................................................................................92 Передача аргументов .............................................................................................................96 Область видимости.............................................................................................................. 100 Задача о восьми ферзях ..................................................................................................... 103 Система типов Julia .................................................................................................................. 104 Обзор рационального типа ............................................................................................... 104 Тип данных для транспортных средств ........................................................................ 107 Перечисляемый тип ............................................................................................................ 116 Множественная диспетчеризация ...................................................................................... 118 Параметрические типы ...................................................................................................... 119 Операции преобразования и приведения .................................................................... 121 Модуль для фиксированного 3D-вектора ................................................................... 122 Заключение ................................................................................................................................. 124 Функциональная совместимость .....................................125 Взаимодействие с другими программными средами ................................................... 125 Обращение к программам на C и Fortran .................................................................... 126 Язык Python ........................................................................................................................... 131 Некоторые другие языки ................................................................................................... 133 Программный интерфейс Julia ........................................................................................ 133 Обращение к API из C ........................................................................................................ 134 Метапрограммирование ......................................................................................................... 136 Символические имена ........................................................................................................ 136 Макрокоманды ...................................................................................................................... 138 Тестирование ......................................................................................................................... 141 Макрокоманда enum ........................................................................................................... 143 Объект Task и многозадачность ........................................................................................... 145 Параллельные операции .................................................................................................... 146 Распределенные массивы .................................................................................................. 148 Простая модель MapReduce ............................................................................................. 151 Исполнение команд .................................................................................................................. 152 Запуск команд на исполнение ......................................................................................... 153 Работа с файловой системой ............................................................................................ 155
Стр.8
8  Содержание Перенаправление ввода-вывода и конвейеры ........................................................... 157 Заключение ................................................................................................................................. 160 Работа с данными .........................................................161 Базовая система ввода-вывода ............................................................................................. 161 Терминальный ввод-вывод ............................................................................................... 161 Дисковые файлы .................................................................................................................. 163 Обработка текста .................................................................................................................. 165 Двоичные файлы .................................................................................................................. 167 Структурированные наборы данных ................................................................................. 169 Файлы CSV и DLM ............................................................................................................. 169 Файлы HDF5 ......................................................................................................................... 173 Файлы XML ........................................................................................................................... 176 DataFrames и RDatasets .......................................................................................................... 179 Пакет DataFrames ................................................................................................................ 179 Таблицы данных DataFrame ............................................................................................. 180 Пакет RDatasets .................................................................................................................... 183 Статистика ................................................................................................................................... 187 Простые статистики ............................................................................................................ 188 Выборки и их оценка .......................................................................................................... 190 Модуль Pandas ...................................................................................................................... 190 Отдельные темы ........................................................................................................................ 192 Временные ряды ................................................................................................................... 192 Распределения вероятностей ........................................................................................... 195 Проверка статистических гипотез ................................................................................. 197 Обобщенная линейная модель ........................................................................................ 199 Заключение ................................................................................................................................. 202 Научное программирование ...........................................203 Линейная алгебра ...................................................................................................................... 204 Система уравнений .............................................................................................................. 204 Разложение матриц ............................................................................................................. 206 Собственные значения и собственные векторы ........................................................ 207 Матрицы специального вида ........................................................................................... 210 Обработка сигналов ................................................................................................................. 211 Частотный анализ ................................................................................................................ 211 Фильтрация и сглаживание .............................................................................................. 211 Цифровые фильтры ............................................................................................................. 214 Обработка изображений .................................................................................................... 214 Дифференциальные уравнения ........................................................................................... 217 Решение обыкновенных дифференциальных уравнений ...................................... 217
Стр.9
Содержание  9 Нелинейные обыкновенные дифференциальные уравнения .............................. 219 Дифференциальные уравнения в частных производных ...................................... 222 Оптимизационные задачи ...................................................................................................... 224 Пакет JuMP ............................................................................................................................ 225 Пакет Optim ........................................................................................................................... 227 Пакет NLopt ........................................................................................................................... 229 Стохастические задачи ............................................................................................................ 233 Стохастическое моделирование ...................................................................................... 233 Байесовские методы и марковские процессы ............................................................ 237 Заключение ................................................................................................................................. 243 Графика ......................................................................244 Базовая графика в Julia ........................................................................................................... 245 Построение текстовых графиков .................................................................................... 245 Пакет Cairo ............................................................................................................................. 246 Пакет Winston ....................................................................................................................... 248 Визуализация данных ............................................................................................................. 251 Пакет Gadfly ........................................................................................................................... 252 Пакет Compose ...................................................................................................................... 257 Графические движки ................................................................................................................ 259 Пакет PyPlot .......................................................................................................................... 259 Пакет Gaston .......................................................................................................................... 262 Пакет PGFPlots .................................................................................................................... 264 Использование сети Интернет ............................................................................................. 267 Пакет Bokeh ........................................................................................................................... 267 Пакет Plotly ............................................................................................................................ 268 Растровая графика .................................................................................................................... 271 Возвращаясь к пакету Cairo ............................................................................................. 272 Возвращаясь к пакету Winston ........................................................................................ 273 Пакеты Images и ImageView ............................................................................................. 274 Заключение ................................................................................................................................. 276 Базы данных ................................................................278 Общий обзор баз данных ........................................................................................................ 278 Вот две таблетки: красная и синяя. Выбирай! ........................................................... 279 Взаимодействие с базами данных .................................................................................. 280 Другие соображения ........................................................................................................... 282 Реляционные базы данных .................................................................................................... 283 Создание и загрузка ............................................................................................................ 283 Нативные интерфейсы ....................................................................................................... 286 Программный интерфейс ODBC ................................................................................... 289
Стр.10
10  Содержание Другие методы взаимодействия...................................................................................... 293 Интерфейс DBI ..................................................................................................................... 294 Пакет PyCall .......................................................................................................................... 296 Стандарт взаимодействия JDBC .................................................................................... 298 Хранилища данных NoSQL ................................................................................................... 299 Системы «ключ-значение» ............................................................................................... 300 Документоориентированные хранилища данных .................................................... 303 Взаимодействие с RESTful .................................................................................................... 306 Данные в формате JSON .................................................................................................... 307 Интернет-СУБД ................................................................................................................... 308 Графовые системы хранения данных ............................................................................ 311 Заключение ................................................................................................................................. 314 Сетевое взаимодействие ...............................................315 Сокеты и серверы ...................................................................................................................... 315 Стандартные порты ............................................................................................................. 315 Сокеты UDP и TCP в Julia ............................................................................................... 316 «Зазеркальный» эхо-сервер.............................................................................................. 317 Именованные каналы ......................................................................................................... 320 Работа в сети Интернет ........................................................................................................... 321 Веб-служба на основе TCP ............................................................................................... 321 Группа пакетов JuliaWeb .................................................................................................... 323 Сервер цитат .......................................................................................................................... 326 Технология WebSocket ....................................................................................................... 328 Обмен сообщениями ................................................................................................................ 332 Электронная почта .............................................................................................................. 332 Социальная сеть Twitter .................................................................................................... 333 СМС-сообщения .................................................................................................................. 335 Облачные службы ..................................................................................................................... 338 Введение в веб-службы Amazon ...................................................................................... 339 Пакет AWS.jl .......................................................................................................................... 340 Платформа Google Cloud .................................................................................................. 344 Заключение ................................................................................................................................. 347 Работа с Julia ...............................................................348 Внутреннее устройство ........................................................................................................... 348 Язык Femtolisp ...................................................................................................................... 349 Программный интерфейс Julia ........................................................................................ 350 Генерация машинных кодов ............................................................................................. 352 Советы относительно производительности .................................................................... 355 Наиболее успешная практика .......................................................................................... 355
Стр.11
Содержание  11 Профилирование .................................................................................................................. 357 Статический анализ кода .................................................................................................. 359 Отладка .................................................................................................................................... 361 Разработка пакета ..................................................................................................................... 363 Анатомия ................................................................................................................................. 363 Классификация ..................................................................................................................... 366 Использование Git............................................................................................................... 367 Публикация ............................................................................................................................ 369 Сообщества программистов .................................................................................................. 370 Классификации .................................................................................................................... 371 Группа пакетов JuliaAstro .................................................................................................. 371 Группа пакетов JuliaGPU .................................................................................................. 378 Что не вошло в книгу? ............................................................................................................. 381 Заключение ................................................................................................................................. 382 Символическая математика с Julia ..................................384 Введение ....................................................................................................................................... 384 О пакете ................................................................................................................................... 385 Уравнения ............................................................................................................................... 386 Элементарная алгебра ........................................................................................................ 386 Решение уравнений ............................................................................................................. 387 Построение графиков выражений ................................................................................. 390 Пределы ................................................................................................................................... 392 Производные ......................................................................................................................... 393 Экстремумы ........................................................................................................................... 394 Интегрирование.................................................................................................................... 394 Применения ........................................................................................................................... 395 Глоссарий основных терминов и сокращений ....................398 Предметный указатель ..................................................406
Стр.12

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст