Ранг матриці: Онлайн калькулятор. Ранг матрицы

Реферат «Ранг матрицы» — apelsninkaa — LiveJournal

?
Реферат «Ранг матрицы»
apelsninkaa
November 17th, 2012
Current Mood:
chipper

План:

    Введение
  • 1 Определение
  • 2 Связанные определения
  • 3 Свойства
  • 4 Линейное преобразование и ранг матрицы
  • 5 Методы

Введение

Рангом системы строк (столбцов) матрицы A с m строк и n столбцов называется максимальное число линейно независимых строк (столбцов). Несколько строк (столбцов) называются линейно независимыми, если ни одна из них не выражается линейно через другие. Ранг системы строк всегда равен рангу системы столбцов, и это число называется рангом матрицы.

Ранг матрицы — наивысший из порядков миноров этой матрицы, отличных от нуля.

Ранг матрицы — Размерность образа dim(im(A)) линейного оператора, которому соответствует матрица.

Обычно ранг матрицы A обозначается  () или . Оба обозначения пришли к нам из иностранных языков, потому и употребляться могут оба. Последний вариант свойственен для английского языка, в то время как первый — для немецкого, французского и ряда других языков.

1. Определение

Пусть  — прямоугольная матрица.

Тогда по определению рангом матрицы A является:

  • ноль, если A — нулевая матрица;
  • число , где Mr — минор матрицы A порядка r, а Mr + 1 — окаймляющий к нему минор порядка (r + 1), если они существуют.

2. Связанные определения

  • Ранг  матрицы M размера  называют полным, если .
  • Базисный минор матрицы A — любой ненулевой минор матрицы A порядка r, где .
    • Строки и столбцы, на пересечении которых стоит базисный минор, называютсябазисными строками и столбцами. (Они определены неоднозначно в силу неоднозначности базисного минора.)

3. Свойства

  • Теорема (о базисном миноре): Пусть  — базисный минор матрицы A, тогда:
    1. базисные строки и базисные столбцы линейно независимы;
    2. любая строка (столбец) матрицы A есть линейная комбинация базисных строк (столбцов).
  • Следствия:
    • Если ранг матрицы равен r, то любые p:p > r строк или столбцов этой матрицы будут линейно зависимы.
    • Если A — квадратная матрица, и , то строки и столбцы этой матрицы линейно зависимы.
    • Пусть , тогда максимальное количество линейно независимых строк (столбцов) этой матрицы равно r.
  • Теорема (об инвариантности ранга при элементарных преобразованиях): Введём обозначение  для матриц, полученных друг из друга элементарными преобразованиями. Тогда справедливо утверждение: Если , то их ранги равны.
  • Теорема Кронекера — Капелли: Система линейных алгебраических уравнений совместна тогда и только тогда, когда ранг её основной матрицы равен рангу её расширенной матрицы. В частности:
    • Количество главных переменных системы равно рангу системы.
    • Совместная система будет определена (её решение единственно), если ранг системы равен числу всех её переменных.

4. Линейное преобразование и ранг матрицы

Пусть A — матрица размера  над полем C (или R). Пусть T — линейное преобразование, соответствующее A в стандартном базисе; это значит, что T(x) = AxРанг матрицы A — это размерность области значений преобразования T.

5. Методы

Существует несколько методов нахождения ранга матрицы:

  • Метод элементарных преобразований
Ранг матрицы равен числу ненулевых строк в матрице после приведения её к ступенчатой форме при помощи элементарных преобразований над строками матрицы.
  • Метод окаймляющих миноров
Пусть в матрице A найден ненулевой минор k-го порядка M. Рассмотрим все миноры (k + 1)-го порядка, включающие в себя (окаймляющие) минор M; если все они равны нулю, то ранг матрицы равен k. В противном случае среди окаймляющих миноров найдется ненулевой, и вся процедура повторяется.

Tags: 1 курс, УК, реферат

linalg.matrix_rank | NumPy

numpy.linalg.matrix_rank(M, tol=None, hermitian=False)

Функция linalg.matrix_rank() вычисляет ранг матрицы с помощью ее SVD разложения.

Параметры:
M — массивы NumPy или подобные массивам объекты.
Входной массив.
Если на вход подан одномерный массив (вектор) у которого хотябы один элемент отличен от 0, то будет возвращена 1, если все элементы равны 0, то функция выдаст 0. Если на вход подан двумерный массив, то он рассматривается как матрица. Если M — это многомерный массив, то он рассматривается как последовательность матриц по последним двум осям, и ранг вычисляется для каждой его подматрицы.
tol — число или последовательность чисел (необязательный параметр).
Устанавливает порог, ниже которого значения SVD разложения считаются нулевыми. По умолчанию равен None, в этом случае tol принимает значение равное S.max() * max(M.shape) * eps в котором S — это матрица с сингулярными значениями входной матрицы,
eps
— машинная эпсилон для типа данных S. Если tol устанавливается для многомерного массива, то он должен представлять из себя последовательность чисел, в которой каждое число соответствует каждой оси, кроме двух последних. С версии 1.14.0 поддерживается механизм транслирования.
hermitian — True или False (необязательный параметр).
Значение True следует ставить только если входная матрица является эрмитовой или симметричной. В этом случае ранг матрицы может быть вычислен гораздо быстрее. По умолчанию установлено False. Доступно с версии 1.14.0.
Возвращает:
результат — массив NumPy или число
Произведение Кронекера указанных массивов.

Смотрите так же:
det, slogdet, svd


>>> import numpy as np
>>> from numpy import linalg as LA
>>> 
>>> a = np. eye(5)
>>> a
array([[1., 0., 0., 0., 0.],
       [0., 1., 0., 0., 0.],
       [0., 0., 1., 0., 0.],
       [0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 1.]])
>>> 
>>> LA.matrix_rank(a)
5
>>> 
>>> 
>>> b = np.random.randint(4, size = (5, 5))
>>> b
array([[3, 3, 2, 1, 2],
       [3, 2, 3, 2, 3],
       [2, 1, 1, 2, 3],
       [1, 3, 1, 2, 3],
       [3, 3, 1, 3, 0]])
>>> 
>>> LA.matrix_rank(b)
5
>>> 
>>> 
>>> c = np.random.randint(4, size = (3, 2, 2))
>>> c
array([[[3, 3],
        [3, 1]],
       [[3, 0],
        [1, 0]],
       [[3, 1],
        [1, 0]]])
>>> 
>>> LA.matrix_rank(c)
array([2, 1, 2], dtype=int32)
>>> 
>>> LA.matrix_rank(c[0])
2



→ linalg. slogdet()
← linalg.det()




Matrix rank — Учебные пособия по визуализации, вычислениям и математике }\newcommand{R}[1]{\operatorname{Re}\,(#1)}\newcommand{I}[1]{\operatorname{Im}\, (#1)}\)

Ранг матрицы — это количество независимых строк и/или столбцов матрицы. матрица.

Вскоре мы определим, что мы подразумеваем под словом независимый .

Для матрицы с большим количеством столбцов, чем строк, это число независимых ряды.

Для матрицы, в которой строк больше, чем столбцов, например в матрице проекта, это количество независимых столбцов.

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

Столбец зависит от других столбцов, если значения в столбце могут генерироваться взвешенной суммой одного или нескольких других столбцов.

Говоря более формально, допустим, у нас есть матрица \(\mathbf{X}\) с \(M\) строк и \(N\) столбцов. Напишите столбец \(i\) из \(\mathbf{X}\) как \(X_{:,i}\). Столбец \(i\) равен

независимый от остальная часть \(\mathbf{X}\), если нет длины \(N\) вектор-столбца весов \(\vec{c}\), где \(c_i = 0\), таких, что \(\mathbf{X} \cdot \vec{c} = X_{:,i}\).

Сделаем дизайн с независимыми колонками:

 >>> #: Стандартный импорт
>>> импортировать numpy как np
>>> # Заставить numpy напечатать 4 значащие цифры для красоты
>>> np.set_printoptions (точность = 4, подавление = True)
>>> импортировать matplotlib.pyplot как plt
>>> # По умолчанию интерполяция ближайшего соседа, цветовая карта серого
>>> импортировать матплотлиб
>>> matplotlib.rcParams['image.interpolation'] = 'ближайший'
>>> matplotlib.rcParams['image.cmap'] = 'серый'
 

Подсказка

Если вы работаете в консоли IPython, рассмотрите возможность запуска %matplotlib , чтобы включить интерактивные сюжеты. При работе в Jupyter Notebook используйте

%matplotlib встроенный .

 >>> тренд = np.linspace(0, 1, 10)
>>> X = np.ones((10, 3))
>>> X[:, 0] = тренд
>>> X[:, 1] = тренд ** 2
>>> plt.imshow(X)
<...>
 

(png, Hires.png, pdf)

В этом случае ни один столбец не может быть сгенерирован взвешенной суммой двух других. Мы можем проверить это с помощью np.linalg.matrix_rank :

 >>> импортировать numpy.linalg как npl
>>> npl.matrix_rank(X)
3
 

Это не означает, что столбцы ортогональны:

 >>> # Ортогональные столбцы имеют скалярное произведение нуля
>>> Х.Т.точка(Х)
массив([[ 3.5185, 2.7778, 5. ],
       [2,7778, 2,337, 3,5185],
       [ 5. , 3.5185, 10. ]])
 

Это также не означает, что столбцы имеют нулевую корреляцию (см. Корреляция и проекция взаимосвязи между корреляцией и векторный скалярный продукт):

 >>> np.corrcoef(X[:,0], X[:, 1])
массив([[ 1. , 0.9627],
       [ 0,9627, 1. ]])
 

Пока каждый столбец не может быть

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

Теперь добавим четвертый столбец, представляющий собой взвешенную сумму первых трех:

 >>> X_not_full_rank = np.zeros((10, 4))
>>> X_not_full_rank[:, :3] = X
>>> X_not_full_rank[:, 3] = np.dot(X, [-1, 0,5, 0,5])
>>> plt.imshow(X_not_full_rank)
<...>
 

(png, Hires.png, pdf)

matrix_rank готов к работе:

 >>> npl.matrix_rank(X_not_full_rank)
3
 

Более типичная ситуация с матрицами проектирования, когда у нас есть фиктивный переменные столбцы, кодирующие членство в группе, которые в сумме составляют столбец единиц.

 >>> манекены = np.kron(np.eye(3), np.ones((4, 1)))
>>> plt.imshow(чайники)
<...>
 

(png, Hires.png, pdf)

Пока все хорошо:

 >>> npl.matrix_rank(пустышки)
3
 

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

 >>> dummies_with_mean = np. hstack((dummies, np.ones((12, 1))))
>>> plt.imshow(манекены_со_значением)
<...>
 

(png, нанимает.png, pdf)

 >>> npl.matrix_rank(dummies_with_mean)
3
 

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

Если матрица не имеет полного ранга, то она имеет ранг неполный .

  • Загрузите эту страницу в виде файла кода Python;
  • Загрузите эту страницу в виде блокнота Jupyter (без выходных данных).

Восстановление и завершение матриц низкого ранга с помощью выпуклой оптимизации

На этом веб-сайте представлены новые инструменты для восстановления матриц низкого ранга из неполных или поврежденных наблюдений.

Матрица искаженных наблюдений

Базовая низкоранговая матрица

+

Разреженная матрица ошибок

Во многих инженерных приложениях принято допущение, что основные данные лежат (приблизительно) на низкоразмерной линейной подпространство. Это свойство широко использовалось классиками. Анализ основных компонентов (PCA) для уменьшения размерности. Однако реальные данные часто поврежден с большими ошибками или даже может быть неполным. Хотя классический PCA эффективен при наличии небольшого гауссова шума в данных, он очень чувствителен даже к редким ошибкам очень высокого величина.

Мы предлагаем мощные инструменты, точно и эффективно исправляющие большие ошибки в таких структурированных данных. Основная идея состоит в том, чтобы сформулировать задачу как задачу минимизации ранга матрицы и решить ее эффективно за счет минимизации ядерных норм. Наши алгоритмы достигают ультрасовременное исполнение в восстановление матрицы низкого ранга с теоретическими гарантиями. Пожалуйста, просмотрите ссылки слева для получения дополнительной информации. Введение раздел дает краткий обзор проблемы восстановления матрицы низкого ранга и вводит современные алгоритмы для решения. Пожалуйста, обратитесь к нашим статьям в ссылках раздел для получения полной технической информации и раздел примера кода для Пакеты МАТЛАБ. Приложения Раздел демонстрирует инженерные проблемы, для решения которых использовались наши методы. добиться ультрасовременной производительности.

Кредиты

Этот веб-сайт поддерживается исследовательской группой профессора Йи Ма в университете Иллинойс в Урбана-Шампейн. Работа частично поддержана грантами: NSF IIS 08-49292, NSF ECCS 07-01676, ONR N00014-09-1-0230, ONR N00014-09-1-0230, NSF CCF 09-64215, NSF ECCS 07-01676 и NSF IIS 11-16012. Любые мнения, выводы и выводы или рекомендации, выраженные в наших публикациях, являются соответствующих авторов и не обязательно отражают взгляды Национального Научный фонд или Управление военно-морских исследований.

Ваши комментарии и вопросы направляйте веб-мастеру — Kerui Min.

Начало страницы


Люди
  • Проф. Джон Райт (доцент Колумбийского университета)
  • Арвинд Ганеш (аспирант, ECE, UIUC)
  • Зихан Чжоу (аспирант, ECE, UIUC)
  • Керуи Мин (аспирант, ECE, UIUC)
  • Др.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *