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

Рейтинг в поисковых системах. Наиболее заметное использование линейной алгебры (независимо от того, знаете ли вы об этом) было при создании Google. Их оригинальный алгоритм ранжирования, который с тех пор, несомненно, стал намного более сложным, использовал много линейной алгебры для ранжирования того, какие веб-страницы должны отображаться первыми. В более общем плане, каждый раз, когда вы хотите проанализировать случайное блуждание в сети, вам, вероятно, понадобится некоторая линейная алгебра. Вот серия сообщений в блоге, которые я написал, в которых описывается метод.

Линейное программирование: Наиболее широко используемым приложением линейной алгебры, безусловно, является оптимизация, а наиболее широко используемым видом оптимизации является линейное программирование. Вы можете оптимизировать бюджеты, свою диету и свой путь к работе, используя линейное программирование, и это лишь поверхностно касается приложений. Вот серия (еще не завершенная) о математике, лежащей в основе линейного программирования. Первичный метод их решения, называемый симплексным алгоритмом, по сути, представляет собой усиленное исключение Гаусса.

Коды с исправлением ошибок. Еще одно невидимое, но широко распространенное использование линейной алгебры - это теория кодирования. Проблема состоит в том, чтобы закодировать данные таким образом, чтобы при небольшом изменении закодированных данных вы все равно могли восстановить незакодированные данные. Такие схемы называются кодами с исправлением ошибок, а самые простые из них кодируют данные как векторы в векторном пространстве. Коды исправления ошибок используются в DVD, чтобы царапины не испортили фильм. Их также использовали на космических аппаратах для передачи данных обратно на Землю, и они позволили нам получить первые в истории снимки Сатурна и Юпитера крупным планом. Вот статья, описывающая простейший вид кода для исправления ошибок - код Хэмминга.

Анализ сигналов. Область анализа сигналов дает очень полезные инструменты для кодирования, анализа и манипулирования сигналами, которые могут быть аудио, изображениями, видео или такими вещами, как рентгеновские лучи и свет, преломляющийся через кристалл. Самый простой способ понять преобразование Фурье - это линейное отображение, которое выполняет изменение базиса. Анализ Фурье даже использовали для создания искусства. Вот первая статья из серии, в которой анализ Фурье проводится с нуля, хотя большую часть его можно сократить, пропустить или просмотреть, если вы хорошо разбираетесь в линейной алгебре. Дискретный кузен анализа Фурье также был частью многих теоретических методов в информатике.

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

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

Прогнозирование: Простейшие модели предсказания - это линейные модели, которые разрабатываются и понимаются с помощью линейной алгебры. Вот, например, статья о том, как делать линейную регрессию.

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

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

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

Существует гораздо больше приложений линейной алгебры, чем я могу здесь перечислить, от криптографии до анализа данных, медицинской визуализации и т. Д. Но суть ясна: прочная основа линейной алгебры - это все виды полезного.