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

Функция linalg.cholesky

Функция linalg.cholesky выполняет разложение Холецкого для симметричной положительно определённой матрицы. Результатом является нижняя треугольная матрица L, такая что исходная матрица A = L * L.T. Первым параметром функция принимает тензор. Вторым параметром можно указать верхний треугольник.

Синтаксис

torch.linalg.cholesky(input, upper=False)

Пример

Давайте выполним разложение Холецкого для симметричной положительно определённой матрицы:

import torch t = torch.tensor([ [4.0, 2.0], [2.0, 5.0] ]) res = torch.linalg.cholesky(t) print(res)

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

tensor([ [2.0000, 0.0000], [1.0000, 2.0000] ])

Пример

Давайте выполним разложение и восстановим исходную матрицу:

import torch t = torch.tensor([ [4.0, 2.0], [2.0, 5.0] ]) L = torch.linalg.cholesky(t) reconstructed = L @ L.T print(reconstructed)

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

tensor([ [4.0000, 2.0000], [2.0000, 5.0000] ])

Пример

Давайте получим верхнюю треугольную матрицу с помощью параметра upper:

import torch t = torch.tensor([ [4.0, 2.0], [2.0, 5.0] ]) U = torch.linalg.cholesky(t, upper=True) print(U)

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

tensor([ [2.0000, 1.0000], [0.0000, 2.0000] ])

Пример

Давайте применим разложение Холецкого к трёхмерной матрице:

import torch t = torch.tensor([ [ [4.0, 2.0], [2.0, 5.0] ], [ [1.0, 0.5], [0.5, 1.0] ] ]) res = torch.linalg.cholesky(t) print(res)

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

tensor([ [ [2.0000, 0.0000], [1.0000, 2.0000] ], [ [1.0000, 0.0000], [0.5000, 0.8660] ] ])

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

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