#linear-algebra #autodiff
#линейная алгебра #autodiff
Вопрос:
Существует ли на текущий момент времени какой-либо пакет линейной алгебры, который поддерживает как автоматическое дифференцирование, так и симметричные матрицы?
Часто важно, чтобы во время последовательности вычислений некоторая матрица оставалась симметричной. Одним из возможных решений является применение проекции на симметричную часть A <- (A transpose(A))/2
после каждого вычисления. По очевидным причинам это в лучшем случае неоптимально, а в худшем случае чрезмерно медленно.
То, что я ищу, — это пакет линейной алгебры с гарантиями того, что определенные операции, связанные с симметричными матрицами, дают симметричные матрицы. Например:
A B
, AB BA
, A^n
, A'
, c*A
, VAV'
, VV'
, V'V
A^-1
, exp(A)
, A∘B
, A ⊗ B
,
Все должно быть снова симметричным, заданным A
, B
симметричным, V
произвольным, c
скалярным.
Комментарии:
1. Произведение симметричных матриц A, B будет симметричным только в том случае, если A и B коммутируют
2. @dmuir исправлено. не стесняйтесь редактировать сообщение, если вы обнаружите подобную ошибку