Рубрика «линейная алгебра» - 2

Очень уважаю людей, которые имеют смелость заявить, что они что-то не понимают. Сам такой. То, что не понимаю, — обязательно должен изучить, осмыслить, понять. Статья "Математика на пальцах", и особенно матричная запись формул, заставили меня поделиться своим небольшим, но, кажется, немаловажным опытом работы с матрицами.

Лет эдак 20 назад довелось мне изучать высшую математику в вузе, и начинали мы с матриц (пожалуй, как и все студенты того времени). Почему-то считается, что матрицы — самая лёгкая тема в курсе высшей математики. Возможно — потому, что все действия с матрицами сводятся к знанию способов расчёта определителя и нескольких формул, построенных — опять же, на определителе. Казалось бы, всё просто. Но… Попробуйте ответить на элементарный вопрос — что такое определитель, что означает число, которое вы получаете при его расчёте? (подсказка: вариант типа «определитель — это число, которое находится по определённым правилам» не является правильным ответом, поскольку говорит о методе получения, а не о самой сути определителя). Сдаётесь? — тогда читаем дальше...Читать полностью »

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

РТС Mathcad – это характерный пример математического ПО, предназначенного для осуществления, как численных, так и аналитических расчетов по формулам и визуализации их результатов в виде графиков.Читать полностью »

Содержание основного курса

Улучшение кода

4 Приветствие и вступление

Нумерация в прошлой статье закончилась на 3, в этой будем продолжать нумеровать насквозь.
UPD: ВНИМАНИЕ! Раздел, начиная с номера 3.1, 3.14 и 3.141 и далее, будет о тонкостях реализации основы основ компьютерной графики — линейной алгебры и вычислительной геометрии. О принципах графики пишет haqreu, я же буду писать о том, как это можно внятно запрограммировать!

Эта статья является продолжением серии статей о практической реализации элементов вычислительной геометрии, и, в частности, программного отрисовщика, с использованием C++98. Мы с haqreu сознательно идем на использование прошлой версии стандарта и написание собственной геометрической библиотеки для того, чтобы, во-первых, выпустить код примеров, которые без особых трудностей будут компилироваться большинством имеющихся компиляторов, а во-вторых, чтобы в нашем коде не было ничего, что скрыто в недрах библиотеки. В статье излагаются вопросы реализации шаблона прямоугольной матрицы template<size_t DimRows,size_t DimCols,typename number_t> class mat;

4.1 Благодарности

Я выражаю огромную признательность haqreu, как основоположнику данного курса. Так держать!
Я очень признателен lemelisk за предварительное рецензирование и ревью моих исходников. Спасибо за плодотворные дискуссии!
Читать полностью »

Содержание курса

Данная статья написана в тесном сотрудничестве (спасибо создателям XMPP) с haqreu, автором данного курса.Мы начали масштабный рефакторинг кода, направленный на достижение максимальной компактности и читаемости. Мы сознательно пошли на отказ от ряда возможных и даже очевидных оптимизаций для получения максимально доступного для понимания кода учебных примеров.
P. S haqreu буквально на днях выложит статью о шейдерах!
Читать полностью »

Сегодня мы рассмотрим алгоритм TILT (Transform Invariant Low-rank Texture) и множество его методов применения в области Computer Vision. Статья будет нести несколько обзорный характер, без плотного углубления в математические дебри.
Алгоритм TILT или нестандартное использование ранга матрицы - 1
Читать полностью »

Рассмотрим систему линейных алгебраических уравнений (СЛАУ) из m уравнений с n неизвестными:

image

Матрица системы может быть не только квадратной невырожденной, но и квадратной вырожденной или прямоугольной.
Требуется найти все решения данной системы либо определить, что она несовместна (не имеет решений).

Рассмотрим метод Гаусса решения СЛАУ.
Читать полностью »

Символьные вычисления на примере решения одной несложной задачи по квантовой механикеСего дня я хотел бы предложить своим читателям небольшую заметку о том, как при помощи языка Haskell разработать модуль для выполнения символьных вычислений. В этой заметке будет описано только самое начало — как подступиться к задаче, какие типы данных использовать, как привязать к решению задачи мощную систему вывода типов языка Haskell. При помощи разработанных программных сущностей мы попробуем решить одну простенькую задачу по квантовой механике или даже, скорее, по линейной алгебре (она взята из первого задания курса «Quantum Mechanics and Quantum Computation» на Coursera — задача № 11). При этом мы посмотрим, как последовательное написание функций для выполнения символьных вычислений позволяет всё ближе и ближе подойти к правильному решению.

Вот условие задачи:

Let |ϕ> = ½ |0> + (1 + √2 i)/2 |1> be the state of a qubit. What is the inner product of |ϕ> and |+>?

Другими словами, необходимо найти скалярное произведение двух векторов, которые представляют кубиты |ϕ> и |+>, причём первый кубит задан в базисе (|0>, |1>), а то, как в этом же базисе раскладывается второй кубит, надо помнить :).

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

Читать полностью »

Испытания протокола TCP с линейным сетевым кодированием (TCP/NC)

Инженеры из Массачусетского технологического института под руководством Муриель Медард (Muriel Médard) уже много лет ведут разработку расширения TCP/NC для протокола TCP, с помощью которого можно сохранить максимальную скорость передачи данных в сетях с потерями пакетов. В первую очередь, TCP/NC планируют применять в беспроводных сетях WiFi, где потери пакетов обычно составляют 2-5%, а временами до 10%. Наконец-то дошло дело до реальных экспериментов.

Во время первых полевых испытаний TCP/NC в локальной WiFi-сети общежития МТИ (потеря пакетов 2%) средняя скорость передачи данных по WiFi выросла с 1 Мбит/с до 16 Мбит/с. Тест в поезде на большой скорости (потеря пакетов 5%) показал увеличение скорости WiFi с 0,5 Мбит/с до 13,5 Мбит/с. Это вполне совпадает с теоретическими расчётами.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js