Как стать автором
Обновить
10
0
tnvd @tbl

Пользователь

Отправить сообщение

Магия тензорной алгебры: Часть 1 — что такое тензор и для чего он нужен?

Время на прочтение7 мин
Количество просмотров349K

Содержание


  1. Что такое тензор и для чего он нужен?
  2. Векторные и тензорные операции. Ранги тензоров
  3. Криволинейные координаты
  4. Динамика точки в тензорном изложении
  5. Действия над тензорами и некоторые другие теоретические вопросы
  6. Кинематика свободного твердого тела. Природа угловой скорости
  7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
  8. О свертках тензора Леви-Чивиты
  9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
  10. Получаем вектор угловой скорости. Работаем над недочетами
  11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
  12. Параметры Родрига-Гамильтона в кинематике твердого тела
  13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
  14. Нестандартное введение в динамику твердого тела
  15. Движение несвободного твердого тела
  16. Свойства тензора инерции твердого тела
  17. Зарисовка о гайке Джанибекова
  18. Математическое моделирование эффекта Джанибекова


Введение



Это было очень давно, когда я учился классе в десятом. Среди довольно скудного в научном плане фонда районной библиотеки мне попалась книга — Угаров В. А. «Специальная теория относительности». Эта тема интересовала меня в то время, но информации школьных учебников и справочников было явно недостаточно.



Однако, книгу эту я читать не смог, по той причине, что большинство уравнений представлялись там в виде тензорных соотношений. Позже, в университете, программа подготовки по моей специальности не предусматривала изучение тензорного исчисления, хотя малопонятный термин «тензор» всплывал довольно часто в некоторых специальных курсах. Например, было жутко непонятно, почему матрица, содержащая моменты инерции твердого тела гордо именуется тензором инерции.



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

Как при помощи Rust в 150 раз ускорить код на Python

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров29K

Python — довольно простой в освоении язык, по сравнению с некоторыми другими языками код на нём пишется очень быстро. Но в жертву приносится скорость выполнения кода.


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


Обзор


Проблему решим в 6 шагов:


  1. Решим вопрос о том, почему функция медленная.
  2. Подготовим проект.
  3. Перепишем функцию в Rust.
  4. Скомпилируем код на Rust и разместим его в пакете Python.
  5. Импортируем пакет Python в проект.
  6. Выполним бенчмарк чистого Python и функции на Rust.

Пакет maturin скомпилирует Rust-код и преобразует его в готовый к работе пакет Python.


1. Решим вопрос о том, почему функция медленная


Важно понять, почему функция работает медленно. Давайте представим, что проекту требуется функция подсчёта количества простых чисел в диапазоне между двумя другими числами:

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

Шахматы на C++

Время на прочтение68 мин
Количество просмотров47K

Не так давно я захотел написать свой шахматный движок. На удивление в Интернете нашлось не так много хороших статей на эту тему. Были статьи с довольно слабыми программами, многие из которых даже умудрялись пропускать некоторые важные правила. А были статьи с хорошими программами (некоторые из них были даже чуть лучше чем получилось у меня в итоге), но там авторы рассказывали лишь основные идеи, пропуская подробности, из-за чего написать что-то свое по таким статьям было проблематично. Поэтому после написания своей программы, я решил написать статью, дабы облегчить жизнь интересующимся в данной теме. Я не претендую на лучшую шахматную программу или на чистейший код, но эта статья будет хорошим и легким началом для тех, кто хочет написать что-то свое.

Читать далее
Всего голосов 151: ↑150 и ↓1+188
Комментарии56

Как написать игру на Monogame, не привлекая внимания санитаров. Часть 1, обмазываемся абстракциями

Время на прочтение16 мин
Количество просмотров10K

В прошлый раз мы разобрали структуру проекта Monogame. Сегодня мы начнем писать структуру проекта и даже создадим белый квадрат, движением которого сможем управлять.

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

«Ленивый сахар» PostgreSQL

Время на прочтение7 мин
Количество просмотров39K

SQL - декларативный язык - то есть вы описываете "что" хотите получить, а СУБД сама решает, "как" именно она будет это делать. Некоторые из них при этом позволяют им "подсказывать", как именно лучше выполнять запрос, но PostgreSQL - нет.

Тем не менее, "синтаксический сахар" некоторых языковых конструкций позволяет не только писать меньше кода (учите матчасть!), но и добиться, что ваша база будет делать часть вычислений "лениво", только при фактической необходимости.

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

PostgreSQL Antipatterns: сражаемся с ордами «мертвецов»

Время на прочтение3 мин
Количество просмотров17K
Особенности работы внутренних механизмов PostgreSQL позволяют ему быть очень быстрым в одних ситуация и «не очень» в других. Сегодня остановимся на классическом примере конфликта между тем, как работает СУБД и тем, что делает с ней разработчик — UPDATE vs принципы MVCC.

Кратко сюжет из отличной статьи:
Когда строка изменяется командой UPDATE, фактически выполняются две операции: DELETE и INSERT. В текущей версии строки устанавливается xmax, равный номеру транзакции, выполнившей UPDATE. Затем создается новая версия той же строки; значение xmin у нее совпадает с значением xmax предыдущей версии.
Через какое-то время после завершения этой транзакции старая или новая версии, в зависимости от COMMIT/ROOLBACK, будут признаны «мертвыми» (dead tuples) при проходе VACUUM по таблице и зачищены.



Но это произойдет далеко не сразу, а вот проблемы с «мертвецами» можно нажить очень быстро — при многократном или массовом обновлении записей в большой таблице, а чуть позже столкнуться с ситуацией, что и VACUUM не сможет помочь.
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии15

Кратко и просто про геологию от геолога. Строение Земли

Время на прочтение8 мин
Количество просмотров36K
Здравствуйте.

Расскажу-ка я про базовые факты и следствия из них — на основе которых строится вся геология. Ибо нередко у непосвящённых возникает ощущение, что учёные взяли и выдумали все свои теории от скуки и для поддержки чувства собственного величия.


На фото 1983 года Великий Атуин, слоны и Мир на фоне Вселенной — про них ничего не будет

Нижесказанное будет относиться к геологии, но может быть применено к любой области знаний. Чтоб воспринимать дальнейшее нужно условиться (хотя бы сделать вид), что арифметика, евклидова геометрия, физика/химия за 7-9 класс школы нами принимаются как реальность, не требующая доказательств. И, да! – Землю будем считать шарообразной – иначе не интересно. Логика тоже будет использоваться, даже если это оскорбит её противников.

Начнём с базы: Карл Маркс Гегель гравитация.
Читать дальше →
Всего голосов 105: ↑101 и ↓4+121
Комментарии41

Линейная алгебра кватернионов

Время на прочтение15 мин
Количество просмотров9.5K
Разбирал для себя кватернионный аппарат с точки зрения линейной алгебры с оглядкой на возможность его применения в теориях относительности. Над второй частью ещё работаю, а законспектированный инструментарий решил опубликовать отдельно.

Предисловие


При изучении кватернионов я столкнулся с некоторой нехваткой форм и определений, предлагаемых источниками, в том числе первоисточниками У.Р.Гамильтона, А.У.Конуэя и Ф.Кляйна. В комментариях любезно предложили хорошую книгу П.Лоунесто «Алгебры Клиффорда и спиноры», однако и там эти сущности не выделены. Итого, получается, что, кроме уже известных кватеринонных концепций, в статье рассматриваются следующие аспекты, освещение которых мне не удалось пока найти:
1. Выделена скалярная часть кватернионного произведения, как самостоятельная операция.
2. Кватернионное произведение представлено суммой трёх самостоятельных оперций — билинейных отображений.
3. Описан частный случай вещественно-мнимого поворота для сжатия пространства по заданной оси.
4. Показано, что, собственно, любой кватернион является таким поворотом вещественного числа относительно произвольной оси мнимого трёхмерного пространства.
Буду весьма признателен за ссылки на похожие изыскания в комментариях.

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

Пошаговая стратегия или установка Entware и DNSCrypt на роутеры Zyxel Keenetic

Время на прочтение4 мин
Количество просмотров21K

Обобщение процесса установки Entware и DNSCrypt на Zyxel Keenetic DSL на другие устройства из семейства Zyxel Keenetic.

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

Коронавирус Novel nCOV/2019-nCoV/NCP/COVID19: Прогнозы, Статистика, Новости[Часть 1, ред.03.02

Время на прочтение43 мин
Количество просмотров177K
Тут только первая часть статьи с новыми новостями. (Изменение 8.03.2021)
Создание собственного сайта провалилось. Большинству не интересен коронавирус.
Из принципа буду продолжать менять только новости и таблицу.
Прошло больше года с написания этой статьи. Итог:: Мои надежды не оправдались.
Полная версия без обновлений новостей тут
Не обновляемая английская версия: тут

Независимые от меня обстоятельства повлияли на текущую ситуацию, мои извинения

Перейти сразу к новостям

Многие люди не выполняют рекомендаций.Все пошло по «тяжелому сценарию». У систем здравоохранения есть куда увеличивать количество коек, врачей:
Качество: Высокое
1уровень: Инфекционные койки. 10-20% ## Инфекционисты

Качество: Среднее
2уровень: Перепрофилирование больниц 30-60% ## Любые врачи. Возвращают врачей пенсионного возраста.

Качество: Удовлетворительное
3 уровень Частные клиники и военные госпитали 10-20% ## все врачи даже без опыта, снятие из институтов. Военврачи.

Качество: Низкое
4 уровень: Временные больницы 10-20% (Обычно отправлять больных в более легкой форме.Более тяжелые будут в больницах) ## Быстро обученный персонал. (Будут давать более простые задачи, разгрузка врачей от пары задач). Альт. вариант армия для выполнения части задач.

Китай было:2 из 4 /4 из 4 (временные больницы)Италия: Врачи: по 3 из 4.
Качество: Абсолютное (Не бойтесь 5lvl. придумал я, до этого не дойдет)Сарказм: 5 ур.: Больницы не понадобятся.Подробно Dr. Morty.
Статистикshorturl.at/pEY09

Читать дальше →
Всего голосов 68: ↑52 и ↓16+48
Комментарии101

Веб-два-нольные ярлыки для Java

Время на прочтение5 мин
Количество просмотров7.6K
Когда мне понадобилось реализовать ярлыки для Java «как в веб-два-ноль», гугление не помогло найти ни одной библиотеки, содержащей в себе подобный тип коллекции.

Решил сделать сам.

Итак, нам надо хранить объекты в коллекции данного типа (назовем его, скажем, LabelsMultiMap). Как объекты, так и ярлыки могут быть произвольного типа. Количество ярлыков сверху не ограничено, равно как и количество объектов. Одним и тем же набором ярлыков могут быть описаны более 1 объекта. У одного объекта один ярлык может встретиться только 1 раз.

Пример валидных ярлыков:
Ярлыки Объекты
green, wooden, alive tree
green, wooden, lifeless bench
green, alive, croak frog

Коллекция должна позволять:

  1. put() — помещать в неё объекты со списком прикрепленных меток
  2. getValues() — возвращать объекты, содержащиеся в коллекции
  3. findValues() — осуществлять поиск объектов, ярлыки которых содержат запрашиваемый набор ярлыков
  4. findValuesOnlyIn() — осуществлять поиск только тех объектов, все ярлыки которых входят в запрашиваемый набор ярлыков

Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии7

Сети для самых маленьких. Часть ой, всё

Время на прочтение4 мин
Количество просмотров157K
Дорогие мои друзья, отважные критики, тихие читатели и тайные почитатели, СДСМ заканчивается.



Я не могу похвастаться тем, что за 7 лет я затронул все темы сетевой сферы или тем, что хотя бы одну из них раскрыл полностью. Но это и не было целью. А целью этой серии статей было ввести юного студента за руку в этот мир и проводить его шаг за шагом по основной галерее, давая общее представление, и уберечь от болезненных скитаний по тёмным уголкам сознания Олифера и Олифера в мучительных попытках найти ответ на вопрос, как всё это применить в жизни.
СДСМ планировался коротким практическим курсом «как научиться в сети за месяц», а вылился в 16 (на самом деле 19) длинных выпусков, которые мы уже даже переименовали в «Сети Для Самых Суровых». Общее количество символов перевалило за 1 000 000.
Читать дальше →
Всего голосов 55: ↑55 и ↓0+55
Комментарии38

Прокрастинация как инструмент перемещения во времени

Время на прочтение4 мин
Количество просмотров20K
Все люди делятся на нормальных и прокрастинаторов, и последних абсолютное большинство. Мы разобрались и выявили два типа прокрастинации: неустранимую, которая приводит к неразрешимым жизненным проблемам и болезненным психологическим эффектам, и устранимую, при которой человек даже после наступления критического момента времени всё равно выполняет необходимую работу в срок.

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

Статью мы сопроводили строгими математическими расчетами, а также данными эксперимента, который был проведён на шестерых добровольцах. С этой работой мы выступали на крупнейшей Антинаучной конференции, которая в этом году пройдет 4 мая. Так что можете нам доверять (ну или нет, ведь сегодня 1 апреля).


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

Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»

Время на прочтение11 мин
Количество просмотров140K

Ну ладно, про «полюбил» — это преувеличение. Скорее «смог сосуществовать с».


Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.


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

Читать дальше →
Всего голосов 124: ↑120 и ↓4+116
Комментарии303

Информация

В рейтинге
4 747-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность