Pull to refresh
61
0
Василий Писарев @Pand5461

User

Send message

Алгоритм «танцующих ссылок» на Julia: реализация и влияние типизации на производительность

Reading time11 min
Views2.7K

В этой статье я (опять) хочу рассмотреть алгоритм поиска решения задачи полного покрытия, теперь уже с нормальной реализацией через структуру "танцующих ссылок". Заодно на этом примере хочу показать, где и зачем указание типов в Julia критично для производительности, а где оно не обязательно.


Как на Julia сделать, чтобы накрыло
Total votes 9: ↑9 and ↓0+9
Comments2

Непостижимая эффективность множественной диспетчеризации

Reading time13 min
Views6.4K

Под катом предлагается расшифровка доклада Стефана Карпински, одного из ключевых разработчиков языка Julia. В докладе он рассуждает о том, к каким неожиданным результатам привела удобная и эффективная множественная диспетчеризация, взятая за основную парадигму Julia.

Total votes 23: ↑23 and ↓0+23
Comments53

Решаем судоку с помощью Алгоритма X

Reading time6 min
Views28K

В этой статье рассмотрим "Алгоритм X" Кнута и его применение для решения судоку. Прелесть алгоритма в том, что судоку при этом решается быстро без программирования каких-то продвинутых техник решения.

Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments14

Сбалансированные двоичные деревья поиска: реализация на Julia

Reading time20 min
Views20K


Иллюстрация из работы Г.М. Адельсон-Вельского и Е.М. Ландиса 1962 года


Деревья поиска — это структуры данных для упорядоченного хранения и простого поиска элементов. Широко применяются двоичные деревья поиска, в которых у каждого узла есть только два потомка. В этой статье рассмотрим два метода организации двоичных деревьев поиска: алгоритм Адельсон-Вельского и Ландиса (АВЛ-деревья) и ослабленные АВЛ-деревья (WAVL-деревья).

Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments2

Julia: функции и структуры-как-функции

Reading time12 min
Views4.3K
Несмотря на то, что в языке Julia по замыслу отсутствует «классическое» объектно-ориентированное программирование с классами и методами, язык предоставляет средства абстрагирования, ключевую роль в которых играет система типов и элементы функционального программирования. Рассмотрим подробнее второй пункт.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0

Julia: типы, мультиметоды и арифметика над полиномами

Reading time13 min
Views5K
В этой публикации речь пойдёт об основной, на мой взгляд, отличительной особенности языка Julia — представлении функций в виде методов с множественной диспетчеризацией. Это позволяет повысить производительность вычислений, не снижая читаемости кода и не портя абстрагируемость, с одной стороны, и позволяет работать с математическими понятиями в более привычной нотации, с другой. Для примера рассмотрен вопрос единообразной (с точки зрения линейных операций) работы с полиномами в представлении списка коэффициентов и с интерполяционными полиномами.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments10

Вычисление определённых интегралов: базовые алгоритмы

Reading time13 min
Views93K

image
В этой публикации описаны простейшие методы вычисления интегралов функций от одной переменной на отрезке, также называемые квадратурными формулами. Обычно эти методы реализованы в стандартных математических библиотеках, таких как GNU Scientific Library для C, SciPy для Python и других. Публикация имеет целью продемонстрировать, как эти методы работают "под капотом", и обратить внимание на некоторые вопросы точности и производительности алгоритмов. Также хотелось бы отметить связь квадратурных формул и методов численного интегрирования обыкновенных дифференциальных уравнений, о которых хочу написать ещё одну публикацию.

Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments39

Ещё немного о японском зонде

Reading time5 min
Views13K
На днях, 7 декабря 2015 японский зонд «Акацуки» героически вышел на орбиту Венеры после аварии пять лет назад. Об этом уже написал заметку marks. Мне хотелось бы дополнить историю, рассказав об аварии на изначальной миссии.

image
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments6

Unreal Engine применили для моделирования роста нанолеса

Reading time2 min
Views9.3K
Группа учёных из Канады провела моделирование роста разветвлённых нанопроволок (нанодеревьев) весьма оригинальным способом — вместо специализированных научных кодов они взяли коммерческий игровой движок.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments8

Анимированные графики с помощью gnuplot+bash+Avidemux

Reading time6 min
Views14K
Практически неотъемлемая часть любой презентации на естественно-научной конференции — это графики. Нередко интересно увидеть не только график какой-нибудь зависимости в некоторый момент времени, но и посмотреть, как эта зависимость меняется во времени. Очень наглядно это можно показать, сделав много-много графиков и собрав из них видео. Об одном из вариантов, как это сделать, и будет мой пост.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments12

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity