Search
Write a publication
Pull to refresh
-9
0

Software Engineer

Send message

Единый математический язык для физики и инженерного искусства в 21 веке

Level of difficultyMedium
Reading time18 min
Views15K

Конец 18-го и 19-й век были временем колоссального прогресса в математике. Величайшие умы тысячелетия вводили все новые математические системы и языки, такие как алгебры Клиффорда и Грассмана. Хотя эти алгебры вызвали значительный интерес, в то время они воспринимались как подспорье более прямолинейной и более общеприменимой векторной алгебры Гиббса. Это было фактически концом поисков объединяющего математического языка и началом распространения новых алгебраических систем, создаваемых по мере необходимости; например, спинорная алгебра, матричная и тензорная алгебры, дифференциальные формы и т. д.

В этой статье мы реализуем возрождение алгебр Клифорда и Грассмана в виде структуры, известной как геометрическая алгебра (ГА). Это понятие было впервые введено в середине 1960-х годов американским физиком и математиком Дэвидом Хестенсом. Прошло 40 лет, но есть признаки того, что его утверждение о том, что ГА является универсальным языком для физики и математики, теперь начинает принимать все более явственные очертания. Во всем мире растет число групп, которые применяют ГА к целому ряду проблем из многих научных областей, обеспечивая чрезвычайно мощную математическую структуру, в которой могут быть выражены самые передовые концепции квантовой механики, теории относительности, электромагнетизма и т. д. При этом, утверждается, что ГА также достаточно проста для преподавания школьникам! В этой статье мы рассмотрим развитие и недавний прогресс ГА и обсудим, действительно ли она является объединяющим языком для физики и математики 21-го века. Примеры, которые мы будем использовать для иллюстрации, будут взяты из ряда областей физики и техники.

Читать далее

Полезные консольные Linux утилиты

Reading time13 min
Views128K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →

Объясняем на пальцах принцип действия оптимизаторов для нейронных сетей: основные алгоритмы, и зачем они нужны

Reading time10 min
Views28K

Оптимизаторы — важный компонент архитектуры нейронных сетей. Они играют важную роль в процессе тренировки нейронных сетей, помогая им делать всё более точные прогнозы. Специально к старту нового потока расширенного курса по машинному и глубокому обучению, делимся с вами простым описанием основных методик, используемых оптимизаторами градиентного спуска, такими как SGD, Momentum, RMSProp, Adam и др. 

Читать далее

Змейка на Haskell с циклом Гамильтона

Reading time12 min
Views6.7K

После прохождения курса по Haskell решил закрепить знания первым проектом. Писать будем змейку для терминала. Чтобы придать игре уникальности, добавим бота, который сам будет проходить игру.

Читать далее

Графика в терминале

Reading time3 min
Views33K
Эта история началась, когда я узнал о существовании bpytop. Меня поразила детализация графиков и я начал разбираться как это сделано. Оказалось, что для вывода графиков использовались символы алфавита Брайля, представляющие из себя комбинацию из 8 точек: 2 точки в ширину и 4 точки в высоту. Поискав готовые решения, использующие этот подход, я нашел на реддите анонс такого проекта. В первом же комментарии анонса я прочитал:
Это конечно круто, но почему люди просто не переоткроют для себя ReGIS (векторную графику в терминале) и sixel (пиксельную графику в терминале).
До этого момента я ничего не знал про sixel. Копнув глубже я выяснил, что в теории sixel должен поддерживаться xterm-ом. Я запустил xterm на своей ubuntu 20.04 в режиме эмуляции vt340

xterm -xrm "XTerm*decTerminalID: vt340" -xrm "XTerm*numColorRegisters: 256"

выполнил вот такую команду (convert это команда из пакета imagemagick)

clear && convert <(curl -s https://upload.wikimedia.org/wikipedia/en/7/7d/Lenna_%28test_image%29.png) sixel:-

и увидел вот это:

image
Вау, работает!
Читать дальше →

Фильтр Калмана

Reading time10 min
Views456K


В интернете, в том числе и на хабре, можно найти много информации про фильтр Калмана. Но тяжело найти легкоперевариваемый вывод самих формул. Без вывода вся эта наука воспринимается как некое шаманство, формулы выглядят как безликий набор символов, а главное, многие простые утверждения, лежащие на поверхности теории, оказываются за пределами понимания. Целью этой статьи будет рассказать об этом фильтре на как можно более доступном языке.
Фильтр Калмана — это мощнейший инструмент фильтрации данных. Основной его принцип состоит в том, что при фильтрации используется информация о физике самого явления. Скажем, если вы фильтруете данные со спидометра машины, то инерционность машины дает вам право воспринимать слишком быстрые скачки скорости как ошибку измерения. Фильтр Калмана интересен тем, что в каком-то смысле, это самый лучший фильтр. Подробнее обсудим ниже, что конкретно означают слова «самый лучший». В конце статьи я покажу, что во многих случаях формулы можно до такой степени упростить, что от них почти ничего и не останется.
Читать дальше →

Использование потенциальных полей в сценарии стратегии реального времени

Reading time8 min
Views42K
Реализация поведения юнитов в RTS играх может стать серьезной проблемой. Компьютер, зачастую, контролирует огромное количество юнитов, в том числе и принадлежащих игроку, которые должны передвигаться в большом динамическом мире, попутно избегая столкновения друг с другом, выискивая врагов, защищая собственные базы и координируя атаки для истребления противника. Стратегии реального времени работают в реальном времени, что делает довольно сложным слежение за планированием действий и навигацией.

Этот урок описывает метод планирования течения игры и навигации юнитов, который использует многоагентные потенциальные поля. Он основан на работах под номерами [1, 2, 3]. (Смотри в конце статьи ссылки на используемые материалы)



Читать дальше →

В футуристическом плену советского техдизайна

Reading time9 min
Views15K
Будущее нельзя предвидеть, его можно изобрести. (с) Деннис Габор

Если говорить о технологических достижениях Советского Союза, первое, что приходит на ум, — это Спутник, космический корабль «Союз», самолет Туполев-144 (знаменитый «Конкордски») или огромные атомные подводные лодки. Навряд ли туда же можно отнести бытовую электронику и компьютеры, что неудивительно. И несмотря на многообещающее начало развития и разработки инновационных проектов под руководством советских пионеров таких как Сергей Лебедев и других в 1950-х и 1960-х годах, последующие периоды можно охарактеризовать как пассивная имитация самых популярных компьютеров, радиоприемников, телевизоров и другой бытовой электроники, произведенных в западном мире, особенно в США и Германии.


Парад в Берлине, 1987 год. Демонстрация одного из очень немногих оригинальных ПК, когда-либо произведенных в социалистическом государстве, VEB Robotron PC 1715, Восточная Германия

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

Математический гений в криптографии: от сцитала до RSA

Reading time8 min
Views15K

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

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

Читать далее

Векторные языки — параллельный мир

Reading time18 min
Views15K

Векторные языки мало известны широкому кругу программистов и занимают узкую нишу обработки данных в финансах, статистике и прикладной математике. Хотя сам векторный подход (или, точнее, программирование с помощью массивов) распространен гораздо шире, чем может показаться. Он реализован в известных библиотеках (NumPy), популярном языке статистиков R, математических пакетах (MATLAB), даже в современных языках программирования (Julia). Однако, возможность умножить матрицу на вектор простым выражением (A*v) – это всего лишь вершина айсберга возможностей, которыми обладают полноценные векторные языки. При том, что эти языки не так сильно отличаются от обычных, как может показаться на первый взгляд, они заставляют программиста мыслить совершенно в других категориях и реализовывать алгоритмы способами, которые никогда не придут в голову человеку, привыкшему к Java или даже Haskell. Их характерной чертой, например, является выворачивание наизнанку циклов – вместо того, чтобы спускаться по вложенным циклам вниз к простым значениям и там использовать их в функциях, вы оперируете сложными объектами целиком, давая указания языку, какие именно части этих объектов и как именно вы хотите использовать и так много раз в одном выражении. В этой статье я хочу познакомить вас с этим оригинальным подходом к реализации алгоритмов.

Читать далее

2. Математическое описание систем автоматического управления ч. 2.9 — 2.13

Reading time17 min
Views27K

Лекции по курсу «Управление Техническими Системами», читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки», факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность.


Данные лекции только готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется.


В предыдущих сериях:

1. Введение в теорию автоматического управления
2. Математическое описание систем автоматического управления 2.1 — 2.3
3. Математическое описание систем автоматического управления 2.3 — 2.8


В это части будут рассмотрены:

2.9. Использование обратных преобразований Лапласа для решения уравнений динамики САР (звена).
2.10. Весовая и переходная функции звена (системы).
2.11. Определение переходного процесса в системе (САР) (звене) через весовую и переходную функции.
2.12. Mетод переменных состояния.
2.13. Переход от описания переменных «вход-выход» к переменным состояния.


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



Читать дальше →

Графические войны #1: лагающее пиксельное XX столетие

Reading time43 min
Views22K

50 лет истории видеокарт (1970-2020): Полная история видеокарт и их прародителей


Часть 1


Часть 2

Компьютерная графика. Услышав эти слова, мы представляем поражающие воображение спецэффекты из крупных блокбастеров, красивейшие модели персонажей из ААА-игр, и всё, что связано с визуальной красотой современных технологий. Но компьютерная графика, как и любой технологический аспект, развивалась не одно десятилетие, преодолев путь от отображения нескольких символов на монохромном дисплее до поражающих воображение пейзажей и героев, с каждым годом всё сложнее отличимых от реальности. Сегодня мы начнем рассказ о том, как начиналась история компьютерной графики, вспомним, как появился термин «видеокарта» и сокращение GPU, и какие технические рубежи год за годом преодолевали лидеры рынка, в стремлении покорения новой аудитории.

image

Предисловие эпохи. Зарождение компьютеров (1940-е/1950-е)


Эпоха компьютерных технологий у многих вызывает ассоциации с началом эпохи персональных компьютеров в начале 80-х, но на самом деле первые компьютеры появились гораздо раньше. Первые разработки таких машин начались еще до Второй Мировой войны, а прототипы, отдаленно напоминающие будущие ПК, увидели свет уже в 1947 году. Первым таким устройством стал IBM 610 — экспериментальный компьютер, разработанный Джоном Ленцем из Уотсоновской лаборатории при Колумбийском университете. Он первым в истории получил гордое название «Персонального автоматического компьютера» (Personal Automatic Computer, PAC), хотя оно и было слегка преувеличенным – машина стоила $55 тысяч, и было изготовлено всего 150 экземпляров.

Читать дальше →

Красиво? Очень! Как мы написали приложение для визуализации аттракторов

Reading time8 min
Views12K
Странные аттракторы — это области, которые часто возникают в различных физических системах. Можно сказать, что это область притяжения, к которой стремятся траектории из некоторой окрестности. В отличие от каких-нибудь предельных циклов или от точки равновесия в затухающих колебаниях, они не периодичны. В таких системах проявляется эффект бабочки: минимальные отклонения исходных положений экспоненциально растут со временем.

Некоторые аттракторы завораживают своей красотой даже на статических картинках. Мы захотели сделать приложение, которое сможет визуализировать большинство аттракторов в динамике, в 3D и без лагов.


Читать дальше →

tig — улучшаем продуктивность работы с git

Reading time3 min
Views44K

Всем привет! Хочу рассказать о консольной утилите, которая значительно увеличила мою продуктивность работы с Git, и, надеюсь, ускорит и вашу также. Называется она tig и была написана канадским программистом Джонасом Фонсека (Jonas Fonseca) ещё в далёком 2006-м году, но по настоящий день она активно развивается и поддерживается в великолепном состоянии. Я хочу показать её функционал (внимание, есть относительно тяжелые gif-ки внутри) и поделиться самыми удобными способами использования.


Читать дальше →

Дуализм частица-волна: наглядно

Reading time4 min
Views28K

«Если вам кажется, что вы понимаете квантовую теорию… то вы не понимаете квантовую теорию.» — Фейнман Р., лекции «Характер физических законов» (1964), гл. 6.


Это и подобные высказывания о непостижимости законов квантовой механики всегда раздражали меня. Корпускулярно-волновой дуализм, свойства квантовых частиц вести себя как волны и как частицы — неужели нельзя их понять наглядно, увидеть не как поведение математических решений, а воочию? В этом обзоре я представлю результаты, оспаривающие этот мистицизм.

Корректирующие коды. Начало новой теории кодирования

Reading time16 min
Views35K

Проблемы информационной безопасности требуют изучения и решения ряда теоретических и практических задач при информационном взаимодействии абонентов систем. В нашей доктрине информационной безопасности формулируется триединая задача обеспечения целостности, конфиденциальности и доступности информации. Представляемые здесь статьи посвящаются рассмотрению конкретных вопросов ее решения в рамках разных государственных систем и подсистем. Ранее автором были рассмотрены в 5 статьях вопросы обеспечения конфиденциальности сообщений средствами государственных стандартов. Общая концепция системы кодирования также приводилась мной ранее.
Читать дальше →

Вера Глушкова: «Вирус кибернетики витал над городом Киевом»

Reading time11 min
Views9.1K


Во второй части интервью музейному проекту DataArt старший научный сотрудник киевского Института кибернетики Вера Глушкова вспоминает, как жили советские студенты, рассказывает о хэппининге «Кибертония», на который в 1960-х ходил весь Киев, и его возрождении в 1970-х, о футбольной кибернетике Валерия Лобановского и о том, что значит быть дочерью знаменитого ученого.
Читать дальше →

Точечная сварка под микроскопом

Reading time15 min
Views69K
Хомяки приветствуют вас, друзья!

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



Представьте себе, что одним прекрасным утром у вас сдох шуруповёрт. Крутить шурупы отверткой не царское дело, потому нужно решать проблему. Виновниками этого происшествия стали никелевые аккумуляторы, которые преждевременно отправились в Вальхаллу пить вино и сражаться на мечах. На смену им пришли компактные, высокотоковые литий-ионные аккумуляторы, которые по характеристикам в разы превосходят своих предшественников.
Читать дальше →

Регистры процессора Intel 8086: от чипа к транзисторам

Reading time10 min
Views20K
Intel 8086 – один из самых влиятельных из когда-либо созданных компьютерных чипов. Он создал архитектуру x86, доминирующую в современных настольных и серверных компьютерах. Я занимался реверс-инжинирингом 8086 на основе фотографий кристаллов, и в данной статье я опишу реализацию регистрового файла (набора регистров).


Кристалл 8086. Отмечено место хранения регистров. Верхние регистры используются блоком интерфейса шины для доступа к памяти, а нижние регистры общего назначения используются исполнительным блоком. Буфер команд – это 6-байтная очередь, состоящая из заранее запрошенных команд.
Читать дальше →

Вера Глушкова: «У отца был кибернетический подход к истории»

Reading time14 min
Views10K


Старший научный сотрудник киевского Института кибернетики Вера Глушкова сейчас занимается историей вычислительной техники. В первой части интервью музейному проекту DataArt, посвященной ее отцу, выдающемуся ученому Виктору Глушкову, Вера Викторовна рассказывает, как он стал самым молодым академиком СССР, о международном признании, создании Института кибернетики и первых автоматизированных системах управления.

(На фото Вера Викторовна вместе с отцом. Около 1970 года)
Читать дальше →

Information

Rating
8,156-th
Registered
Activity