Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

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

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

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

Чулан
Продолжая тему бесплатного програмного обеспечения, я хотел бы поговорить о продукции компании 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, а ведь нам, конечным пользователям, только это и надо. =)

Острая конкурентная борьба на рынке программного обеспечения, вот что в итоге приводит к революционным прорывам =)
Всего голосов 32: ↑8 и ↓24 -16
Просмотры297
Комментарии 51

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

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

image


Читать дальше →
Всего голосов 100: ↑85 и ↓15 +70
Просмотры1.5K
Комментарии 55

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

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

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



Под катом рассказ об изменениях, технологиях и влиянии хабра
Всего голосов 101: ↑89 и ↓12 +77
Просмотры1.3K
Комментарии 38

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

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

Читать дальше →
Всего голосов 38: ↑35 и ↓3 +32
Просмотры5K
Комментарии 9

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

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

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

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

LaTeX

Прелюдия


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

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

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

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

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

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


Читать дальше →
Всего голосов 60: ↑58 и ↓2 +56
Просмотры27.2K
Комментарии 6

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

Python
Из песочницы
Recovery mode

Введение



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

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

Анализ и проектирование системМатематика

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


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

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


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

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

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

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

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

Подробности
Всего голосов 15: ↑11 и ↓4 +7
Просмотры29.4K
Комментарии 0

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

Блог компании Mail.ru GroupАлгоритмыОбработка изображенийМатематикаМашинное обучение

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


Читать дальше →
Всего голосов 145: ↑141 и ↓4 +137
Просмотры83.5K
Комментарии 38

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

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

Читать дальше →
Всего голосов 108: ↑108 и ↓0 +108
Просмотры92.9K
Комментарии 57

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

Блог компании Open Data SciencePythonData MiningМатематикаМашинное обучение

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



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


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


Читать дальше →
Всего голосов 48: ↑42 и ↓6 +36
Просмотры15.7K
Комментарии 3

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

Обработка изображенийМатематикаРазработка систем связиFPGAПрограммирование микроконтроллеров


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

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

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

Блог компании BadooСовершенный кодGo
Перевод


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

Читать дальше →
Всего голосов 62: ↑61 и ↓1 +60
Просмотры22K
Комментарии 29

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

Блог компании КонтурПрограммированиеJavaКомпиляторы
Разбор последней четвёртой задачи:

    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.
Читать дальше →
Всего голосов 34: ↑33 и ↓1 +32
Просмотры6.3K
Комментарии 23

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

Data MiningАлгоритмыМатематикаМашинное обучение


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


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


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

Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Просмотры8K
Комментарии 3

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

Спам и антиспамМатематикаRМашинное обучениеСтатистика в IT
Из песочницы
Привет! В этой статье я расскажу про байесовский классификатор, как один из вариантов фильтрации спам-писем. Пройдемся по теории, затем закрепим практикой, ну и в конце предоставлю свой набросок кода на мною обожаемом языке R. Буду стараться излагать максимально легкими выражениями и формулировками. Приступим!

image
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры16K
Комментарии 16

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

Ненормальное программированиеПрограммированиеАлгоритмыОбработка изображенийМатематика
image

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