Spec-Zone.ru › Julia 0.5

Линейная алгебра

Разложения матриц

Разложения матриц (также известные как разложения матриц) вычисляют разложение матрицы в произведение матриц и являются одним из центральных понятий линейной алгебры.

В следующей таблице обобщены типы разложений матриц, реализованные в Julia. Подробное описание связанных методов можно найти в разделе Линейная алгебра документации стандартной библиотеки.

Cholesky Разложение Холецкого
CholeskyPivoted Разложение Холецкого с выбором опорного элемента
LU Разложение LU
LUTridiagonal Разложение LU для треугольных матриц
UmfpackLU Разложение LU для разреженных матриц (вычисляется UMFPack)
QR Разложение QR
QRCompactWY Компактная форма QR в виде WY
QRPivoted Разложение QR с выбором опорного элемента
Hessenberg Разложение в верхнегессенберговую форму
Eigen Спектральное разложение
SVD Разложение по сингулярным значениям (SVD)
GeneralizedSVD Обобщенное SVD

Специальные матрицы

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

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

Hermitian Эрмитова матрица
UpperTriangular Верхняя треугольная матрица
LowerTriangular Нижняя треугольная матрица
Tridiagonal Трехдиагональная матрица
SymTridiagonal Симметричная трехдиагональная матрица
Bidiagonal Верхняя/нижняя двухдиагональная матрица
Diagonal Диагональная матрица
UniformScaling Матрица равномерного масштабирования

Элементарные операции

Тип матрицы + - * \ Другие функции с оптимизированными методами
Hermitian MV inv(), sqrtm(), expm()
UpperTriangular MV MV inv(), det()
LowerTriangular MV MV inv(), det()
SymTridiagonal M M MS MV eigmax(), eigmin()
Tridiagonal M M MS MV
Bidiagonal M M MS MV
Diagonal M M MV MV inv(), det(), logdet(), /()
UniformScaling M M MVS MVS /()

Условные обозначения:

M (матрица) Доступен оптимизированный метод для операций с матрицами
V (вектор) Доступен оптимизированный метод для операций с матрицей и вектором
S (скаляр) Доступен оптимизированный метод для операций с матрицей и скаляром

Разложения матриц

Тип матрицы LAPACK eig() eigvals() eigvecs() svd() svdvals()
Hermitian HE ARI
UpperTriangular TR A A A
LowerTriangular TR A A A
SymTridiagonal ST A ARI AV
Tridiagonal GT
Bidiagonal BD A A
Diagonal DI A

Условные обозначения:

A (все) Доступен оптимизированный метод для поиска всех характеристических значений и/или векторов например, eigvals(M)
R (диапазон) Доступен оптимизированный метод для поиска характеристических значений с il-го по ih-й eigvals(M, il, ih)
I (интервал) Доступен оптимизированный метод для поиска характеристических значений в интервале [vl, vh] eigvals(M, vl, vh)
V (векторы) Доступен оптимизированный метод для поиска характеристических векторов, соответствующих характеристическим значениям x=[x1, x2,...] eigvecs(M, x)

Оператор равномерного масштабирования

Оператор UniformScaling представляет скаляр, умноженный на оператор единицы, λ*I. Оператор единицы I определяется как константа и является экземпляром UniformScaling. Размер этих операторов является универсальным и соответствует другим матрицам в бинарных операциях +, -, * и \. Для A+I и A-I это означает, что A должна быть квадратной. Умножение на оператор единицы I является бесполезной операцией (кроме проверки, что коэффициент масштабирования равен единице) и, следовательно, практически не имеет накладных расходов.

© 2009–2016 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/release-0.5/manual/linear-algebra/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API