Матричное представление - Matrix representation

Иллюстрация порядка строк и столбцов

Матричное представление это метод, используемый компьютерный язык хранить матрицы более одного измерения в объем памяти.Фортран и C используют разные схемы для своих родных массивов. Фортран использует "Главный столбец", в котором все элементы данного столбца непрерывно хранятся в памяти. C использует "Row Major", в котором все элементы данной строки непрерывно хранятся в памяти.ЛАПАК определяет различные матричные представления в памяти. Существует также Разреженное матричное представление и Матричное представление порядка Мортона.Согласно документации, в ЛАПАК то унитарная матрица представление оптимизировано.[1][2] Некоторые языки, такие как Ява хранить матрицы, используя Илиффские векторы. Они особенно полезны для хранения нерегулярные матрицы. Матрицы имеют первостепенное значение в линейная алгебра.

Основные математические операции

Порядок m × n (читается как m на n) матрица представляет собой набор чисел, расположенных в m строках и n столбцах. Матрицы одного порядка можно добавлять, добавляя соответствующие элементы. Две матрицы могут быть перемножены при условии, что количество столбцов первой матрицы равно количеству строк второй матрицы. Следовательно, если матрица размера m × n умножается на матрицу размера n × r, то результирующая матрица будет иметь порядок m × r.[3]

Операции, такие как операции со строками или операции со столбцами, могут выполняться с матрицей, используя которую мы можем получить обратную матрицу. Обратное может быть получено также путем определения сопряженного.[3] строки и столбцы - это разные классы матриц

Основы 2D-массива

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

  • int a [3] [4]объявляет целочисленный массив из 3 строк и 4 столбцов. Индекс строки начинается с 0 и увеличивается до 2.
  • Точно так же индекс столбца будет начинаться с 0 и увеличиваться до 3.[4]
Столбец 0Столбец 1Колонка 2Колонка 3
строка 0а [0] [0]а [0] [1]а [0] [2]а [0] [3]
ряд 1а [1] [0]а [1] [1]а [1] [2]а [1] [3]
2 ряда [2] [0]а [2] [1]а [2] [2]a [2] [3]

В этой таблице показано расположение элементов с их индексами.

Инициализация двумерных массивов: двумерные массивы можно инициализировать, предоставив список начальных значений.

int а[2][3] = {1,2,3,4,5,6};

или же

int а[2][3] = {{2,3,4},{4,4,5}};

Расчет адреса

Матрица размера m x n (a [1 ... m] [1 ... n]), где индекс строки изменяется от 1 до m, а индекс столбца - от 1 до n, aij обозначает число в ith ряд и jth столбец. В памяти компьютера все элементы хранятся линейно с использованием смежных адресов. Следовательно, чтобы сохранить двумерную матрицу a, двумерное адресное пространство должно быть отображено в одномерное адресное пространство. В памяти компьютера хранятся матрицы либо в Рядный порядок или же Столбец-старший порядок форма.

В 3D графике

Выбор представления для матриц 4 × 4, обычно используемых в 3D графика влияет на реализацию матричных / векторных операций в системах с упакованными Инструкции SIMD:

Ряд мажор

С помощью строкового порядка матрицы легко преобразовать векторы, используя скалярное произведение операций, поскольку коэффициенты каждого компонента в памяти последовательны. Следовательно, этот макет может быть желательным, если процессор изначально поддерживает операции скалярного произведения. Также возможно эффективно использовать матрицу аффинного преобразования «3 × 4» без заполнения или неудобных перестановок.

Колонка мажорная

С порядком по столбцам умножение "матрица × вектор" может быть реализовано с помощью векторизованных умножить-сложить операций, если компоненты вектора транслируются каждому SIMD полоса. Также легко получить доступ к базисные векторы представлен матрица преобразования как отдельные векторы-столбцы, поскольку они смежны в памяти.

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

Рекомендации

  1. ^ «Представление ортогональных или унитарных матриц». Техасский университет в Остине. Получено 14 сентября 2011.
  2. ^ Лехук, Р. (1996). «Вычисление элементарных унитарных матриц». Транзакции ACM на математическом ПО. 22 (4): 393–400. Дои:10.1145/235815.235817. HDL:1911/101830.
  3. ^ а б Рамана, Б.В. (2008). Высшая инженерная математика. Нью-Дели: Тата Макгроу-Хилл. ISBN  978-0-07-063419-0.
  4. ^ Балагурусамы, Э (2006). Программирование на ANSI C. Нью-Дели: Тата МакГроу-Хилл.

внешняя ссылка