Pull to refresh
  • by relevance
  • by date
  • by rating

FOSS решения для математических вычислений на компьютере. Part 1 — Octave

Lumber room
Octave — Высокоуровневый язык в основном предназначенный для математических вычислений. Синтаксис похож а синтаксис Матлаба, кроме того полностью поддерживает его(ну а Матлаб понятное дело не всегда поддерживает синтаксис Октава).
Поддерживает создание графиков с помощью GNUPlot.
Есть версии как для *nix систем, так и для Windows.
Для КДЕ есть KOctave — графический фронтэнд, может быть есть что-то подобное и для остальных WM/DE/систем
Немного детальнее
Total votes 4: ↑3 and ↓1 +2
Views 612
Comments 8

Как однажды Emacs из Octave в Latex формулы таскал

Emacs *
Довольно часто приходится для университета проводить различные несложные расчеты лабораторных, расчетных и, в этом семестре, дипломной работы бакалавра. По каждой из них необходимо составить отчет, в котором должны быть приведены все расчеты как в символьном виде, так и в численной форме. Иногда доводилось по три раза перенабирать отчет заново, когда преподаватель обнаруживал ошибку за ошибкой в самом начале.

Отчет в двадцать страниц, из которых пятнадцать — расчетов. Никакой разумной деятельности, только тупой и кропотливый набор формул пальчиками.

Когда я начал писать бакалаврскую работу, стало ясно, что вбивать все эти десятки/сотни формул в отчет раз по десять каждую нет никакого желания, зато есть желание побольше узнать о возможностях Emacs и Emacs Lisp.Так само собой решилось, что надо этот самый набор формул спрограммировать.
Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Views 2.1K
Comments 3

FITS (Flexible Image Transport System) формат в Octave

Programming *
Sandbox
Продолжая свое знакомство с Octave решил я попробовать выполнить элементарные операции с FITS-файлами. Как оказалось, в «умолчательном» Octave средств для работы с FITS'ами нет. Но гугл мне помог.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 1.6K
Comments 5

Применение Octave для вычисления центра вращения звездного поля

Image processing *
Я уже частично говорил о работе с FITS-файлами в Octave. Теперь расскажу о применении этого математического пакета для обработки конкретных данных, а именно: для вычисления центра вращения звездного поля по набору снимков, полученных с определенным интервалом.
Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Views 3.6K
Comments 12

Вебсервер nginx + fastcgi-wrapper + matlab

Abnormal programming *Matlab *

Сегодня я не в первый раз задался вопросами: какие языки программирования пригодны для веба, и имеет ли смысл решать какую-то узкую задачу способом, который на первый взгляд для этого не подходит? Мне захотелось попрактиковаться, сделав что-нибудь обычное необычным способом.


Читать дальше →
Total votes 35: ↑29 and ↓6 +23
Views 5.4K
Comments 27

Программирование в Maxima

Open source *Lisp *Mathematics *
Sandbox
Tutorial

Урок Maxima


Введение

Maxima — свободная система компьютерный алгебры (Computer algebra system — CAS), основанная на Common Lisp. В своих функциональных возможностях она едва уступает другим современным платным CAS, таким как Mathcad, Mathematica, Maple; может проводить аналитические (символьные) вычисления, численные расчеты, строить графики (при помощи gnuplot). Имеется возможность написания скриптов и даже трансляции их в код на Common Lisp с последующей компиляцией. В виду того, что maxima писалась из разрабатывалась программистами lisp, ее синтаксис может показаться несколько запутанным, поскольку язык является сразу и императивным и функциональным. Я попытаюсь разъяснить именно эти моменты и доступно изложить суть функционального подхода, и совсем не буду акцентировать внимания на конкретных математических функциях: их довольно легко освоить самостоятельно. В данной статье рассматривается именно особенности исчисления и синтаксических конструкций maxima.
Читать дальше →
Total votes 53: ↑50 and ↓3 +47
Views 24K
Comments 24

Планшет — не роскошь

Programming *
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Фольклор


«Вы назовете это извращением. Но кто сказал, что извращение — это плохо?»
Один доцент нашей кафедры


Идея описанного ниже эксперимента возникла после серии услышанных и подслушанных высказываний о том, что современные планшеты не могут выступать в роли инструментов серьезной научно-исследовательской деятельности. Действительно, для многих пользователей работа с планшетником сводится к веб-серфингу, переписке по электронной почте и разного протокола мессенджерах, чтению книг, просмотру видео и иным преимущественно развлекательным целям. Также, как следует ожидать и как показывает недавний пост, планшетник является прекрасным мобильным подспорьем при работе с «офисными» приложениями. Однако аппаратные характеристики существующей техники позволяют задуматься — а насколько же эффективным станет планшет на изначальном для компьютеров поприще.

Читать дальше →
Total votes 122: ↑103 and ↓19 +84
Views 77K
Comments 74

Методика сравнения алгоритмов и для чего она ещё может пригодиться

Algorithms *Mathematics *
Sandbox
Прочитав недавно статью «Введение в оптимизацию. Имитация отжига» захотел принять участие в сравнении алгоритмов оптимизации. Но ведь их действительно хорошо бы сравнить. А в материалах исходной статьи не приводится никаких количественных данных. Значит, подумал я, надо сначала сформулировать критерии сравнения. Чем и предлагаю заняться в данной статье.

Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Views 13K
Comments 1

Новые инструменты (Octave и Scilab) во FlyElephant и анонс вебинаров

FlyElephant corporate blog High performance *Data Mining *Big Data *R *


Команда FlyElephant поздравляет всех с наступившим Новым Годом. Мы начинаем этот год с расширения списка инструментов, вебинаров и формирования сообщества вокруг проекта.

FlyElephant — это платформа, которая предоставляет ученым готовую вычислительную инфраструктуру для проведения расчетов, автоматизирует рутинные задачи и позволяет сосредоточиться на основных вопросов исследований.

Для пользователей платформы FlyElephant стали доступны Octave и Scilab, таким образом полный список поддерживаемых языков и инструментов следующий: GCC (с поддержкой OpenMP), R, Python (v2 & v3), Octave и Scilab. Для участников программы бета-тестирования стал доступен следующий инструментарий: Java (v7 & v8), Julia, OpenFOAM, GROMACS и Blender. Если Вы еще не являетесь пользователем платформы FlyElephant, то зарегистрироваться можно здесь. В честь Нового Года Вы можете пополнить свой счет на $300 введя в Личном кабинете специальный промо-код: 195708679772.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Views 4.7K
Comments 2

FlyElephant как инструмент для вычислений на C++, R, Python или Octave

FlyElephant corporate blog High performance *Python *C++ *Big Data *

Приветствую всех!

Сегодня я расскажу о возможностях платформы FlyElephant для ученых и инженеров, которые в своей работе проводят различные вычисления на C++, R, Python или Octave. Это могут быть научные расчеты, анализ данных, моделирование или другие задачи. 22 января я буду проводить вебинар “Введение в FlyElephant”, на котором детально расскажу о платформе FlyElephant, а сегодня в общих чертах познакомлю вас с ней и покажу процесс проведения расчетов.

FlyElephant — это платформа, которая предоставляет ученым готовую вычислительную инфраструктуру для проведения расчетов, автоматизирует рутинные задачи и позволяет сосредоточиться на основных вопросах исследований.
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Views 11K
Comments 21

Работа с приватными репозиториями и другие обновления платформы FlyElephant

FlyElephant corporate blog High performance *C++ *Big Data *Microsoft Azure


Команда платформы FlyElephant подготовила ряд обновлений, которые позволяют работать с приватными репозиториями, повышают безопасность системы и улучшают работу с задачами.

FlyElephant — это платформа для ученых, которая предоставляет готовую вычислительную инфраструктуру для проведения расчетов, помогает находить партнеров и совместно работать над проектами, а также управлять всеми данными из одного места. FlyElephant автоматизирует рутинные задачи и позволяет сосредоточиться на основных вопросах исследований.

В качестве вычислительного ресурса используется облако Azure. Пользователи могут запускать вычислительные задачи, написанные с помощью С++ (с поддержкой OpenMP), R, Python, Octave, Scilab, Java, Julia, OpenFOAM, GROMACS, Blender на серверах с количеством ядер от 1 до 32 и оперативной памятью до 448 ГБ.

Среди нововведений можно отметить следующие:
Читать дальше →
Total votes 11: ↑9 and ↓2 +7
Views 3.5K
Comments 0

Видео-туториалы запуска вычислительных задач на Python, R, С++, Octave и Blender во FlyElephant

FlyElephant corporate blog Python *C++ *Data Mining *R *
Пару недель назад, наша команда выпустила свежий релиз FlyElephant — платформа для ученых, которая предоставляет готовую вычислительную инфраструктуру для проведения расчетов, помогает находить партнеров и совместно работать над проектами, а также управлять всеми данными из одного места.

В качестве вычислительного ресурса сейчас используется облако Azure, а пользователи могут запускать вычислительные задачи, написанные с помощью С++ (с поддержкой OpenMP), R, Python, Octave, Scilab, Java, Julia, OpenFOAM, GROMACS, Blender на серверах с количеством ядер от 1 до 32 и оперативной памятью до 448 ГБ.

Сегодня мы хотим поделиться видео-туториалсами запуска задач во FlyElephant. Под катом вы найдете видео, как запускать вычислительные задачи, написанные с помощью С++, R, Python, Octave и рендерить изображения с помощью Blender, а также промо-код для получения бесплатных дополнительных часов работы ваших задач.
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Views 8.3K
Comments 9

Сообщество экспертов, совместная работа над проектами и другие обновления платформы FlyElephant

FlyElephant corporate blog High performance *C++ *Big Data *Microsoft Azure


Команда FlyElephant рада анонсировать релиз платформы FlyElephant 2.0, в который вошли следующие обновления: внутреннее сообщество экспертов, совместная работа над проектами, публичные задачи, поддержка Docker и Jupyter, новое хранилище данных и работа с HPC кластерами.

FlyElephant — платформа для исследователей данных, инженеров и ученых, которая предоставляет готовую вычислительную инфраструктуру для проведения высокопроизводительных вычислений и рендеринга, помогает находить партнеров и совместно работать над проектами, а также управлять всеми ресурсами из одного места. Платформа состоит из 3 основных компонентов:
  • Compute. Быстрый доступ к вычислительному кластеру в облаке с нужным программным обеспечением или HPC кластеру, а также автоматизация проведения расчетов.
  • Collaborate. Совместная работа над проектами и сообщество экспертов, где можно найти партнеров, чтобы вместе решить сложную задачу или получить квалифицированную консультацию.
  • Manage. Управление лицензиями, программным обеспечением, вычислительными ресурсами, шаблонами, алгоритмами, данными и результаты в одном месте.

Среди нововведений отметим следующие:
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Views 2.5K
Comments 0

Высшая математика командной строки — GNU Octave

Programming *Mathematics *
Tutorial

Как я и обещал, перехожу от обзора программ замены калькулятора к более серьезным инструментам. Если помните схему из предыдущего поста, то во второй категории находились табличные: OpenOffice / LibreOffice сотоварищи. Эту партию мы можем смело пропустить, так как к командной строке она не относится, к тому же, среди читателей Хабра трудно найти человека, который бы в них не разбирался. Поэтому перехожу сразу к третьей категории.


Специализированные математические программы, уровень студент+


  1. GNU Octave.
  2. Scilab.
  3. Maxima.
  4. R.
  5. Sage.

На первом месте в этом списке находится Octave, и это не случайность. Исследователи из Университета Мэриленда в США провели сравнительный анализ математических вычислений, используя MATLAB, Octave, SciLab и FreeMat в простом сценарии и в сложном. В первом случае решали систему линейных уравнений а в втором — конечно-разностную дискретизацию уравнения Пуассона в двухмерном пространстве. Основной вывод — GNU Octave справляется с задачами лучше остальных открытых математических пакетов, демонстрируя результат (страницы 23 и 25) сопоставимый с матлабовским.

Читать дальше →
Total votes 50: ↑48 and ↓2 +46
Views 34K
Comments 39

FlyElephant празднует первый год работы в публичном доступе и анонсирует сотрудничество с HPC-HUB

FlyElephant corporate blog High performance *Data Mining *Big Data *Machine learning *


В ноябре FlyElephant празднует первый год работы в публичном доступе. FlyElephant — это платформа для дата-сайентистов, инженеров и ученых, которая ускоряет бизнес с помощью автоматизации Data Science и Engineering Simulation.
Читать дальше →
Total votes 17: ↑13 and ↓4 +9
Views 2.4K
Comments 1

Реализация узла БПФ с плавающей точкой на ПЛИС

Open source *Algorithms *Mathematics *FPGA *Programming microcontrollers *
Всем привет! В этой статье речь пойдет о реализации быстрого преобразования Фурье в формате с плавающей точкой на ПЛИС. Будут показаны основные особенности разработки ядра от самой первой стадии до готового конфигурируемого IP-ядра. В частности, будет проведено сравнение с готовыми ядрами фирмы Xilinx, показаны преимущества и недостатки тех или иных вариантов реализации. В статье будет рассказано о главной особенности ядра БПФ и ОБПФ — об отсутствии необходимости переводить данные в натуральный порядок после БПФ и ОБПФ для их совместной связки. В этой статье я постараюсь отразить всё тонкости реализации проекта под названием FP23FFTK, приведу реальные примеры использования готового ядра. Проект написан на языке VHDL и заточен под FPGA фирмы Xilinx последних семейств.


Читать дальше →
Total votes 43: ↑42 and ↓1 +41
Views 25K
Comments 5

Расчет корректирующего КИХ-фильтра на ПЛИС

Image processing *Mathematics *Development of communication systems *FPGA *Programming microcontrollers *


Всем привет! Написать эту статью меня побудило выступление на семинарах по цифровой обработке сигналов, где слушатели всегда заостряли интерес к методике вычисления корректирующих FIR-фильтров, несмотря на то, что эту тему я затрагивал поверхностно и по большей части рассказывал об этом в ознакомительных чертах. Если публика желает получить тайные знания, то почему бы ими не поделиться. В этой статье я постараюсь в доступной форме изложить алгоритм расчета корректирующих КИХ фильтров, который необходим для выравнивания АЧХ в полосе пропускания после звеньев CIC фильтров в задачах децимации и интерполяции сигналов. В частности, рассмотрим проектирование фильтров на современных ПЛИС Xilinx. Как обычно, в конце статьи будет ссылка на полезные скрипты для расчета различных фильтров и получение файла коэффициентов фильтра-корректора.

Предполагается, что читатель знаком с основами цифровой обработки сигналов и имеет представление о CIC и FIR фильтрах. Приступим.
Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Views 19K
Comments 0

Моделирование динамических систем: введение

Programming *Mathematics *
Tutorial

Предисловие


Трудно переоценить значение компьютерного моделирования в современном мире. Давным давно канули в Лету времена, когда траектории выведения спутников на околоземную орбиту вычислялись толпой девушек-расчетчиц с «Феликсами» наперевес (была такая вычислительная машина). Сегодня скромных размеров ящик около вашего рабочего стола решает все мыслимые и немыслимые задачи. Но есть одно «но».



Состояние инженерного образования, не знаю, как там в столицах, а здесь, на периферии, выглядит в контексте данного вопроса удручающе. Винить тут стоит подход к преподаванию в вузах таких дисциплин как «Численные методы решения инженерных задач на ЭВМ», «Математическое моделирование в %нужное впишите сами%» и прочих. Эта беда инженерного образования вытекает из того факта, что в курсах, подобным перечисленным, порой напрочь отрублены междисциплинарные связи. У обучаемого не складывается в голове цепочка: фундаментальная теория -> практическое применение -> инструмент решения задачи.

У меня давно зрела мысль написать цикл, в котором будет разобрано по полочкам всё то, что мы называем современным математическим моделированием. Но сделать это просто и доступно для тех, кто только начинает познавать эту необъятную дисциплину современной науки. Что из этого выйдет, неизвестно, но тех кому стало интересно я приглашаю под кат.
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Views 19K
Comments 36

Моделирование динамических систем: численные методы решения ОДУ

Programming *Mathematics *
Tutorial

Введение


Очень кратко рассмотрев основы механики в предыдущей статье, перейдем к практике, ибо даже той краткой теории что была рассмотрена хватит с головой.



Итак, задача:
Камень бросают вертикально, без начальной скорости с высоты h = 100 м. Пренебрегая сопротивлением воздуха, определить закон движения камня, как функцию высоты камня над поверхностью Земли от времени. Ускорение свободного падения принять равным 10 м/с2
Простая задачка? Да элементарная, имеющее аналитическое решение, которое легко напишет мало-мальски грамотный школьник. Но эта простая задача послужит нам весьма показательным примером
Читать дальше →
Total votes 27: ↑27 and ↓0 +27
Views 12K
Comments 11

Моделирование динамических систем: введение в GNU Octave

Programming *Mathematics *
Tutorial
Жили-были умные, но очень жадные люди, которые написали замечательную программу Matlab. Умные они были потому, что программа вышла хорошей, а жадными, потому что очень любили деньги. Так любили, что брали их за свой Matlab не только с дядек серьезных, матлабом деньги зарабатывающих, а и с бедных студентов тоже, которым порой и сухую корочку хлеба купить не за что было. И кончилась бы сказочка скоро и невесело, если бы мир был не без добрых и умных людей, написавших похожие на матлаб программы, хоть худо-бедно работающие, да для всех желающих бесплатные. И с открытыми исходными текстами. Так что сами бедные студенты стали те программы дописывать, и работать они лучше и лучше стали с каждым годом. И стали тогда все жить-поживать, да добра наживать...


Введение


Большинство научных работников не ломают голову над тем, как устроены численные методы внутри. Они просто используют их, применяя в своей работе специализированные пакеты численных расчетов. Это совершенно не означает, что не нужно разбираться с тем, как эти методы устроены. Программу пишет человек, а ему свойственно ошибаться. И ошибки сквозят даже в самых дорогих и навороченных системах численной математики сплошь и рядом. К тому же есть задачи, где применение стандартных систем невозможно.

Вместе с тем, умение использовать универсальный математический софт это must have для современного ученого, потому что изобретая велосипед можно никогда не добраться до решения своей основной задачи. Сегодня мы рассмотрим обещанный Octave, попытавшись решить с его помощью очередную детскую задачу, сделав при этом недетские выводы.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 11K
Comments 16
1