В этой статье рассматривается проектирование типов для работы с объектами линейной алгебры: векторами, матрицами, кватернионами. Показано классическое применение механизма перегрузки стандартных операций, использование приёма «Copy On Write» и аннотаций.
Читать полностью »
Рубрика «матрицы» - 2
Классы матриц и векторов в Delphi
2017-10-25 в 3:11, admin, рубрики: Delphi, Алгоритмы, аннотации, вектора, математика, матрицы, ооп, перегрузка операций, ПрограммированиеЗадача о переправе
2017-10-15 в 12:29, admin, рубрики: занимательные задачи, математическое моделирование, матрицы, машина состояний, машина Тьюринга, мышление, рекурсия, Учебный процесс в ITНа Тостере иногда встречаются вопросы о том, как научиться думать как программист. Год назад я ради развлечения решил написать программу которая решает всем хорошо известную задачку — головоломку о волке, козе и капусте. В англоязычных источниках известную как river crossing puzzle.
В этом посте я представлю вам пример мыслительного процесса от задачи к ee алгоритмическому решению.
Читать полностью »
Спектроскоп-калейдоскоп
2017-09-01 в 13:04, admin, рубрики: python, математика, матрицы, Спектроскоп, спектры, узорыЭто заметка о том, что на основании алгоритма генерации спектров (о котором было рассказано в статье «Спектроскоп Салтана...») создан тестовый сервис, обратиться к которому может любой желающий.
Под катом — инструкция по использованию сервиса и его возможностей.
Читать полностью »
Загадочные структуры объединяют математику и природу
2016-11-24 в 12:05, admin, рубрики: квантовая физика, квантовые эффекты, математика, матрицы, Научно-популярное, универсальность, физика
В городе Куэрнавака в Мексике «шпионская» сеть повышает эффективность автобусного парка. В результате расписание отбытия автобусов везде соответствует шаблону «универсальности»
В 1999 году, сидя на автобусной остановке в городе Куэрнавака в Мексике, чешский физик Петр Шеба [Petr Šeba] заметил людей, дававших водителю автобуса кусочки бумаги в обмен на деньги. Он обнаружил, что это было не проявление организованной преступности, но другая «теневая» торговля: каждый водитель платил «шпиону», отмечавшему, когда предыдущий автобус отошёл от остановки. Если он отошёл недавно, то водитель этого автобуса замедлялся, чтобы на следующей остановке успели собраться пассажиры. Если тот автобус отошёл уже давно, водитель ускорялся, чтобы его не обогнали другие автобусы. Такая система максимизировала прибыль водителей. Что и дало Шебе идею.
«Мы подумали, что наблюдаем ситуацию, чем-то напоминающую хаотические квантовые системы», пояснил соавтор Шебы, Милан Крбалек [Milan Krbálek].
Читать полностью »
Тензорные разложения и их применения. Лекция в Яндексе
2016-10-30 в 14:39, admin, рубрики: Matlab, python, TensorFlow, Алгоритмы, Блог компании Яндекс, линейная алгебра, математика, матрицы, многомерный массив, ненормальное программирование, разложение, тензорыПредыдущая лекция с Data Fest была посвящена алгоритмам, необходимым для построения нового вида поиска. Сегодняшний доклад тоже в некотором смысле про разные алгоритмы, а точнее про математику, лежащую в основе множества из них. О матричных разложениях зрителям рассказал доктор наук и руководитель группы вычислительных методов «Сколтеха» Иван Оселедец.
Под катом — расшифровка и большинство слайдов.
Представление движений в 3D моделировании: интерполяция, аппроксимация и алгебры Ли
2016-07-26 в 8:44, admin, рубрики: 3d графика, c++, cad, CAD/CAM, cam, алгебра, вращение объектов, группы ли, движения, интерполяция, математика, матрицыВ этой статье мне бы хотелось рассказать об одном интересном математическом приеме, который будучи весьма интересным и полезным мало известен широкому кругу людей, занимающихся компьютерной графикой.
Сколько существует разных способов представить обыкновенный поворот в трехмерном пространстве? Большинство людей, когда-либо занимавшихся 3D-графикой или 3D-моделированием, сходу назовут три основных широко распространенных варианта:
- Матрица поворота 3x3;
- Задание поворота через углы Эйлера;
- Кватернионы.
Люди с богатым опытом добавят сюда почему-то не пользующийся популярностью четвертый пункт:
- Ось поворота и угол.
Мне бы хотелось рассказать о пятом способе представления вращений, который симпатичен тем, что удобен для параметризации, позволяет эффективно строить полиномиальные аппроксимации этих параметризаций, проводить сферическую интерполяцию, и главное, универсален — с минимальными изменениями он работает для любых видов движений. Если вам когда-либо был нужен метод, который позволял бы легко сделать «аналог slerp, но не для чистых вращений, а для произвольных движений, да еще и с масштабированием», то читайте эту статью. Читать полностью »
Разложение матрицы аффинного преобразования
2016-03-04 в 13:57, admin, рубрики: Алгоритмы, математика, матрицы, ПрограммированиеНе так давно в процессе разработки редактора 2D-графики возникла задача разложить матрицу аффинного преобразования на плоскости, на произведение матриц простых преобразований с тем, чтобы отобразить их пользователю и предложить какую-то более-менее адекватную интерпретацию того, что произошло с объектом на канвасе. Честно говоря, эта задача вызвала у меня определенные трудности. Университет я закончил уже давно, и мне было непонятно, а возможно ли это сделать в принципе, учитывая, что исходная матрица могла быть результатом произвольной последовательности сдвигов, масштабов, поворотов, и переносов, причем каждое преобразование могло иметь свой произвольный центр. И, во-вторых, непонятно было, как найти семь параметров, имея всего шесть коэффициентов матрицы. Ключом к решению этой задачи оказалась статья "Разложение матрицы центроаффинного преобразования для нормализации изображения"¹, в которой рассматривается такая же задача, но без учета преобразования переноса и для преобразований относительно центра координат. Далее я фактически просто адаптирую результаты этой статьи с учетом переноса и для произвольного центра преобразований.Читать полностью »
D std.ndslice как замена Python Numpy
2016-02-22 в 10:04, admin, рубрики: D, dlang, ndslice, numpy, python, массивы, математика, матрицы, ПрограммированиеПредисловие: Я пишу на Python более 6 лет и могу назвать себя профессионалом в этом языке. Недавно я даже написал о нем книгу. Однако последние 8 месяцев я переключился на D и уже 4 месяца активно участвую в разработке этого языка по части расширения стандартной библиотеки Phobos. Так же я участвовал в код-ревью модуля std.ndslice о котором и пойдет речь.
std.ndslice так же как и Numpy предназначен для работы с многомерными массивами. Однако в отличие от Numpy ndslice имет крайне низкий оверхэд так как базируется на ranges (диапазонах), которые используются в штатной библиотеке повсеместно. Ranges позволяют избежать лишние процедуры копирования, а так же позволяют красиво организовать ленивые вычисления.
В этой статье мне хотелось бы рассказать о том какие преимущества std.ndslice дает по сравнению с Numpy.
Читать полностью »
PS4 уверенно лидирует на рынке приставок восьмого поколения. Sony показала отчёт за 2 квартал 2015 года
2015-07-31 в 19:05, admin, рубрики: apple, PlayStation, Samsung, sony, бизнес-модели, выручка компаний, игровые консоли, компьютерные игры, матрицы, прибыль, убыток, финансовые результаты, финансы в ITПрибыль Sony с апреля по июнь 2015 года составила 664 миллиона долларов, превысив в три раза прибыль за аналогичный период 2014 года. Компания уверенно лидирует на рынке игровых приставок восьмого поколения, показывает успешные продажи CMOS-матриц, но теряет деньги на собственных смартфонах и Sony Pictures.
Sony открывает компанию для оказания геодезических и инспекционных услуг с помощью дронов
2015-07-22 в 18:12, admin, рубрики: cmos, sony, беспилотники, дроны, матрицы, мультикоптеры, робототехникаSony в августе откроет компанию, которая будет оказывать геодезические и инспекционные услуги корпорациям с помощью беспилотных летательных аппаратов. В аппаратах используют технологии Sony в области сенсоров и технологии японского стартапа ZMP в области автоматизированного управления техникой.