Пакет Autodiff с расширенной поддержкой симметричной матрицы / тензора

#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 исправлено. не стесняйтесь редактировать сообщение, если вы обнаружите подобную ошибку