Как стать автором
Обновить

Открытый семинар «Light and Сolour»

Время прочтения 1 мин
Просмотры 253
Data Engineering *

Открытый семинар пройдёт 17 марта в 16:30 (мск). На семинаре поговорим о том, как представлен цвет в компьютерной графике: цветовые модели, стандарты кодирования и отображения, динамический диапазон, и как эти вещи связаны с физикой света и особенностями человеческого восприятия.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

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

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

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

Время прочтения 2 мин
Просмотры 704
Чулан
Продолжая тему бесплатного програмного обеспечения, я хотел бы поговорить о продукции компании 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
Комментарии 51

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

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

image


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

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

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

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



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

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

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

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

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

Время прочтения 5 мин
Просмотры 3.4K
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
Комментарии 28

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

Время прочтения 3 мин
Просмотры 2.4K
LaTeX *

Прелюдия


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

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

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

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

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

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


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

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

Время прочтения 13 мин
Просмотры 2.6K
Python *
Recovery mode
Из песочницы

Введение



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

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

Время прочтения 3 мин
Просмотры 60K
Анализ и проектирование систем *Математика *

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


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

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


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

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

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

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

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

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

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

Время прочтения 14 мин
Просмотры 88K
Блог компании VK Алгоритмы *Обработка изображений *Математика *Машинное обучение *

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


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

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

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

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

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

Время прочтения 17 мин
Просмотры 18K
Блог компании Open Data Science Python *Data Mining *Математика *Машинное обучение *

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



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


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


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

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

Время прочтения 9 мин
Просмотры 22K
Обработка изображений *Математика *Разработка систем связи *FPGA *Программирование микроконтроллеров *


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

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

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

Время прочтения 9 мин
Просмотры 28K
Блог компании Badoo Совершенный код *Go *
Перевод


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

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

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

Время прочтения 43 мин
Просмотры 6.7K
Блог компании Контур Программирование *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
Комментарии 23

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

Время прочтения 11 мин
Просмотры 8.6K
Data Mining *Алгоритмы *Математика *Машинное обучение *


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


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


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

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

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

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

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