#линейная_алгебра — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #линейная_алгебра, aggregated by home.social.
-
Давайте объединим линейную и геометрическую алгебры. Часть 2. Матрица Якоби
Привет Хабр! В этот раз воздержусь от обработки статьи нейросетями, для приукрашивания оборотов речи, напишу просто про следующую идею: Матрица Якоби определяет векторную функцию в малой области, линейным способом, за счет чего может обрабатываться методами и линейной и геометрической алгебры.
-
Умножение матриц: пример использования расширения ARM SME2 в Apple M4 Pro
В конце 2020 года я купил MacBook Pro 13 на процессоре Apple M1, очень хотелось испытать процессоры на архитектуре ARM. Почти сразу на чипе Apple M1 был найден вычислительный блок для матричных операций Apple AMX. Для Apple AMX не было документации, он не использовался в Apple Accelerate , но несколько энтузиастов занимались реверс-инжинирингом и анализом производительности ( " https://github.com/corsix/amx " ). В 2024 году вышли компьютеры на базе семейства процессоров Apple M4, у которых блок AMX задействован для выполнения инструкций из Scalable Matrix Extension 2 (сайт ARM недоступен в РФ) (ARM SME2). В статье рассмотрим использование расширения ARM SME2 на примере умножения заполненных матриц. Увидим, как выжать максимум из процессора и получить прирост производительности в десятки раз.
https://habr.com/ru/articles/1012528/
#ARM_SME #Apple_M #gemm #умножение_матриц #линейная_алгебра #вычислительные_методы #высокопроизводительные_вычисления #оптимизация_кода #векторные_инструкции #векторные_исчисления
-
Умножение матриц: пример использования расширения ARM SME2 в Apple M4 Pro
В конце 2020 года я купил MacBook Pro 13 на процессоре Apple M1, очень хотелось испытать процессоры на архитектуре ARM. Почти сразу на чипе Apple M1 был найден вычислительный блок для матричных операций Apple AMX. Для Apple AMX не было документации, он не использовался в Apple Accelerate , но несколько энтузиастов занимались реверс-инжинирингом и анализом производительности ( " https://github.com/corsix/amx " ). В 2024 году вышли компьютеры на базе семейства процессоров Apple M4, у которых блок AMX задействован для выполнения инструкций из Scalable Matrix Extension 2 (сайт ARM недоступен в РФ) (ARM SME2). В статье рассмотрим использование расширения ARM SME2 на примере умножения заполненных матриц. Увидим, как выжать максимум из процессора и получить прирост производительности в десятки раз.
https://habr.com/ru/articles/1012528/
#ARM_SME #Apple_M #gemm #умножение_матриц #линейная_алгебра #вычислительные_методы #высокопроизводительные_вычисления #оптимизация_кода #векторные_инструкции #векторные_исчисления
-
Умножение матриц: пример использования расширения ARM SME2 в Apple M4 Pro
В конце 2020 года я купил MacBook Pro 13 на процессоре Apple M1, очень хотелось испытать процессоры на архитектуре ARM. Почти сразу на чипе Apple M1 был найден вычислительный блок для матричных операций Apple AMX. Для Apple AMX не было документации, он не использовался в Apple Accelerate , но несколько энтузиастов занимались реверс-инжинирингом и анализом производительности ( " https://github.com/corsix/amx " ). В 2024 году вышли компьютеры на базе семейства процессоров Apple M4, у которых блок AMX задействован для выполнения инструкций из Scalable Matrix Extension 2 (сайт ARM недоступен в РФ) (ARM SME2). В статье рассмотрим использование расширения ARM SME2 на примере умножения заполненных матриц. Увидим, как выжать максимум из процессора и получить прирост производительности в десятки раз.
https://habr.com/ru/articles/1012528/
#ARM_SME #Apple_M #gemm #умножение_матриц #линейная_алгебра #вычислительные_методы #высокопроизводительные_вычисления #оптимизация_кода #векторные_инструкции #векторные_исчисления
-
Умножение матриц: пример использования расширения ARM SME2 в Apple M4 Pro
В конце 2020 года я купил MacBook Pro 13 на процессоре Apple M1, очень хотелось испытать процессоры на архитектуре ARM. Почти сразу на чипе Apple M1 был найден вычислительный блок для матричных операций Apple AMX. Для Apple AMX не было документации, он не использовался в Apple Accelerate , но несколько энтузиастов занимались реверс-инжинирингом и анализом производительности ( " https://github.com/corsix/amx " ). В 2024 году вышли компьютеры на базе семейства процессоров Apple M4, у которых блок AMX задействован для выполнения инструкций из Scalable Matrix Extension 2 (сайт ARM недоступен в РФ) (ARM SME2). В статье рассмотрим использование расширения ARM SME2 на примере умножения заполненных матриц. Увидим, как выжать максимум из процессора и получить прирост производительности в десятки раз.
https://habr.com/ru/articles/1012528/
#ARM_SME #Apple_M #gemm #умножение_матриц #линейная_алгебра #вычислительные_методы #высокопроизводительные_вычисления #оптимизация_кода #векторные_инструкции #векторные_исчисления
-
Линейная алгебра для нейросетей: векторы на практике
Данная статья посвящена основе основ нейронауки — линейной алгебре. Если вы когда-либо планируйте изучать искусственные нейронные сети (и не только), то вам необходимо начать именно с этого. Причем не важно, собираетесь ли вы заниматься фундаментальными исследованиями (Data Science) или просто лепить модели в продакшн на конвейере (ML Engineering), вы обязаны знать их математику хотя бы поверхностно. Любые настройки, дообучение и применение даже готовой модели, требуют понимания основ. А по сему данное знание, как минимум, не будет избыточным. Материал рассчитан на новичка. Если вы знаете школьную математику, то сможете освоить и мой курс. В будущем я напишу статью о линейном представлении нейросетей, где мы адаптируем полученное знание под прикладные задачи, напишем некоторые слои на Python и построим настоящую модель! В этой статье: * Понятие вектора; * Векторизация данных; * Умножение на скаляр; * Сложение векторов; * Норма вектора; * Скалярное умножение; * Векторное умножение; * Практика с кодом; * Домашняя работа. Все будет объяснено на красочных примерах в игровой форме. Ничего сложного. А в конце вас ждет самостоятельная практика с кодом. Приятного чтения!
https://habr.com/ru/articles/1001896/
#линейная_алгебра #вектор #нейросети #математика_для_data_science #скалярное_произведение #векторизация #данные #машинное+обучение #тензор #матрицы
-
Линейная алгебра для нейросетей: векторы на практике
Данная статья посвящена основе основ нейронауки — линейной алгебре. Если вы когда-либо планируйте изучать искусственные нейронные сети (и не только), то вам необходимо начать именно с этого. Причем не важно, собираетесь ли вы заниматься фундаментальными исследованиями (Data Science) или просто лепить модели в продакшн на конвейере (ML Engineering), вы обязаны знать их математику хотя бы поверхностно. Любые настройки, дообучение и применение даже готовой модели, требуют понимания основ. А по сему данное знание, как минимум, не будет избыточным. Материал рассчитан на новичка. Если вы знаете школьную математику, то сможете освоить и мой курс. В будущем я напишу статью о линейном представлении нейросетей, где мы адаптируем полученное знание под прикладные задачи, напишем некоторые слои на Python и построим настоящую модель! В этой статье: * Понятие вектора; * Векторизация данных; * Умножение на скаляр; * Сложение векторов; * Норма вектора; * Скалярное умножение; * Векторное умножение; * Практика с кодом; * Домашняя работа. Все будет объяснено на красочных примерах в игровой форме. Ничего сложного. А в конце вас ждет самостоятельная практика с кодом. Приятного чтения!
https://habr.com/ru/articles/1001896/
#линейная_алгебра #вектор #нейросети #математика_для_data_science #скалярное_произведение #векторизация #данные #машинное+обучение #тензор #матрицы
-
Линейная алгебра для нейросетей: векторы на практике
Данная статья посвящена основе основ нейронауки — линейной алгебре. Если вы когда-либо планируйте изучать искусственные нейронные сети (и не только), то вам необходимо начать именно с этого. Причем не важно, собираетесь ли вы заниматься фундаментальными исследованиями (Data Science) или просто лепить модели в продакшн на конвейере (ML Engineering), вы обязаны знать их математику хотя бы поверхностно. Любые настройки, дообучение и применение даже готовой модели, требуют понимания основ. А по сему данное знание, как минимум, не будет избыточным. Материал рассчитан на новичка. Если вы знаете школьную математику, то сможете освоить и мой курс. В будущем я напишу статью о линейном представлении нейросетей, где мы адаптируем полученное знание под прикладные задачи, напишем некоторые слои на Python и построим настоящую модель! В этой статье: * Понятие вектора; * Векторизация данных; * Умножение на скаляр; * Сложение векторов; * Норма вектора; * Скалярное умножение; * Векторное умножение; * Практика с кодом; * Домашняя работа. Все будет объяснено на красочных примерах в игровой форме. Ничего сложного. А в конце вас ждет самостоятельная практика с кодом. Приятного чтения!
https://habr.com/ru/articles/1001896/
#линейная_алгебра #вектор #нейросети #математика_для_data_science #скалярное_произведение #векторизация #данные #машинное+обучение #тензор #матрицы
-
Линейная алгебра для нейросетей: векторы на практике
Данная статья посвящена основе основ нейронауки — линейной алгебре. Если вы когда-либо планируйте изучать искусственные нейронные сети (и не только), то вам необходимо начать именно с этого. Причем не важно, собираетесь ли вы заниматься фундаментальными исследованиями (Data Science) или просто лепить модели в продакшн на конвейере (ML Engineering), вы обязаны знать их математику хотя бы поверхностно. Любые настройки, дообучение и применение даже готовой модели, требуют понимания основ. А по сему данное знание, как минимум, не будет избыточным. Материал рассчитан на новичка. Если вы знаете школьную математику, то сможете освоить и мой курс. В будущем я напишу статью о линейном представлении нейросетей, где мы адаптируем полученное знание под прикладные задачи, напишем некоторые слои на Python и построим настоящую модель! В этой статье: * Понятие вектора; * Векторизация данных; * Умножение на скаляр; * Сложение векторов; * Норма вектора; * Скалярное умножение; * Векторное умножение; * Практика с кодом; * Домашняя работа. Все будет объяснено на красочных примерах в игровой форме. Ничего сложного. А в конце вас ждет самостоятельная практика с кодом. Приятного чтения!
https://habr.com/ru/articles/1001896/
#линейная_алгебра #вектор #нейросети #математика_для_data_science #скалярное_произведение #векторизация #данные #машинное+обучение #тензор #матрицы
-
Шум как hardware: почему Normal Computing строит компьютеры, которые работают на тепловых флуктуациях
В этом году ученые раскопали термодинамический способ ИИ-генерации, который может быть экономнее классических методов в 10 млрд раз. Теоретически, это значит, что подписка на Midjourney могла бы стоить дешевле чашки кофе. К сожалению, рассказать как это всё работает без предыстории невозможно — там присутствует тяжелая математика и физика, читать которую без "человеческих" объяснений невозможно. Именно этой базе и посвящена эта статья. В апреле 2025 года в Nature Communications вышла статья про устройство, которое считает на шуме. Не вопреки шуму, а прямо на шуме. Звучит как оксюморон. Полвека инженеры боролись с тепловыми флуктуациями в электронике: криогенные температуры, экранирование, фильтрация — всё ради того, чтобы сигнал не тонул в случайных колебаниях. Майнинг-фермы греются и шумят, но шум этот бесполезен, это просто тупые потери. А тут приходят ребята из нью-йоркского стартапа Normal Computing и говорят: давайте тепловой шум не глушить, а использовать. Пусть физика считает за нас. И что характерно — у них работает. Интересно. Читать далее
https://habr.com/ru/companies/bar/articles/990096/
#термодинамические_вычисления #аналоговые_вычисления #байесовские_нейросети #GPU #линейная_алгебра #сэмплирование #probabilistic_AI #hardware #NVIDIA #Nature_Communications
-
Шум как hardware: почему Normal Computing строит компьютеры, которые работают на тепловых флуктуациях
В этом году ученые раскопали термодинамический способ ИИ-генерации, который может быть экономнее классических методов в 10 млрд раз. Теоретически, это значит, что подписка на Midjourney могла бы стоить дешевле чашки кофе. К сожалению, рассказать как это всё работает без предыстории невозможно — там присутствует тяжелая математика и физика, читать которую без "человеческих" объяснений невозможно. Именно этой базе и посвящена эта статья. В апреле 2025 года в Nature Communications вышла статья про устройство, которое считает на шуме. Не вопреки шуму, а прямо на шуме. Звучит как оксюморон. Полвека инженеры боролись с тепловыми флуктуациями в электронике: криогенные температуры, экранирование, фильтрация — всё ради того, чтобы сигнал не тонул в случайных колебаниях. Майнинг-фермы греются и шумят, но шум этот бесполезен, это просто тупые потери. А тут приходят ребята из нью-йоркского стартапа Normal Computing и говорят: давайте тепловой шум не глушить, а использовать. Пусть физика считает за нас. И что характерно — у них работает. Интересно. Читать далее
https://habr.com/ru/companies/bar/articles/990096/
#термодинамические_вычисления #аналоговые_вычисления #байесовские_нейросети #GPU #линейная_алгебра #сэмплирование #probabilistic_AI #hardware #NVIDIA #Nature_Communications
-
Шум как hardware: почему Normal Computing строит компьютеры, которые работают на тепловых флуктуациях
В этом году ученые раскопали термодинамический способ ИИ-генерации, который может быть экономнее классических методов в 10 млрд раз. Теоретически, это значит, что подписка на Midjourney могла бы стоить дешевле чашки кофе. К сожалению, рассказать как это всё работает без предыстории невозможно — там присутствует тяжелая математика и физика, читать которую без "человеческих" объяснений невозможно. Именно этой базе и посвящена эта статья. В апреле 2025 года в Nature Communications вышла статья про устройство, которое считает на шуме. Не вопреки шуму, а прямо на шуме. Звучит как оксюморон. Полвека инженеры боролись с тепловыми флуктуациями в электронике: криогенные температуры, экранирование, фильтрация — всё ради того, чтобы сигнал не тонул в случайных колебаниях. Майнинг-фермы греются и шумят, но шум этот бесполезен, это просто тупые потери. А тут приходят ребята из нью-йоркского стартапа Normal Computing и говорят: давайте тепловой шум не глушить, а использовать. Пусть физика считает за нас. И что характерно — у них работает. Интересно. Читать далее
https://habr.com/ru/companies/bar/articles/990096/
#термодинамические_вычисления #аналоговые_вычисления #байесовские_нейросети #GPU #линейная_алгебра #сэмплирование #probabilistic_AI #hardware #NVIDIA #Nature_Communications
-
Шум как hardware: почему Normal Computing строит компьютеры, которые работают на тепловых флуктуациях
В этом году ученые раскопали термодинамический способ ИИ-генерации, который может быть экономнее классических методов в 10 млрд раз. Теоретически, это значит, что подписка на Midjourney могла бы стоить дешевле чашки кофе. К сожалению, рассказать как это всё работает без предыстории невозможно — там присутствует тяжелая математика и физика, читать которую без "человеческих" объяснений невозможно. Именно этой базе и посвящена эта статья. В апреле 2025 года в Nature Communications вышла статья про устройство, которое считает на шуме. Не вопреки шуму, а прямо на шуме. Звучит как оксюморон. Полвека инженеры боролись с тепловыми флуктуациями в электронике: криогенные температуры, экранирование, фильтрация — всё ради того, чтобы сигнал не тонул в случайных колебаниях. Майнинг-фермы греются и шумят, но шум этот бесполезен, это просто тупые потери. А тут приходят ребята из нью-йоркского стартапа Normal Computing и говорят: давайте тепловой шум не глушить, а использовать. Пусть физика считает за нас. И что характерно — у них работает. Интересно. Читать далее
https://habr.com/ru/companies/bar/articles/990096/
#термодинамические_вычисления #аналоговые_вычисления #байесовские_нейросети #GPU #линейная_алгебра #сэмплирование #probabilistic_AI #hardware #NVIDIA #Nature_Communications
-
Теорема Пифагора: великий обман школьной программы. Как абстракция убила смысл
Все мы знаем эту формулу. . Это, пожалуй, единственное знание из школьной геометрии, которое остается с человеком на всю жизнь, даже если он работает баристой или копирайтером. Но задавали ли вы себе когда-нибудь вопрос: почему именно квадраты? Почему не кубы? Почему не просто сумма модулей ? Если вы спросите учителя, он нарисует квадратики на сторонах треугольника. Если вы спросите преподавателя вуза, он напишет определение скалярного произведения. И оба они, по сути, вас обманут. Или, скажем мягче, недоговорят правду. Сегодня мы разберем этот «черный ящик» и увидим, что теорема Пифагора — это вовсе не про треугольники. И доказывать её нужно совсем не так, как нас учили. Школьная программа не дает ответа. Более того, история преподавания теоремы Пифагора — это история того, как живую, наглядную геометрию превращали в сухую, мертвую алгебру. Нас уводили всё дальше от понимания сути в сторону абстракции. Сегодня мы разберем этот путь деградации и покажем доказательство, которое вернет вас к реальности. Спойлер: теорема Пифагора — это не про треугольники. Она про зеркала . Приготовьтесь к полному разрыву всех шаблонов!
https://habr.com/ru/articles/972262/
#теорема_пифагора #математика #геометрия #школьная_программа #образование #векторная_алгебра #доказательство #симметрия #занимательная_математика #линейная_алгебра
-
Математика и веб-разработка: как мы добавили интерактивную кривую Безье в редактор изображений
Добрый день, меня зовут Богдан, я фронтенд-разработчик в компании iSpring. В статье расскажу про интерактивную стрелку в редакторе изображений. Вы узнаете: как строятся кривые Безье и какие полезные свойства имеют; как вычислить кривую Безье, проходящую через заданные точки; как найти ограничивающую площадь этой кривой. Рассмотрим плюсы и минусы реализаций на Canvas и SVG.
https://habr.com/ru/companies/ispring/articles/946176/
#Фронтенд #вебразработка #математика #кривые_безье #редактор_изображений #canvas #svg #react #линейная_алгебра #векторная_графика
-
Математика и веб-разработка: как мы добавили интерактивную кривую Безье в редактор изображений
Добрый день, меня зовут Богдан, я фронтенд-разработчик в компании iSpring. В статье расскажу про интерактивную стрелку в редакторе изображений. Вы узнаете: как строятся кривые Безье и какие полезные свойства имеют; как вычислить кривую Безье, проходящую через заданные точки; как найти ограничивающую площадь этой кривой. Рассмотрим плюсы и минусы реализаций на Canvas и SVG.
https://habr.com/ru/companies/ispring/articles/946176/
#Фронтенд #вебразработка #математика #кривые_безье #редактор_изображений #canvas #svg #react #линейная_алгебра #векторная_графика
-
Математика и веб-разработка: как мы добавили интерактивную кривую Безье в редактор изображений
Добрый день, меня зовут Богдан, я фронтенд-разработчик в компании iSpring. В статье расскажу про интерактивную стрелку в редакторе изображений. Вы узнаете: как строятся кривые Безье и какие полезные свойства имеют; как вычислить кривую Безье, проходящую через заданные точки; как найти ограничивающую площадь этой кривой. Рассмотрим плюсы и минусы реализаций на Canvas и SVG.
https://habr.com/ru/companies/ispring/articles/946176/
#Фронтенд #вебразработка #математика #кривые_безье #редактор_изображений #canvas #svg #react #линейная_алгебра #векторная_графика
-
Математика и веб-разработка: как мы добавили интерактивную кривую Безье в редактор изображений
Добрый день, меня зовут Богдан, я фронтенд-разработчик в компании iSpring. В статье расскажу про интерактивную стрелку в редакторе изображений. Вы узнаете: как строятся кривые Безье и какие полезные свойства имеют; как вычислить кривую Безье, проходящую через заданные точки; как найти ограничивающую площадь этой кривой. Рассмотрим плюсы и минусы реализаций на Canvas и SVG.
https://habr.com/ru/companies/ispring/articles/946176/
#Фронтенд #вебразработка #математика #кривые_безье #редактор_изображений #canvas #svg #react #линейная_алгебра #векторная_графика
-
Лучшие алгоритмы 20 века по версии SIAM
На рубеже веков SIAM опубликовали список из 10 алгоритмов, оказавших наибольшее влияние на науку и индустрию в 20 веке (по мнению редакции), четверть века спустя по меньшей половина из этого списка до сих пор используется повсеместно. В статье вспомним что это за алгоритмы и за что они получили такое признание. Обсудим и алгоритмы, которые в этот список не вошли, но вполне могли бы, о чем читатели хабра написали в комментариях к статье " 10 лучших алгоритмов 20 века ". В конце статьи опрос, пожалуйста, не проходите мимо и отметьте или напишите в комментариях, какие алгоритмы на ваш взгляд должны были оказаться в этом списке!
https://habr.com/ru/articles/924828/
#алгоритмы #быстрое_преобразование_фурье #быстрая_сортировка #монтекарло #линейная_алгебра #ахокорасик #дейкстра
-
Лучшие алгоритмы 20 века по версии SIAM
На рубеже веков SIAM опубликовали список из 10 алгоритмов, оказавших наибольшее влияние на науку и индустрию в 20 веке (по мнению редакции), четверть века спустя по меньшей половина из этого списка до сих пор используется повсеместно. В статье вспомним что это за алгоритмы и за что они получили такое признание. Обсудим и алгоритмы, которые в этот список не вошли, но вполне могли бы, о чем читатели хабра написали в комментариях к статье " 10 лучших алгоритмов 20 века ". В конце статьи опрос, пожалуйста, не проходите мимо и отметьте или напишите в комментариях, какие алгоритмы на ваш взгляд должны были оказаться в этом списке!
https://habr.com/ru/articles/924828/
#алгоритмы #быстрое_преобразование_фурье #быстрая_сортировка #монтекарло #линейная_алгебра #ахокорасик #дейкстра
-
Лучшие алгоритмы 20 века по версии SIAM
На рубеже веков SIAM опубликовали список из 10 алгоритмов, оказавших наибольшее влияние на науку и индустрию в 20 веке (по мнению редакции), четверть века спустя по меньшей половина из этого списка до сих пор используется повсеместно. В статье вспомним что это за алгоритмы и за что они получили такое признание. Обсудим и алгоритмы, которые в этот список не вошли, но вполне могли бы, о чем читатели хабра написали в комментариях к статье " 10 лучших алгоритмов 20 века ". В конце статьи опрос, пожалуйста, не проходите мимо и отметьте или напишите в комментариях, какие алгоритмы на ваш взгляд должны были оказаться в этом списке!
https://habr.com/ru/articles/924828/
#алгоритмы #быстрое_преобразование_фурье #быстрая_сортировка #монтекарло #линейная_алгебра #ахокорасик #дейкстра
-
Лучшие алгоритмы 20 века по версии SIAM
На рубеже веков SIAM опубликовали список из 10 алгоритмов, оказавших наибольшее влияние на науку и индустрию в 20 веке (по мнению редакции), четверть века спустя по меньшей половина из этого списка до сих пор используется повсеместно. В статье вспомним что это за алгоритмы и за что они получили такое признание. Обсудим и алгоритмы, которые в этот список не вошли, но вполне могли бы, о чем читатели хабра написали в комментариях к статье " 10 лучших алгоритмов 20 века ". В конце статьи опрос, пожалуйста, не проходите мимо и отметьте или напишите в комментариях, какие алгоритмы на ваш взгляд должны были оказаться в этом списке!
https://habr.com/ru/articles/924828/
#алгоритмы #быстрое_преобразование_фурье #быстрая_сортировка #монтекарло #линейная_алгебра #ахокорасик #дейкстра
-
Пара слов об алгебре интервалов
Интервалы, интервалы,‑ где тут лево, где тут право... Многие программисты в том или ином виде сталкиваются с интервалами при написании программ. Даже если об этом и не подозревают. Действительно, любой сможет написать код, который определяет, принадлежит ли некое число заданному интервалу или нет. И даже чуть более сложный - определить область пересечения двух интервалов-отрезков. На практике однако встречаются и более сложные задачи. Допустим, например, что в некой гостинице есть два свободных номера. Но один свободен со 2-го по 5-е число, а второй - с 6-го по 10-е. Клиент интересуется, есть ли возможность поселения на 8 дней? Правильный ответ - "да, есть, но с переселением (лесенкой)". Для такого ответа программа должна уметь распознать, что интервалы [2, 5] и [6, 10] являются смежными , а значит, их можно сложить , получив общий доступный интервал [2, 10], длина которого (9) превышает запрашиваемый. Другая более редкая, но и более интересная задача - определить область пересечения двух множеств интервалов. Сложность в том, что количество интервалов в сравниваемых множествах может быть произвольным. Программист, который умеет только в сравнения "на меньше/больше" (или даже в between), столкнется при реализации с трудностями формализации. В данной статье мы сфокусируемся на выводе формулы пересечений множеств интервалов. Опираться будем на линейную алгебру и ее объекты - векторы и формы. Кому интересен в первую очередь итоговый результат, - могут сразу двигать в конец, не вникая в промежуточные выкладки. Поехали!
-
Увеличение лидирующих нулей в симметричной разреженной матрице
В предыдущей статье было показано, что при решении СЛАУ с симметричной разреженной матрицей наличие лидирующих нулей приводит к уменьшению количества вычислений. В этой статье будет представлен алгоритм, предназначенный для увеличения количества лидирующих нулей данной матрицы. Если переставить i-ую и j-ую строки, а также i-ый и j-ый столбцы, то матрица останется симметричной. Такие перестановки называют симметричными. Они могут менять количество лидирующих нулей и, если их правильно применять, то количество лидирующих нулей можно увеличить. Другими словами, нам надо сделать так, чтобы все ненулевые члены по возможности находились возле главной диагонали. В частности, если известно, что матрица - ленточная, то делать ничего не надо. Предлагается следующий алгоритм. Вначале выбираем столбец ( или строку, что неважно, так как матрица симметричная ) с минимальным числом ненулевых элементов. Если таких столбцов несколько, то выбирается какой-то из них. При помощи симметричной перестановки делаем этот столбец первым. Таким образом количество нулей в этом столбце будет максимальным. Далее строки в которых были не нули игнорируем. Находим столбец с минимальным числом ненулевых элементов без учёта этих строк и делаем его следующим. И так далее пока не пройдём всю матрицу. Ниже помимо краткого текстового описания программы приводится много кода на С++, который сам по себе является точным описанием алгоритма.
-
Ускорение LUP-разложения матрицы с помощью OpenCL
Я являюсь автором проекта по математическому моделированию прикладной механики и в работе моей программы до 90% вычислительного времени уходит на решение системы линейных уравнений. Цель этой статьи сугубо практическая - найти оптимальный метод решения системы линейных уравнений с точки зрения производительность/трудозатрат для небольшого проекта и рассказать о результате. В прошлом я уже несколько раз обращал внимание на вычисления на GPU, но всегда что-то останавливало. И вот у меня накопился достаточный практический опыт программирования на C/C++ и наконец дошли руки, чтобы протестировать OpenCL.
-
Ускорение LUP-разложения матрицы с помощью OpenCL
Я являюсь автором проекта по математическому моделированию прикладной механики и в работе моей программы до 90% вычислительного времени уходит на решение системы линейных уравнений. Цель этой статьи сугубо практическая - найти оптимальный метод решения системы линейных уравнений с точки зрения производительность/трудозатрат для небольшого проекта и рассказать о результате. В прошлом я уже несколько раз обращал внимание на вычисления на GPU, но всегда что-то останавливало. И вот у меня накопился достаточный практический опыт программирования на C/C++ и наконец дошли руки, чтобы протестировать OpenCL.
-
Ускорение LUP-разложения матрицы с помощью OpenCL
Я являюсь автором проекта по математическому моделированию прикладной механики и в работе моей программы до 90% вычислительного времени уходит на решение системы линейных уравнений. Цель этой статьи сугубо практическая - найти оптимальный метод решения системы линейных уравнений с точки зрения производительность/трудозатрат для небольшого проекта и рассказать о результате. В прошлом я уже несколько раз обращал внимание на вычисления на GPU, но всегда что-то останавливало. И вот у меня накопился достаточный практический опыт программирования на C/C++ и наконец дошли руки, чтобы протестировать OpenCL.
-
Ускорение LUP-разложения матрицы с помощью OpenCL
Я являюсь автором проекта по математическому моделированию прикладной механики и в работе моей программы до 90% вычислительного времени уходит на решение системы линейных уравнений. Цель этой статьи сугубо практическая - найти оптимальный метод решения системы линейных уравнений с точки зрения производительность/трудозатрат для небольшого проекта и рассказать о результате. В прошлом я уже несколько раз обращал внимание на вычисления на GPU, но всегда что-то останавливало. И вот у меня накопился достаточный практический опыт программирования на C/C++ и наконец дошли руки, чтобы протестировать OpenCL.
-
Решение СЛАУ с симметричной разреженной матрицей
В этой статье мы будем рассматривать решения СЛАУ вида Ax = b, где A - симметричная разреженная матрица. Такие матрицы появляются, например, при решении задач методом наименьших квадратов. Для симметричных СЛАУ разработаны специальные методы, такие, как метод Холецкого и LDL T разложение. Так как первый из них применим к более узкому классу матриц, чем второй, поэтому далее будем рассматривать только LDL T разложение, хотя выводы этой статьи применимы к обоим методам.
-
В поиске собственных значений (матриц)
Как найти собственные числа и собственные значения матрицы? Методы, излагаемые в курсе линейной алгебры, основанные на определении — применимы ли они к реальным данным? Существует ли простой алгоритм поиска этих величин, который можно понять, а не просто поверить? Об этом мы поговорим под катом
https://habr.com/ru/companies/ruvds/articles/845652/
#math #математика #линейная_алгебра #численные_методы #ruvds_статьи
-
В поиске собственных значений (матриц)
Как найти собственные числа и собственные значения матрицы? Методы, излагаемые в курсе линейной алгебры, основанные на определении — применимы ли они к реальным данным? Существует ли простой алгоритм поиска этих величин, который можно понять, а не просто поверить? Об этом мы поговорим под катом
https://habr.com/ru/companies/ruvds/articles/845652/
#math #математика #линейная_алгебра #численные_методы #ruvds_статьи
-
В поиске собственных значений (матриц)
Как найти собственные числа и собственные значения матрицы? Методы, излагаемые в курсе линейной алгебры, основанные на определении — применимы ли они к реальным данным? Существует ли простой алгоритм поиска этих величин, который можно понять, а не просто поверить? Об этом мы поговорим под катом
https://habr.com/ru/companies/ruvds/articles/845652/
#math #математика #линейная_алгебра #численные_методы #ruvds_статьи
-
Вычисления на RISC-V: исследуем производительность OpenCL на CPU и совместимых GPU
библиотек в YADRO. Эта сфера активно развивается на RISC-V: известные математические библиотеки, такие как OpenBLAS, Eigen и многие другие, портируются и оптимизируются под RISC-V. Большой интерес представляет OpenCL — открытый стандарт разработки программного обеспечения для гетерогенных вычислений. Он широко используется во многих областях: HPC, AI/ML, AR/VR, линейная алгебра. В линейной алгебре OpenCL наиболее широко представлен с помощью библиотек clBLAS и CLBlast. Первая — более старая, вторая — более современная, со встроенным тюнером для оптимизации под конкретное железо. Далее я расскажу о своем проекте с летней стажировки: исследовании производительности этих библиотек на GPU
-
Знакомимся с линейной алгеброй в NumPy
Краткий гид по основам библиотеки NumPy и основным линейно-алгебраическим операциям с её использованием Читать!
-
Баланс стоимости предметов в RPG с помощью линейной алгебры
Я обожаю RPG, меня привлекают их богатый сюжет, стратегическая глубина и захватывающие миры. Также меня восхищают data-driven подходы к разработке. Они не только улучшают логическую структуру игровых механик, но и гарантируют, что каждый элемент игры сбалансирован и вносит значимый вклад в опыт игрока. Баланс - один из самых сложных аспектов разработки игр, поскольку он требует тщательного внимания к взаимодействию игровых механик. Сегодня я расскажу о том, как использовать линейную алгебру для баланса стоимости предметов в игре.
-
Погружение в матрицу: расширение RISC-V от T-Head
Продолжим нашу «антологию матричных расширений» текстом про независимое матричное расширение RISC-V от компании T-Head. Почему мы рассматриваем именно его? Интересно понять, что из себя представляет будущее стандартное матричное расширение RISC-V, попробовать реализовать алгоритм с его использованием, соотнести это со своим предыдущим опытом низкоуровневых оптимизаций. Кроме того, это интересная возможность попробовать написать программу для расширения, которого еще нет ни в одном процессоре, и запустить ее на эмуляторе. А еще ISA этого расширения весьма минималистична и, на мой взгляд, идеально подходит для тех, кто никогда не использовал матричные расширения в своем коде, но хочет попробовать (или узнать, как это выглядит изнутри). Не переживайте, текст не требует опыта низкоуровневых оптимизаций математических библиотек: погружение в матрицу будет постепенным. Начать погружение
https://habr.com/ru/companies/yadro/articles/827434/
#thead #матричное_расширение #матричное_умножение #операции #risvv #низкоуровневая_оптимизация #библиотеки #линейная_алгебра
-
Погружение в матрицу: расширение RISC-V от T-Head
Продолжим нашу «антологию матричных расширений» текстом про независимое матричное расширение RISC-V от компании T-Head. Почему мы рассматриваем именно его? Интересно понять, что из себя представляет будущее стандартное матричное расширение RISC-V, попробовать реализовать алгоритм с его использованием, соотнести это со своим предыдущим опытом низкоуровневых оптимизаций. Кроме того, это интересная возможность попробовать написать программу для расширения, которого еще нет ни в одном процессоре, и запустить ее на эмуляторе. А еще ISA этого расширения весьма минималистична и, на мой взгляд, идеально подходит для тех, кто никогда не использовал матричные расширения в своем коде, но хочет попробовать (или узнать, как это выглядит изнутри). Не переживайте, текст не требует опыта низкоуровневых оптимизаций математических библиотек: погружение в матрицу будет постепенным. Начать погружение
https://habr.com/ru/companies/yadro/articles/827434/
#thead #матричное_расширение #матричное_умножение #операции #risvv #низкоуровневая_оптимизация #библиотеки #линейная_алгебра
-
Погружение в матрицу: расширение RISC-V от T-Head
Продолжим нашу «антологию матричных расширений» текстом про независимое матричное расширение RISC-V от компании T-Head. Почему мы рассматриваем именно его? Интересно понять, что из себя представляет будущее стандартное матричное расширение RISC-V, попробовать реализовать алгоритм с его использованием, соотнести это со своим предыдущим опытом низкоуровневых оптимизаций. Кроме того, это интересная возможность попробовать написать программу для расширения, которого еще нет ни в одном процессоре, и запустить ее на эмуляторе. А еще ISA этого расширения весьма минималистична и, на мой взгляд, идеально подходит для тех, кто никогда не использовал матричные расширения в своем коде, но хочет попробовать (или узнать, как это выглядит изнутри). Не переживайте, текст не требует опыта низкоуровневых оптимизаций математических библиотек: погружение в матрицу будет постепенным. Начать погружение
https://habr.com/ru/companies/yadro/articles/827434/
#thead #матричное_расширение #матричное_умножение #операции #risvv #низкоуровневая_оптимизация #библиотеки #линейная_алгебра
-
No fail, no gain: как мы исправили более миллиона тестов, проверяя оптимизацию библиотеки OpenBLAS под RISC-V
Открытая архитектура RISC-V активно развивается: в стандарт добавляются новые расширения и инструкции, разрабатываются новые ядра и SoC. Поскольку многие компании видят перспективы архитектуры и готовы использовать ее в продакшене, создается программный стек для высокопроизводительных вычислений — RISC-V HPC (High Performance Computing). Прогресс сопровождает формирование нового тренда — OpenHPC. Он заключается в технологической независимости от решений коммерческих компаний. Причем это относится не только к ПО, но и к железу. Чтобы концепция OpenHPC реализовывалась быстрее, нужно, чтобы к инициативе присоединилось как можно больше компаний, помогающих в развитии экосистемы решений для RISC-V HPC. Меня зовут Андрей Соколов, я инженер-программист в компании YADRO. В R&D-команде мы поставили перед собой задачу: изучить, как можно поддержать архитектуру RISC-V со стороны библиотек линейной алгебры BLAS и LAPACK. Тестирование одной из open source-библиотек привело нас к интересным открытиям, о которых я расскажу под катом. Результаты тестов
https://habr.com/ru/companies/yadro/articles/821715/
#openblas #blas #lapack #линейная_алгебра #библиотеки #оптимизация #riscv
-
No fail, no gain: как мы исправили более миллиона тестов, проверяя оптимизацию библиотеки OpenBLAS под RISC-V
Открытая архитектура RISC-V активно развивается: в стандарт добавляются новые расширения и инструкции, разрабатываются новые ядра и SoC. Поскольку многие компании видят перспективы архитектуры и готовы использовать ее в продакшене, создается программный стек для высокопроизводительных вычислений — RISC-V HPC (High Performance Computing). Прогресс сопровождает формирование нового тренда — OpenHPC. Он заключается в технологической независимости от решений коммерческих компаний. Причем это относится не только к ПО, но и к железу. Чтобы концепция OpenHPC реализовывалась быстрее, нужно, чтобы к инициативе присоединилось как можно больше компаний, помогающих в развитии экосистемы решений для RISC-V HPC. Меня зовут Андрей Соколов, я инженер-программист в компании YADRO. В R&D-команде мы поставили перед собой задачу: изучить, как можно поддержать архитектуру RISC-V со стороны библиотек линейной алгебры BLAS и LAPACK. Тестирование одной из open source-библиотек привело нас к интересным открытиям, о которых я расскажу под катом. Результаты тестов
https://habr.com/ru/companies/yadro/articles/821715/
#openblas #blas #lapack #линейная_алгебра #библиотеки #оптимизация #riscv
-
Решение систем линейных уравнений с помощью Python
Как-то я наткнулась на статью , где говорилось о SymPy , а именно о возможности решения систем уравнений с ее помощью. Если кратко, то это бесплатная библиотека для символьных вычислений на языке Python. В символьных вычислениях компьютер работает с уравнениями и выражениями как с последовательностью символов, тогда как в численных оперирует приближёнными числовыми значениями. И поскольку линейные уравнения встречаются не только в математике, а также и в физике, и в ифнформатике, и во многих других областях, мне бы хотелось рассмотреть возможность их решения с Python. Приятного прочтения)
-
[Перевод] Исследователи приблизились к новому пределу скорости решения задачи коммивояжера
Целочисленное линейное программирование может помочь найти ответ на множество реальных проблем. Теперь исследователи нашли гораздо более быстрый способ это сделать. Задача коммивояжера — одна из старейших известных вычислительных задач. Она заключается в поиске кратчайшего маршрута через определённый список городов. Несмотря на кажущуюся простоту, проблема, как известно, сложна. И хотя вы можете использовать перебор, чтобы проверить все возможные маршруты, пока не найдете кратчайший путь, такая стратегия становится несостоятельной, уже когда в списке всего лишь несколько городов.
https://habr.com/ru/companies/first/articles/805233/
#проблема_коммивояжера #алгоритмы #вычислительная_сложность #линейная_алгебра #ILP
-
Как сделать рамку редактирования, как в Figma-е
Привет, хабр. В этой статье я бы хотел рассказать, как построить рамку редактирования, наподобие той, которая есть в редакторах figma, adobe illustrator и во множестве других графических редакторах. В основном рамка редактирования является составной частью графического редактора. Она может изменять расположение объекта, его масштаб и угол поворота.
https://habr.com/ru/articles/774776/
#рамка_редактирования #figma #компьютерная_графика #линейная_алгебра #графический_редактор