linalg:: orthog

Ортогонализация векторов

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

linalg::orthog(S, <Real>)

Описание

linalg::orthog(S) ортогонализирует векторы в S с помощью алгоритма Ортогонализации Грама-Шмидта.

Векторы в S ортогонализируются относительно скалярного произведения linalg::scalarProduct.

Если O является возвращенным набором, то векторы O охватывают то же подпространство как векторы в S, и они являются попарно ортогональными, т.е.: для всех с.

Возвращенные векторы не нормированы. Чтобы нормировать их используют map(O, linalg::normalize).

Для упорядоченного множества ортогональных векторов S должен быть списком.

Векторы в S должны быть заданы по тому же звонку компонента.

Звонок компонента векторов в S должен быть полем, т.е. областью категории Cat::Field.

Если вы используете опцию Real, linalg::orthog вычисляет ортогональное основание с помощью действительного скалярного произведения в процессе ортогонализации.

Примеры

Пример 1

Следующий список векторов является основанием векторного пространства 3:

MatR := Dom::Matrix(Dom::Real):
S := [MatR([2, 1, 0]), MatR([-3, 1, 1]), MatR([-1, -1, -1])]

Алгоритм Грама-Шмидта затем возвращает ортогональное основание для 3. Мы получаем ортонормированный базис со следующим входом:

ON:= linalg::orthog(S)

Векторы могут быть нормированы с помощью linalg::normalize:

map(ON, linalg::normalize)

Мы можем также создать матрицу из векторов в S применять linalg::orthog к этой матрице. Результатом является матрица, столбцы которой даны вышеупомянутыми элементами списка ON:

A:= S[1].S[2].S[3]

linalg::orthog(A)

Пример 2

Ортогонализация векторов:

T := {matrix([[-2, 5, 3]]), matrix([[0, 2, 1]])}

дает:

linalg::orthog(T)

Пример 3

Результатом linalg::orthog является список или набор линейно независимых векторов, даже если вход содержит линейно зависимые векторы:

MatQ := Dom::Matrix(Dom::Rational):
S := [MatQ([2, 1]), MatQ([3, 4]), MatQ([-1, 1])]

linalg::orthog(S)

Пример 4

Вычислите ортогональное основание этой матрицы:

A := matrix([[a, 1], [1, a]]):
linalg::orthog(A)

Чтобы избежать сопряженных комплексных чисел, используйте опцию Real:

linalg::orthog(A, Real)

Параметры

S

Набор или список векторов той же размерности (вектором является n ×1 или 1 ×n матрица области категории Cat::Matrix), или матрица

Опции

Real

Избегайте использования комплексного скалярного произведения в процессе ортогонализации.

Возвращаемые значения

Установите или список векторов, соответственно.

Смотрите также

Функции MuPAD