julia
julia copied to clipboard
un-revert "Simplify some views of Adjoint matrices"
This restores #39467.
Which was reverted in #40504, as it revealed that #39301 worked around #40613 by wrapping arrays in an Adjoint, and this simplification defeated the workaround. I can't seem to access the old CI showing the failure, so open this mostly to see if the problem still exists.
Edit: CI finds many failures, all in LinearAlgebra/test/eigen.jl:
LinearAlgebra/eigen (8) \| failed at 2022-01-08T22:12:34.531
--
| Test Failed at /cache/build/default-amdci5-4/julialang/julia-master/julia-ada14c04fb/share/julia/stdlib/v1.8/LinearAlgebra/test/eigen.jl:83
| Expression: UtiAUi!(copy(A), U) ≈ (U' \ A) / U
| Evaluated: Float32[-0.00887459 -0.16310576 … -0.3591877 -0.15916003; -0.16310576 -0.11184582 … -0.30255255 0.74982846; … ; -0.3591877 -0.30255255 … -0.46473336 -0.28343418; -0.15916003 0.74982846 … -0.28343418 1.4949863] ≈ Float32[-0.00887459 -0.16310576 … -0.16901004 -0.41308734; -0.16310576 -0.2407769 … -0.12652498 1.0525217; … ; -0.16901004 -0.12652501 … -0.2720722 -0.07317975; -0.41308734 1.0525217 … -0.073179774 1.7025527]
| Test Failed at /cache/build/default-amdci5-4/julialang/julia-master/julia-ada14c04fb/share/julia/stdlib/v1.8/LinearAlgebra/test/eigen.jl:83
| Expression: UtiAUi!(copy(A), U) ≈ (U' \ A) / U
| Evaluated: Float32[-0.00887459 -0.16310576 … -0.3591877 -0.15916003; -0.16310576 -0.11184582 … -0.30255255 0.74982846; … ; -0.3591877 -0.30255255 … -0.46473336 -0.28343418; -0.15916003 0.74982846 … -0.28343418 1.4949863] ≈ Float32[-0.00887459 -0.16310576 … -0.16901004 -0.41308734; -0.16310576 -0.2407769 … -0.12652498 1.0525217; … ; -0.16901004 -0.12652501 … -0.2720722 -0.07317975; -0.41308734 1.0525217 … -0.073179774 1.7025527]
| Test Failed at /cache/build/default-amdci5-4/julialang/julia-master/julia-ada14c04fb/share/julia/stdlib/v1.8/LinearAlgebra/test/eigen.jl:91
| Expression: fs.values ≈ f.values
| Evaluated: Float32[-4.602891, -1.8694172, -0.15660524, 0.6555811, 2.026897] ≈ Float32[-4.2605133, -1.0573678, 0.08764177, 0.12954518, 2.7794611]
...
| Test Failed at /cache/build/default-amdci5-4/julialang/julia-master/julia-ada14c04fb/share/julia/stdlib/v1.8/LinearAlgebra/test/eigen.jl:97
| Expression: fh.values ≈ f.values
| Evaluated: [-0.5556689668964792, -0.20675554144037073, -0.016361221883249177, 0.3445090167172249, 0.42200978305274217] ≈ [-0.17263684640976315, 0.0025938810125396574, 0.05215349545111212, 0.2601469489270776, 0.3257861412450775]
| Test Failed at /cache/build/default-amdci5-4/julialang/julia-master/julia-ada14c04fb/share/julia/stdlib/v1.8/LinearAlgebra/test/eigen.jl:98
| Expression: abs.(fh.vectors) ≈ abs.(f.vectors)
| Evaluated: [0.132589026487048 0.0013193579855257165 … 0.05918370279771972 0.07282388196974084; 0.0028226104971599796 0.0049318889910751765 … 0.04418256216957935 0.0902476304934164; … ; 0.0024654499372609275 0.2178484347208375 … 0.12410631841262428 0.11735870698706441; 0.11925527755161328 0.01175613482383402 … 0.05227110650216366 0.09512544951146651] ≈ [0.1121243723639149 0.055684704803172884 … 0.06996200918193456 0.0794589713976882; 0.017913579481332688 0.09891387280541807 … 0.05175955825366854 0.021929620484104434; … ; 0.058571677916491205 0.03969428173181681 … 0.10140761938652296 0.24776926307593822; 0.1437002856914586 0.05642273615320065 … 0.02846209731718072 0.039343006157254376]
|
It appears that the LinearAlgebra tests now pass, so perhaps this is safe to merge?
The code from https://github.com/JuliaLang/julia/pull/39301 seems to have been changed or removed, I'm not exactly sure which PR did so, but e.g. the function _UtiAsymUi! which contained ldiv!(view(A', 2:n, 1), UpperTriangular(Unext)', view(A', 2:n, 1)) is gone.
Note that https://github.com/JuliaLang/julia/issues/40613 has not been fixed.