orth

Ортонормальный базис линейной оболочки столбцов матрицы

Синтаксис

Q = orth(A)

Описание

пример

Q = orth(A) возвращает ортонормированный базис для области значений A. Столбцы Q являются векторами, которые порождают линейную оболочку столбцов A. Количество столбцов в Q равно рангу A.

Примеры

свернуть все

Вычислите и проверьте ортонормированные векторы базиса линейной оболочки столбцов матрицы полного ранга.

Задайте матрицу и найдите ранг.

A = [1 0 1;-1 -2 0; 0 1 -1];
r = rank(A)
r = 3

Поскольку A является квадратной матрицей полного ранга, ортонормированный базис, вычисленный orth(A), совпадает с матричным U, вычисленным в сингулярном разложении, [U,S] = svd(A,'econ'). Это вызвано тем, что сингулярные значения A являются все ненулевыми.

Вычислите ортонормированный базис для области значений A с помощью orth.

Q = orth(A)
Q = 3×3

   -0.1200   -0.8097    0.5744
    0.9018    0.1531    0.4042
   -0.4153    0.5665    0.7118

Количество столбцов в Q равно rank(A). Поскольку A имеет полный ранг, Q и A одного размера.

Проверьте, что основание, Q, является ортогональным и нормировано в разумном диапазоне ошибок.

E = norm(eye(r)-Q'*Q,'fro')
E = 1.0857e-15

Ошибка находится на порядке eps.

Вычислите и проверьте ортонормированные векторы базиса области значений матрицы неполного ранга.

Задайте сингулярную матрицу и найдите ранг.

A = [1 0 1; 0 1 0; 1 0 1];
r = rank(A)
r = 2

Поскольку A имеет неполный ранг, ортонормированный базис, вычисленный orth(A), совпадает только с первыми столбцами r = 2 матричного U, вычисленного в сингулярном разложении, [U,S] = svd(A,'econ'). Это вызвано тем, что сингулярные значения A не являются все ненулевыми.

Вычислите ортонормированный базис для области значений A с помощью orth.

Q = orth(A)
Q = 3×2

   -0.7071         0
         0    1.0000
   -0.7071         0

Поскольку A имеет неполный ранг, Q содержит тот меньше столбца, чем A.

Входные параметры

свернуть все

Введите матрицу.

Типы данных: single | double
Поддержка комплексного числа: Да

Больше о

свернуть все

Область значений

Пробел столбца или область значений, матричного A является набором всех линейных комбинаций столбцов A. Любой вектор, b, который является решением линейного уравнения, A*x = b, включен в область значений A, поскольку можно также записать его как линейную комбинацию столбцов A.

Ранг

rank матрицы равен размерности области значений.

Алгоритмы

orth получен из U в сингулярном разложении, [U,S] = svd(A,'econ'). Если r = rank(A), первые столбцы r U формируют ортонормированный базис для области значений A.

Расширенные возможности

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

| |

Представлено до R2006a