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 601
Comments 8

Open Office — скрытая угроза?

Lumber room
Продолжая тему бесплатного програмного обеспечения, я хотел бы поговорить о продукции компании Sun Microsystems — OpenOffice.org (руссифицированная версия доступна по адресу ru.openoffice.org)

Это пакет оффисных приложений, аналогичных тем что предоставляет MS Office, однако отличительной чертой О.О.(Open Office) является то что эта программа абсолютно бесплатна.

Итак пакет состоит из следующих программ:

* Writer (Текстовый редактор);
* Impress (Редактор презентаций);
* Calc (Редактор таблиц);
* Base (Редактор баз данных);
* Math (Редактор формул);
* Draw

Writer, Impress, Calc и Base, как несложно заметить, имеют прямые аналоги в пакете MS Office, их интерфейс во многом совпадает с интерфейсом 2003-го офиса, что не может не радовать конечного пользователя, “выросшего” на продукции от Microsoft =).

Конечно при сильном внешнем сходстве, существуют и некоторые различия, но они чаще свего касаются деталей, однозначно можно сказать только то, что при наличии желания и 20ти минут свободного времени, можно без особого труда разобраться с большинством функций О.О., а это несомненный плюс в копилку Open Source, если разобраться интуитивно не получается, то к вашим услугам “F1″ =) Справка к продукту обширна и достаточно емка, что позволяет найти вполне понятную информацию по интересующим вас вопросам, огромное спасибо за это разработчикам.

В тоже время не обходится и без минусов, например лично меня не впечатлил редактор Impress, он явно пока что проигрывает PowerPoint и по набору встроенных стилей, и по удобству размещения текста на слайдах.

Итак, является ли OpenOffice.org достойным конкурентом MS Office?

Несомненно!

Конечно, во многих позициях он отстает от “Лидера”, но Sun это компания с огромным потенциалом, и я уверен что через несколько лет она сможет составить ощутимую конкуренцию Microsoft, а ведь нам, конечным пользователям, только это и надо. =)

Острая конкурентная борьба на рынке программного обеспечения, вот что в итоге приводит к революционным прорывам =)
Total votes 32: ↑8 and ↓24 -16
Views 321
Comments 51

Математическая поисковая система Uniquation

Self Promo
Mы только что открыли α-тестирование проекта Uniquation. Это математическая поисковая система, которая ищет решения среди уравнений, равенств и прочих математических объектов, размещенных в интернете. На текущем этапе развития её можно мыслить как развивающуюся CAS (wiki). Помимо этого поста про неё можно прочитать в нашей презентации.

image


Читать дальше →
Total votes 100: ↑85 and ↓15 +70
Views 1.6K
Comments 55

Математическая поисковая система с визуальным вводом формул

Self Promo
Почти полгода назад я написал на хабре статью о проекте математической поисковой системы uniquation.ru. Тогда была получена конструктивная критика, которая помогла улучшить проект.

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



Под катом рассказ об изменениях, технологиях и влиянии хабра
Total votes 101: ↑89 and ↓12 +77
Views 1.5K
Comments 38

Математические вычисления и графики в LyX с использованием Sage

LaTeX *
LyX — это WYSIWYM процессор документов, который прозрачным образом работает с LaTeX. То есть пользователь создаёт в этом процессоре файлы *.lyx, из которых потом создаются и компилируются *.tex.
Sage — это система компьютерной алгебры, работающая прозрачным образом с другими математическими пакетами. Основной интерфейс — командная строка, при этом используется всё многообразие возможностей python. Также доступен web-интерфейс, который можно опробовать на сайте разработчиков.
Совместное использование этих двух разработок открывает интересные возможности. Например, можно создавать отчёты, в которых вычисления, графики и аналитические выкладки будут выполняться автоматически, почти как в маткаде каком-нибудь, но с наглядной структурой LyX, гибкостью python и возможностями вёрстки LaTeX.

Читать дальше →
Total votes 38: ↑35 and ↓3 +32
Views 5.1K
Comments 9

Вычисления с плавающей точкой на этапе компиляции

C++ *
Как известно, в C++ нельзя производить сложные вычисления с плавающей точкой на стадии компиляции. Я решил попробовать избавиться от этого досадного недостатка. Цель, к которой мы будем идти, на примере вычисления корня:
typedef RATIONAL(2,0) x;
typedef sqrt<x>::type result;

Корень числа вычислится на этапе компиляции. Представление числа хранится как отношение двух целых чисел, поэтому чтобы получить значение, нужно обращаться через метод get();
std::cout << result::get() << std::endl;
1.41421356
Подробности
Total votes 41: ↑39 and ↓2 +37
Views 3.1K
Comments 28

Прикручиваем SageTex к LyX под Windows

LaTeX *

Прелюдия


Недавно, просматривая блог LaTeX, наткнулся на занимательную статейку Математические вычисления и графики в LyX с использованием Sage. В голове тут же возникла мысль типа «Наконец-то появился повод сбросить оковы MS Office перестать пользоваться Word для того, для чего он не предназначен — не заниматься идиотским копипастом и пересохранением кучи графиков при малейших изменениях, ведь Sage все сделает за меня!». Тут же был установлен LyX, настала очередь Sage. Но… как оказалось, нативной версии Sage под Windows действительно не существует. Имеется лишь заброшенный полурабочий порт, который мне так и не удалось заставить работать, и ужасно сырая версия Sage под CygWin, которая, похоже, только и умеет, что запускаться.

Малость приуныв, решил попробовать вариант, предлагаемый на странице загрузки — использовать виртуальную машину.
Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Views 2.2K
Comments 12

Как запустить программу без операционной системы: часть 4. Параллельные вычисления

НеоБИТ corporate blog System Programming *
После долгого перерыва продолжаем делать интересные штуки, как всегда на чистом железе без операционной системы. В этой части статьи научимся использовать весь потенциал процессоров: будем запускать программу сразу на нескольких ядрах процессора в полностью параллельном режиме. Чтобы провернуть такое, нам потребуется многое сделать для расширения функциональности программы полученной в части 3.

Просто так выполнять какие-то вычисления на ядрах процессора – скучно, поэтому нужна задача, которая требует больших вычислительных ресурсов, хорошо раскладывается на параллельные вычисления, да и выглядит прикольно. Предлагаем сделать программу, которая рендерит простенькую 3D-сцену, используя алгоритм обратной трассировки лучей, или, по-простому, Ray Tracing.

Начнем с самого начала: наша цель параллельные вычисления на всех ядрах процессора. Все современные процессоры для PC, да и ARM уже тоже (я молчу про GPU) – это многоядерные процессоры. Что же это означает? Это означает, что вместо одного вычислительного ядра у процессора на одном компьютере присутствует несколько ядер. В общем случае, все выглядит несколько сложнее: на компьютере может быть установлено несколько сокетов (чипов процессора), в рамках каждого чипа (в рамках одного кристалла) может находиться сразу несколько физических ядер, а в рамках каждого физического ядра может находиться несколько логических ядер (например, те, что возникают при использовании технологии Hyper Threading). Все это схематично представлено на рисунке ниже, и называется топологией.


Читать дальше →
Total votes 60: ↑58 and ↓2 +56
Views 27K
Comments 6

Программа итерационного поиска

Python *
Sandbox

Введение



Как-то возникла необходимость быстро восстановить ход решения одной задачи. Т.е. у меня был набор входных данных и полученные результаты. Хотелось быстро найти алгоритмы, по которому были получены все ответы. Я попытался написать программу-подсказчик.
Читать дальше →
Total votes 13: ↑5 and ↓8 -3
Views 2.5K
Comments 7

Помогаем роботу-сортировщику на почте

System Analysis and Design *Mathematics *

Короткая предыстория


Беседовал я некоторое время назад со знакомым роботом. Устроился он временно на Почту России сортировщиком писем. Работёнка не пыльная, смотрит индекс на письме и помещает их в нужное отверстие. Но есть проблема с письмами, у которых в индексе сделана опечатка. На выяснение правильного индекса уходит много времени и пиво успевает выдыхаться.

Заноза в голове


После того разговора прошло уже достаточно времени, но дилемма почтовых индексов не выходила у меня из головы.
Казалось бы — что еще тут можно улучшить? Попробуем преобразить вид цифр индекса таким образом, чтобы даже если одна ошибка попадётся, ее можно было автоматически выявить и исправить.

Оказывается улучшить можно.
Попробуем нарисовать новый вид цифры 0.
Если интересно, зачем и почему — прошу под кат.
Читать дальше →
Total votes 110: ↑94 and ↓16 +78
Views 59K
Comments 129

Введение в machine learning: с чего начать изучение и как применять

Data Mining *Mathematics *Machine learning *
image
Машинное обучение — это математическая дисциплина, изучающая алгоритмы способные выделять знания из данных. Несмотря на то, что эта дисциплина в основном теоретическая, в жизни большинства людей она с каждым годом играет все большую и большую роль. Так, сложно сейчас встретить человека, который бы ничего не слышал о торговых роботах, Яндексе, Google Street View, Siri.

В докладе коллеги Алексадра Сенова из проекта Synqera для очередного нашего технического i-Free meet-up проведен небольшой экскурс в машинное обучение. Из него мы узнаем чуть больше про области применения, рассмотрим основные задачи, возникающие в рамках машинного обучения, а так же алгоритмы их решения. Уделим внимание проблемам, возникающим при их применении, приведем пару примеров и рекоммендаций по дальнейшему изучению.

Подробности
Total votes 15: ↑11 and ↓4 +7
Views 29K
Comments 0

Стилизация изображений с помощью нейронных сетей: никакой мистики, просто матан

Mail.ru Group corporate blog Algorithms *Image processing *Mathematics *Machine learning *

Приветствую тебя, Хабр! Наверняка вы заметили, что тема стилизации фотографий под различные художественные стили активно обсуждается в этих ваших интернетах. Читая все эти популярные статьи, вы можете подумать, что под капотом этих приложений творится магия, и нейронная сеть действительно фантазирует и перерисовывает изображение с нуля. Так уж получилось, что наша команда столкнулась с подобной задачей: в рамках внутрикорпоративного хакатона мы сделали стилизацию видео, т.к. приложение для фоточек уже было. В этом посте мы с вами разберемся, как это сеть "перерисовывает" изображения, и разберем статьи, благодаря которым это стало возможно. Рекомендую ознакомиться с прошлым постом перед прочтением этого материала и вообще с основами сверточных нейронных сетей. Вас ждет немного формул, немного кода (примеры я буду приводить на Theano и Lasagne), а также много картинок. Этот пост построен в хронологическом порядке появления статей и, соответственно, самих идей. Иногда я буду его разбавлять нашим недавним опытом. Вот вам мальчик из ада для привлечения внимания.


Читать дальше →
Total votes 145: ↑141 and ↓4 +137
Views 84K
Comments 38

Обзор топологий глубоких сверточных нейронных сетей

Mail.ru Group corporate blog Algorithms *Image processing *Mathematics *Machine learning *
Это будет длиннопост. Я давно хотел написать этот обзор, но sim0nsays меня опередил, и я решил выждать момент, например как появятся результаты ImageNet’а. Вот момент настал, но имаджнет не преподнес никаких сюрпризов, кроме того, что на первом месте по классификации находятся китайские эфэсбэшники. Их модель в лучших традициях кэгла является ансамблем нескольких моделей (Inception, ResNet, Inception ResNet) и обгоняет победителей прошлого всего на полпроцента (кстати, публикации еще нет, и есть мизерный шанс, что там реально что-то новое). Кстати, как видите из результатов имаджнета, что-то пошло не так с добавлением слоев, о чем свидетельствует рост в ширину архитектуры итоговой модели. Может, из нейросетей уже выжали все что можно? Или NVidia слишком задрала цены на GPU и тем самым тормозит развитие ИИ? Зима близко? В общем, на эти вопросы я тут не отвечу. Зато под катом вас ждет много картинок, слоев и танцев с бубном. Подразумевается, что вы уже знакомы с алгоритмом обратного распространения ошибки и понимаете, как работают основные строительные блоки сверточных нейронных сетей: свертки и пулинг.

Читать дальше →
Total votes 108: ↑108 and ↓0 +108
Views 95K
Comments 57

PyMC3 — MCMC и не только

Open Data Science corporate blog Python *Data Mining *Mathematics *Machine learning *

PyMC3 — МСМС и не только



Привет, Хабрахабр!


В этом посте уже упоминался PyMC3. Там можно почитать про основы MCMC-сэмплирования. Здесь я расскажу про вариационный вывод (ADVI), про то, зачем все это нужно и покажу на довольно простых примерах из галереи PyMC3, чем это может быть полезно. Одним из таких примеров будет байесовская нейронная сеть для задачи классификации, но это в самом конце. Кому интересно — добро пожаловать!


Читать дальше →
Total votes 48: ↑42 and ↓6 +36
Views 16K
Comments 3

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

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

Обзор реализаций округления в Go

Badoo corporate blog Perfect code *Go *
Translation


Привет, Хабр! Меня зовут Олег, я PHP-и-не-только-разработчик в Badoo. Меня часто удивляет, насколько по-разному в языках программирования подходят к составлению стандартной библиотеки. Go — не исключение: отсутствие функции math.Round() меня удивило. Однако, покопавшись в этих ваших интернетах, я выяснил, в чём причина. Этими знаниями я и хотел бы поделиться в своём вольном переводе.

Читать дальше →
Total votes 62: ↑61 and ↓1 +60
Views 23K
Comments 29

Разбор перформансных задач с JBreak (часть 4)

Контур corporate blog Programming *Java *Compilers *
Разбор последней четвёртой задачи:

    public double octaPow(double a) {
        return Math.pow(a, 8);
    }

    public double octaPow(double a) {
        return a * a * a * a * a * a * a * a;
    }

    public double octaPow(double a) {
        return Math.pow(Math.pow(Math.pow(a, 2), 2), 2);
    }

    public double octaPow(double a) {
        a *= a; a *= a; return a * a;
    }

Условие (упрощённо):
Определить, какие методы быстрые, а какие — медленные (JRE 1.8.0_161).
Под катом бенчмарки, куски ассемблера и разбор оптимизаций со стороны JVM.

Другие публикации серии: Часть 1, Часть 2 и Часть 3.
Читать дальше →
Total votes 34: ↑33 and ↓1 +32
Views 6.4K
Comments 23

IGNG — инкрементальный алгоритм растущего нейронного газа

Data Mining *Algorithms *Mathematics *Machine learning *


При написании статьи о разработке детектора аномалий я реализовывал один из алгоритмов, который называется "Инкрементальный растущий нейронный газ".


В советской литературе российском сегменте Интернета эта тема освещена достаточно слабо, и нашлась только одна статья, да и то с прикладным применением данного алгоритма.


Итак, что же такое — алгоритм инкрементального растущего нейронного газа?

Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views 8.1K
Comments 3

Наивный Байес, или о том, как математика позволяет фильтровать спам

Spamming and anti-spamming Mathematics *R *Machine learning *Statistics in IT
Sandbox
Привет! В этой статье я расскажу про байесовский классификатор, как один из вариантов фильтрации спам-писем. Пройдемся по теории, затем закрепим практикой, ну и в конце предоставлю свой набросок кода на мною обожаемом языке R. Буду стараться излагать максимально легкими выражениями и формулировками. Приступим!

image
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Views 17K
Comments 16

Laplace Blur — Можно ли блюрить Лапласом вместо Гаусса, во сколько раз это быстрее, и стоит ли того потеря 1/32 точности

Abnormal programming *Programming *Algorithms *Image processing *Mathematics *
image

«Блюр» в простонародье — эффект размытия, в цифровой обработке изображений. Бывает очень эффектен и сам по себе, и как составляющее анимаций интерфейса, или более сложных производных эффектов (bloom/focusBlur/motionBlur). При всем этом честный блюр в лоб довольно медленен. И часто реализации встроенные в целевую платформу оставляют желать лучшего. То скорость печальна, то артефакты режут глаза. Ситуация рождает множество компромиссных реализаций, лучше или хуже подходящих для определенных условий. Оригинальная реализация с хорошим качеством достоверности и высочайшей скоростью, при этом нижайшей зависимостью от аппаратной части ждет вас под катом. Приятного аппетита!
Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Views 9.8K
Comments 35