РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
277 of 769 menu

Функция linalg.matrix_power

Функция linalg.matrix_power возводит квадратную матрицу в целочисленную степень. Первым параметром функция принимает квадратный тензор (матрицу), вторым параметром - целое число (показатель степени). Если показатель степени равен нулю, возвращается единичная матрица того же размера. Для отрицательных показателей вычисляется обратная матрица, возведённая в соответствующую положительную степень.

Синтаксис

torch.linalg.matrix_power(input, n)

Пример

Давайте возведём матрицу размера 2x2 в степень 2:

import torch t = torch.tensor([[2, 0], [0, 2]]) res = torch.linalg.matrix_power(t, 2) print(res)

Результат выполнения кода:

tensor([ [4, 0], [0, 4], ])

Пример

Возведём матрицу в степень 0. Должна получиться единичная матрица:

import torch t = torch.tensor([[2, 1], [1, 2]]) res = torch.linalg.matrix_power(t, 0) print(res)

Результат выполнения кода:

tensor([ [1, 0], [0, 1], ])

Пример

Возведём матрицу в отрицательную степень -1 (вычисление обратной матрицы):

import torch t = torch.tensor([[4, 7], [2, 6]]) res = torch.linalg.matrix_power(t, -1) print(res)

Результат выполнения кода:

tensor([ [0.6000, -0.7000], [-0.2000, 0.4000], ])

Пример

Возведём матрицу в степень -2 (обратная матрица в квадрате):

import torch t = torch.tensor([[4, 7], [2, 6]]) res = torch.linalg.matrix_power(t, -2) print(res)

Результат выполнения кода:

tensor([ [0.5000, -0.7000], [-0.2000, 0.3000], ])

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

  • функцию inv,
    которая вычисляет обратную матрицу
  • функцию det,
    которая вычисляет определитель квадратной матрицы
  • функцию svd,
    которая выполняет сингулярное разложение матрицы
  • функцию multi_dot,
    которая выполняет умножение нескольких матриц за один раз
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить