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