Возведение матрицы в степень
Возведение матрицы в степень
Возведение матрицы в степень – последовательное умножение матрицы на саму себя:
C = An = A * A ... * A. В случае отрицательной
степени осуществляется нахождение обратной матрицы и возведение её в соответствующую
положительную степень C = A— n =
(A—1)n. Матрицы перемножаются по правилам умножения
матриц.
- матрица A должна быть квадратной
- если степень отрицательная, матрица A должна быть квадратной и невырожденной
- Квадратная матрица:
C = [[8, 6], [2, 4]] ^ 2; C = [[76 , 72];[24 , 28]];C = [[8, 6], [2, 4]] ^ 2; C = [[0.07 , -0.18];[-0.06 , 0.19]]; - Прямоугольная матрица:
C = [[1, 2, 5], [3, -4, 6]] ^ 2; // Ошибка: Размерности матриц не подходятУмножение невозможно. Будет выведена ошибка "Размерности матриц не подходят"
C = [[1, 2], [3, -4], [5, 6]] ^ 2; // Ошибка: Размерности матриц не подходятУмножение невозможно. Будет выведена ошибка "Размерности матриц не подходят"
Поэлементное возведение матрицы в степень
Каждый элемент матрицы A возводится в заданную степень.
- Квадратная матрица:
C = [[8, 6], [2, 4]] .^ 2; // C = [[64 , 36];[4 , 16]]; - Прямоугольная матрица:
C = [[1, 2, 5], [3, -4, 6]] .^ 2; // C =[[1 , 4 , 25];[9 , 16 , 36]]C = [[1, 2], [10, -4], [5, 8]].^ (-1); // C = [[1 , 0.5];[0.1 , -0.25];[0.2 , 0.125]]
Поэлементное возведение матрицы в степень матрицы
Поэлементное возведение матрицы A в степень матрицы B: C =
A.^B. Каждый элемент матрицы A, ai, j
возводится в степень, равную значению элемента матрицы B с тем же индексом,
bi, j.
- количество строк матриц A и B должно совпадать: rows(A) = rows(B)
- если количество столбцов матриц различается, недостающие столбцы
автоматически дополняются нулями до размера более широкой матрицы:
- если cols(B) > cols(A), то матрица A справа
дополняется нулевыми столбцами. В результирующей матрице C на
этих позициях будут 0 (поскольку
0^x = 0, исключение: 0^0 = 1) - если cols(B) < cols(A), то матрица B справа
дополняется нулевыми столбцами. В результирующей матрице C на
этих позициях будут 1 (поскольку
x^0 = 1)
- если cols(B) > cols(A), то матрица A справа
дополняется нулевыми столбцами. В результирующей матрице C на
этих позициях будут 0 (поскольку
- Матрицы одинаковой размерности:
C = [[1, 2], [3, 4]] .^ [[1, 2], [3, 4]]; // C = [[1 , 4];[27 , 256]];C = [[1, 2], [3, 6], [5, 4]] .^ [[1, -2], [3, 0], [-3, 0.5]]; // C = [[1 , 0.25];[27 , 1];[0.008 , 2]]; - Матрицы разной размерности такие, что rows(A) = rows(B), cols(B)
< cols(A):
C = [[1, 2], [3, 6], [5, 4]] .^ [[1], [3], [2]]; // C = [[1 , 1];[27 , 1]; [25, 1]];C = [[1, 2, 5], [3, 4, 6]] .^ [[1, 2], [3, 4]]; // C = [[1 , 4 , 1];[27 , 256 , 1]]; - Матрицы разной размерности такие, что rows(A) = rows(B), cols(B) ≥
cols(A):
C = [[1, 2, 5], [3, 4, 6]] .^ [[1, 2, 4, 3], [3, 4, 2, 1]]; // C = [[1 , 4 , 625 , 0];[27 , 256 , 36 , 0]]; - Матрицы разной размерности такие, что rows(A) ≠ rows(B):
Поэлементное возведение в степень невозможно. Будет выведена ошибка "Размерности матриц не подходят".C = [[1, 2, 5], [3, 4, 6]] .^ [[1, 2, 5]]; // Ошибка: Размерности матриц не подходят
Поэлементное возведение в степень невозможно. Будет выведена ошибка "Размерности матриц не подходят".C = [[1, 2, 5], [3, 4, 6]] .^ [[1, 2], [3, 4], [4, 6]]; // Ошибка: Размерности матриц не подходят