diff --git a/Project.toml b/Project.toml index 461bf3710..64b7962a1 100644 --- a/Project.toml +++ b/Project.toml @@ -22,7 +22,7 @@ ZygoteRules = "700de1a5-db45-46bc-99cf-38207098b444" [compat] AbstractFFTs = "0.5, 1.0" -ChainRules = "0.7.34" +ChainRules = "0.7.45" DiffRules = "1.0" FillArrays = "0.8, 0.9, 0.10, 0.11" ForwardDiff = "0.10" diff --git a/src/lib/array.jl b/src/lib/array.jl index 714a70c53..733026c84 100644 --- a/src/lib/array.jl +++ b/src/lib/array.jl @@ -570,32 +570,6 @@ end return (Ā,) end -@adjoint function LinearAlgebra.eigen(A::LinearAlgebra.RealHermSymComplexHerm) - dU = eigen(A) - return dU, function (Δ) - d, U = dU - d̄, Ū = Δ - if Ū === nothing - P = Diagonal(d̄) - else - F = inv.(d' .- d) - P = F .* (U' * Ū) - if d̄ === nothing - P[diagind(P)] .= 0 - else - P[diagind(P)] = d̄ - end - end - return (U * P * U',) - end -end - -@adjoint function LinearAlgebra.eigvals(A::LinearAlgebra.RealHermSymComplexHerm) - d, U = eigen(A) - return d, d̄ -> (U * Diagonal(d̄) * U',) -end - - # Hermitian/Symmetric matrix functions that can be written as power series _realifydiag!(A::AbstractArray{<:Real}) = A function _realifydiag!(A)