Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use approximate comparison in LinearAlgebra diagonal tests. #34361

Merged
merged 1 commit into from
Jan 13, 2020

Conversation

maleadt
Copy link
Member

@maleadt maleadt commented Jan 13, 2020

Fixes failure seen on Aarch64:

LinearAlgebra/diagonal  (1) |        started at 2020-01-13T16:33:47.385
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:474
  Expression: R == Array(T) * Array(D)
   Evaluated: Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -0.9525361961804399 + 0.40421363703275764im 0.2801989672173853 + 0.26280790187085495im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.22631425942095335 + 0.6262765810571636im 0.42843776732754896 - 0.47560436266985207im … -0.30261574621504916 - 0.15446207668286732im 0.0 + 0.0im; -0.33590934534027084 + 1.876310243668288im 0.42228055842794693 + 0.23958022531866294im … -0.3074361508137153 + 0.28835522954225656im -0.8091412635036446 - 0.5591219633454103im] == Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -0.9525361961804399 + 0.40421363703275764im 0.2801989672173853 + 0.26280790187085495im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.22631425942095335 + 0.6262765810571637im 0.42843776732754896 - 0.47560436266985207im … -0.30261574621504916 - 0.15446207668286735im 0.0 + 0.0im; -0.33590934534027084 + 1.8763102436682881im 0.42228055842794693 + 0.23958022531866296im … -0.3074361508137153 + 0.2883552295422566im -0.8091412635036445 - 0.5591219633454103im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:474
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:479
  Expression: R == Array(D) * Array(T)
   Evaluated: Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 0.2408936156784907 - 0.712340226978093im 0.2801989672173853 + 0.26280790187085495im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.19221755558567263 - 0.0036968399479248293im -0.0832191468509029 + 0.24030386092852674im … -0.30261574621504916 - 0.15446207668286732im 0.0 + 0.0im; 0.6838503169017639 - 0.4338506409951748im -0.1642199577619799 + 0.23152369804446626im … 0.15503692404817204 + 0.6006136850614415im -0.8091412635036446 - 0.5591219633454103im] == Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 0.2408936156784907 - 0.712340226978093im 0.2801989672173853 + 0.26280790187085495im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.19221755558567263 - 0.003696839947924826im -0.0832191468509029 + 0.2403038609285267im … -0.30261574621504916 - 0.15446207668286735im 0.0 + 0.0im; 0.6838503169017638 - 0.43385064099517484im -0.1642199577619799 + 0.23152369804446626im … 0.15503692404817204 + 0.6006136850614414im -0.8091412635036445 - 0.5591219633454103im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:479
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:484
  Expression: R == (Array(T))' * Array(D)
   Evaluated: Complex{Float64}[-0.5850341812330826 - 0.5225379053325488im 0.34412895693808426 + 0.6686057089515192im … 0.11496824674357772 - 0.15408944656153306im -0.6601340840753621 - 0.46914883103397975im; 0.0 + 0.0im 0.23800945716771732 - 0.3015475962666239im … -0.24380309768005345 - 0.0723285665650797im 0.15184054033092892 + 0.2398246601072192im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.0507147751465192 + 0.3359506430598296im -0.18635028117848523 + 0.5916475464379977im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im 0.8373748929171834 - 0.5158781279638014im] == Complex{Float64}[-0.5850341812330826 - 0.5225379053325488im 0.34412895693808426 + 0.6686057089515192im … 0.11496824674357772 - 0.15408944656153306im -0.6601340840753621 - 0.46914883103397975im; 0.0 + 0.0im 0.23800945716771732 - 0.3015475962666239im … -0.24380309768005345 - 0.0723285665650797im 0.1518405403309289 + 0.2398246601072192im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.050714775146519196 + 0.3359506430598296im -0.18635028117848523 + 0.5916475464379977im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im 0.8373748929171834 - 0.5158781279638014im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:484
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:489
  Expression: R == Array(D) * (Array(T))'
   Evaluated: Complex{Float64}[-0.5850341812330826 - 0.5225379053325488im 0.3722885498383209 - 0.9654610841750337im … 0.6334615695186281 + 0.20534590315100237im 1.8640915113933303 - 0.39816837635956126im; 0.0 + 0.0im 0.23800945716771732 - 0.3015475962666239im … 0.49438993469630726 + 0.40661655491899507im 0.3819653593951085 - 0.299703217553842im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.0507147751465192 + 0.3359506430598296im -0.413463741945906 + 0.0819357023989555im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im 0.8373748929171834 - 0.5158781279638014im] == Complex{Float64}[-0.5850341812330826 - 0.5225379053325488im 0.3722885498383209 - 0.9654610841750337im … 0.6334615695186281 + 0.20534590315100237im 1.8640915113933303 - 0.39816837635956126im; 0.0 + 0.0im 0.23800945716771732 - 0.3015475962666239im … 0.49438993469630726 + 0.40661655491899507im 0.3819653593951085 - 0.299703217553842im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.050714775146519196 + 0.3359506430598296im -0.413463741945906 + 0.0819357023989555im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im 0.8373748929171834 - 0.5158781279638015im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:489
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:494
  Expression: R == transpose(Array(T)) * Array(D)
   Evaluated: Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.2408936156784907 - 0.712340226978093im … 0.19221755558567263 - 0.0036968399479248293im 0.6838503169017639 - 0.4338506409951748im; 0.0 + 0.0im 0.2801989672173853 + 0.26280790187085495im … -0.0832191468509029 + 0.24030386092852674im -0.1642199577619799 + 0.23152369804446626im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.30261574621504916 - 0.15446207668286732im 0.15503692404817204 + 0.6006136850614415im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.8091412635036446 - 0.5591219633454103im] == Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.2408936156784907 - 0.712340226978093im … 0.19221755558567263 - 0.0036968399479248323im 0.6838503169017638 - 0.4338506409951748im; 0.0 + 0.0im 0.2801989672173853 + 0.26280790187085495im … -0.0832191468509029 + 0.2403038609285267im -0.1642199577619799 + 0.23152369804446626im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.30261574621504916 - 0.15446207668286735im 0.15503692404817204 + 0.6006136850614415im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.8091412635036445 - 0.5591219633454103im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:494
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:499
  Expression: R == Array(D) * transpose(Array(T))
   Evaluated: Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im -0.9525361961804399 + 0.40421363703275764im … 0.22631425942095335 + 0.6262765810571636im -0.33590934534027084 + 1.876310243668288im; 0.0 + 0.0im 0.2801989672173853 + 0.26280790187085495im … 0.42843776732754896 - 0.47560436266985207im 0.42228055842794693 + 0.23958022531866294im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.30261574621504916 - 0.15446207668286732im -0.3074361508137153 + 0.28835522954225656im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.8091412635036446 - 0.5591219633454103im] == Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im -0.9525361961804399 + 0.40421363703275764im … 0.22631425942095335 + 0.6262765810571636im -0.33590934534027084 + 1.876310243668288im; 0.0 + 0.0im 0.2801989672173853 + 0.26280790187085495im … 0.42843776732754896 - 0.47560436266985207im 0.42228055842794693 + 0.23958022531866294im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.30261574621504916 - 0.15446207668286735im -0.3074361508137153 + 0.28835522954225656im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.8091412635036445 - 0.5591219633454103im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:499
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:474
  Expression: R == Array(T) * Array(D)
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -0.9525361961804399 + 0.40421363703275764im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.22631425942095335 + 0.6262765810571636im 0.42843776732754896 - 0.47560436266985207im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; -0.33590934534027084 + 1.876310243668288im 0.42228055842794693 + 0.23958022531866294im … -0.3074361508137153 + 0.28835522954225656im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -0.9525361961804399 + 0.40421363703275764im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.22631425942095335 + 0.6262765810571637im 0.42843776732754896 - 0.47560436266985207im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; -0.33590934534027084 + 1.8763102436682881im 0.42228055842794693 + 0.23958022531866296im … -0.3074361508137153 + 0.2883552295422566im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:474
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:479
  Expression: R == Array(D) * Array(T)
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 0.2408936156784907 - 0.712340226978093im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.19221755558567263 - 0.0036968399479248293im -0.0832191468509029 + 0.24030386092852674im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; 0.6838503169017639 - 0.4338506409951748im -0.1642199577619799 + 0.23152369804446626im … 0.15503692404817204 + 0.6006136850614415im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 0.2408936156784907 - 0.712340226978093im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.19221755558567263 - 0.003696839947924826im -0.0832191468509029 + 0.2403038609285267im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; 0.6838503169017638 - 0.43385064099517484im -0.1642199577619799 + 0.23152369804446626im … 0.15503692404817204 + 0.6006136850614414im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:479
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:484
  Expression: R == (Array(T))' * Array(D)
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.34412895693808426 + 0.6686057089515192im … 0.11496824674357772 - 0.15408944656153306im -0.6601340840753621 - 0.46914883103397975im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … -0.24380309768005345 - 0.0723285665650797im 0.15184054033092892 + 0.2398246601072192im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im -0.18635028117848523 + 0.5916475464379977im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.34412895693808426 + 0.6686057089515192im … 0.11496824674357772 - 0.15408944656153306im -0.6601340840753621 - 0.46914883103397975im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … -0.24380309768005345 - 0.0723285665650797im 0.1518405403309289 + 0.2398246601072192im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im -0.18635028117848523 + 0.5916475464379977im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:484
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:489
  Expression: R == Array(D) * (Array(T))'
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.3722885498383209 - 0.9654610841750337im … 0.6334615695186281 + 0.20534590315100237im 1.8640915113933303 - 0.39816837635956126im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … 0.49438993469630726 + 0.40661655491899507im 0.3819653593951085 - 0.299703217553842im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im -0.413463741945906 + 0.0819357023989555im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.3722885498383209 - 0.9654610841750337im … 0.6334615695186281 + 0.20534590315100237im 1.8640915113933303 - 0.39816837635956126im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … 0.49438993469630726 + 0.40661655491899507im 0.3819653593951085 - 0.299703217553842im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im -0.413463741945906 + 0.0819357023989555im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:489
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:494
  Expression: R == transpose(Array(T)) * Array(D)
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.2408936156784907 - 0.712340226978093im … 0.19221755558567263 - 0.0036968399479248293im 0.6838503169017639 - 0.4338506409951748im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … -0.0832191468509029 + 0.24030386092852674im -0.1642199577619799 + 0.23152369804446626im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im 0.15503692404817204 + 0.6006136850614415im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.2408936156784907 - 0.712340226978093im … 0.19221755558567263 - 0.0036968399479248323im 0.6838503169017638 - 0.4338506409951748im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … -0.0832191468509029 + 0.2403038609285267im -0.1642199577619799 + 0.23152369804446626im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im 0.15503692404817204 + 0.6006136850614415im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:494
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:499
  Expression: R == Array(D) * transpose(Array(T))
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im -0.9525361961804399 + 0.40421363703275764im … 0.22631425942095335 + 0.6262765810571636im -0.33590934534027084 + 1.876310243668288im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … 0.42843776732754896 - 0.47560436266985207im 0.42228055842794693 + 0.23958022531866294im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im -0.3074361508137153 + 0.28835522954225656im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im -0.9525361961804399 + 0.40421363703275764im … 0.22631425942095335 + 0.6262765810571636im -0.33590934534027084 + 1.876310243668288im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … 0.42843776732754896 - 0.47560436266985207im 0.42228055842794693 + 0.23958022531866294im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im -0.3074361508137153 + 0.28835522954225656im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:499
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:474
  Expression: R == Array(T) * Array(D)
   Evaluated: Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im -1.3454733216552457 - 0.7901750546722206im … -0.18985760952717634 - 0.09141149616583472im -0.9752398864003096 + 0.1542749996902797im; 0.0 + 0.0im 0.2801989672173853 + 0.26280790187085495im … -0.1596339413078932 + 0.3040260461632005im 0.606310957870117 - 0.6437933737354596im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.30261574621504916 - 0.15446207668286732im -0.3145307581415686 - 0.03397173476393031im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.8091412635036446 - 0.5591219633454103im] == Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im -1.3454733216552457 - 0.7901750546722206im … -0.18985760952717637 - 0.09141149616583473im -0.9752398864003096 + 0.1542749996902797im; 0.0 + 0.0im 0.2801989672173853 + 0.26280790187085495im … -0.1596339413078932 + 0.30402604616320056im 0.606310957870117 - 0.6437933737354596im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.30261574621504916 - 0.15446207668286735im -0.3145307581415686 - 0.03397173476393031im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.8091412635036445 - 0.5591219633454103im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:474
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:479
  Expression: R == Array(D) * Array(T)
   Evaluated: Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.4190025965376666 + 2.1058427775704764im … 0.0882324142613532 - 0.7245171654671452im 1.2844428060378537 - 1.9367084222675324im; 0.0 + 0.0im 0.2801989672173853 + 0.26280790187085495im … 0.6680549540244025 - 0.5484633802012181im -1.2000074224376531 - 0.9208920079570324im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.30261574621504916 - 0.15446207668286732im -0.08236073939478808 - 0.19856858349350795im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.8091412635036446 - 0.5591219633454103im] == Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.4190025965376666 + 2.105842777570477im … 0.08823241426135321 - 0.7245171654671453im 1.2844428060378534 - 1.9367084222675324im; 0.0 + 0.0im 0.2801989672173853 + 0.26280790187085495im … 0.6680549540244025 - 0.5484633802012181im -1.2000074224376531 - 0.9208920079570324im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.30261574621504916 - 0.15446207668286735im -0.08236073939478807 - 0.19856858349350795im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.8091412635036445 - 0.5591219633454103im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:479
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:484
  Expression: R == (Array(T))' * Array(D)
   Evaluated: Complex{Float64}[-0.5850341812330826 - 0.5225379053325488im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 2.11862096904321 + 0.34868634799982545im 0.23800945716771732 - 0.3015475962666239im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.7211793668314451 + 0.11229604997296033im 0.7421766528697484 + 0.44303873075990696im … -0.0507147751465192 + 0.3359506430598296im 0.0 + 0.0im; -1.8928882768367394 + 1.3481864879453545im -1.0497482237402624 + 1.089076935289128im … 0.11343152125962583 + 0.18260904613134996im 0.8373748929171834 - 0.5158781279638014im] == Complex{Float64}[-0.5850341812330826 - 0.5225379053325488im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 2.11862096904321 + 0.3486863479998255im 0.23800945716771732 - 0.3015475962666239im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.7211793668314451 + 0.1122960499729603im 0.7421766528697484 + 0.44303873075990696im … -0.050714775146519196 + 0.3359506430598296im 0.0 + 0.0im; -1.8928882768367394 + 1.3481864879453542im -1.0497482237402624 + 1.0890769352891279im … 0.11343152125962583 + 0.18260904613134993im 0.8373748929171834 - 0.5158781279638014im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:484
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:489
  Expression: R == Array(D) * (Array(T))'
   Evaluated: Complex{Float64}[-0.5850341812330826 - 0.5225379053325488im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -1.2130326473517479 + 0.9814412222701148im 0.23800945716771732 - 0.3015475962666239im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.03628542789329166 + 0.20757008755899997im -0.34010951500969855 - 0.04733233316653743im … -0.0507147751465192 + 0.3359506430598296im 0.0 + 0.0im; 0.9657972723139894 + 0.20525408728301237im -0.5716814202564392 - 0.6747319759968727im … 0.31588036368128836 - 0.017414718503547297im 0.8373748929171834 - 0.5158781279638014im] == Complex{Float64}[-0.5850341812330826 - 0.5225379053325488im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -1.2130326473517479 + 0.9814412222701148im 0.23800945716771732 - 0.3015475962666239im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.03628542789329165 + 0.20757008755899997im -0.34010951500969855 - 0.04733233316653741im … -0.050714775146519196 + 0.3359506430598296im 0.0 + 0.0im; 0.9657972723139894 + 0.20525408728301237im -0.5716814202564392 - 0.6747319759968727im … 0.3158803636812883 - 0.017414718503547297im 0.8373748929171834 - 0.5158781279638015im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:489
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:494
  Expression: R == transpose(Array(T)) * Array(D)
   Evaluated: Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 0.4190025965376666 + 2.1058427775704764im 0.2801989672173853 + 0.26280790187085495im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.0882324142613532 - 0.7245171654671452im 0.6680549540244025 - 0.5484633802012181im … -0.30261574621504916 - 0.15446207668286732im 0.0 + 0.0im; 1.2844428060378537 - 1.9367084222675324im -1.2000074224376531 - 0.9208920079570324im … -0.08236073939478808 - 0.19856858349350795im -0.8091412635036446 - 0.5591219633454103im] == Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 0.4190025965376666 + 2.1058427775704764im 0.2801989672173853 + 0.26280790187085495im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.08823241426135321 - 0.7245171654671452im 0.6680549540244025 - 0.5484633802012181im … -0.30261574621504916 - 0.15446207668286735im 0.0 + 0.0im; 1.2844428060378534 - 1.9367084222675324im -1.2000074224376531 - 0.9208920079570323im … -0.08236073939478807 - 0.19856858349350795im -0.8091412635036445 - 0.5591219633454103im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:494
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:499
  Expression: R == Array(D) * transpose(Array(T))
   Evaluated: Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -1.3454733216552457 - 0.7901750546722206im 0.2801989672173853 + 0.26280790187085495im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.18985760952717634 - 0.09141149616583472im -0.1596339413078932 + 0.3040260461632005im … -0.30261574621504916 - 0.15446207668286732im 0.0 + 0.0im; -0.9752398864003096 + 0.1542749996902797im 0.606310957870117 - 0.6437933737354596im … -0.3145307581415686 - 0.03397173476393031im -0.8091412635036446 - 0.5591219633454103im] == Complex{Float64}[-0.5417188477687063 - 0.5673196151135057im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -1.3454733216552457 - 0.7901750546722206im 0.2801989672173853 + 0.26280790187085495im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.18985760952717637 - 0.09141149616583472im -0.1596339413078932 + 0.30402604616320056im … -0.30261574621504916 - 0.15446207668286735im 0.0 + 0.0im; -0.9752398864003096 + 0.1542749996902797im 0.606310957870117 - 0.6437933737354596im … -0.3145307581415686 - 0.03397173476393031im -0.8091412635036445 - 0.5591219633454103im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:499
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:474
  Expression: R == Array(T) * Array(D)
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im -1.3454733216552457 - 0.7901750546722206im … -0.18985760952717634 - 0.09141149616583472im -0.9752398864003096 + 0.1542749996902797im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … -0.1596339413078932 + 0.3040260461632005im 0.606310957870117 - 0.6437933737354596im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im -0.3145307581415686 - 0.03397173476393031im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im -1.3454733216552457 - 0.7901750546722206im … -0.18985760952717637 - 0.09141149616583473im -0.9752398864003096 + 0.1542749996902797im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … -0.1596339413078932 + 0.30402604616320056im 0.606310957870117 - 0.6437933737354596im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im -0.3145307581415686 - 0.03397173476393031im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:474
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:479
  Expression: R == Array(D) * Array(T)
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.4190025965376666 + 2.1058427775704764im … 0.0882324142613532 - 0.7245171654671452im 1.2844428060378537 - 1.9367084222675324im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … 0.6680549540244025 - 0.5484633802012181im -1.2000074224376531 - 0.9208920079570324im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im -0.08236073939478808 - 0.19856858349350795im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.4190025965376666 + 2.105842777570477im … 0.08823241426135321 - 0.7245171654671453im 1.2844428060378534 - 1.9367084222675324im; 0.0 + 0.0im 1.0193725518604648 - 0.07620520870799807im … 0.6680549540244025 - 0.5484633802012181im -1.2000074224376531 - 0.9208920079570324im; … ; 0.0 + 0.0im 0.0 + 0.0im … -0.36123482118229716 + 0.18554861767722838im -0.08236073939478807 - 0.19856858349350795im; 0.0 + 0.0im 0.0 + 0.0im … 0.0 + 0.0im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:479
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:484
  Expression: R == (Array(T))' * Array(D)
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 2.11862096904321 + 0.34868634799982545im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.7211793668314451 + 0.11229604997296033im 0.7421766528697484 + 0.44303873075990696im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; -1.8928882768367394 + 1.3481864879453545im -1.0497482237402624 + 1.089076935289128im … 0.11343152125962583 + 0.18260904613134996im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 2.11862096904321 + 0.3486863479998255im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.7211793668314451 + 0.1122960499729603im 0.7421766528697484 + 0.44303873075990696im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; -1.8928882768367394 + 1.3481864879453542im -1.0497482237402624 + 1.0890769352891279im … 0.11343152125962583 + 0.18260904613134993im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:484
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:489
  Expression: R == Array(D) * (Array(T))'
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -1.2130326473517479 + 0.9814412222701148im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.03628542789329166 + 0.20757008755899997im -0.34010951500969855 - 0.04733233316653743im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; 0.9657972723139894 + 0.20525408728301237im -0.5716814202564392 - 0.6747319759968727im … 0.31588036368128836 - 0.017414718503547297im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -1.2130326473517479 + 0.9814412222701148im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.03628542789329165 + 0.20757008755899997im -0.34010951500969855 - 0.04733233316653741im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; 0.9657972723139894 + 0.20525408728301237im -0.5716814202564392 - 0.6747319759968727im … 0.3158803636812883 - 0.017414718503547297im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:489
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:494
  Expression: R == transpose(Array(T)) * Array(D)
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 0.4190025965376666 + 2.1058427775704764im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.0882324142613532 - 0.7245171654671452im 0.6680549540244025 - 0.5484633802012181im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; 1.2844428060378537 - 1.9367084222675324im -1.2000074224376531 - 0.9208920079570324im … -0.08236073939478808 - 0.19856858349350795im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; 0.4190025965376666 + 2.1058427775704764im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; 0.08823241426135321 - 0.7245171654671452im 0.6680549540244025 - 0.5484633802012181im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; 1.2844428060378534 - 1.9367084222675324im -1.2000074224376531 - 0.9208920079570323im … -0.08236073939478807 - 0.19856858349350795im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:494
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
Triangular and Diagonal: Test Failed at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:499
  Expression: R == Array(D) * transpose(Array(T))
   Evaluated: Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -1.3454733216552457 - 0.7901750546722206im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.18985760952717634 - 0.09141149616583472im -0.1596339413078932 + 0.3040260461632005im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; -0.9752398864003096 + 0.1542749996902797im 0.606310957870117 - 0.6437933737354596im … -0.3145307581415686 - 0.03397173476393031im -0.01569077076747162 + 0.5974286819694318im] == Complex{Float64}[-1.0110524818167268 - 0.9779455856886434im 0.0 + 0.0im … 0.0 + 0.0im 0.0 + 0.0im; -1.3454733216552457 - 0.7901750546722206im 1.0193725518604648 - 0.07620520870799807im … 0.0 + 0.0im 0.0 + 0.0im; … ; -0.18985760952717637 - 0.09141149616583472im -0.1596339413078932 + 0.30402604616320056im … -0.36123482118229716 + 0.18554861767722838im 0.0 + 0.0im; -0.9752398864003096 + 0.1542749996902797im 0.606310957870117 - 0.6437933737354596im … -0.3145307581415686 - 0.03397173476393031im -0.01569077076747162 + 0.5974286819694318im]
Stacktrace:
 [1] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:499
 [2] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1116
 [3] top-level scope at /home/tim/Julia/julia-dev/build/release/usr/share/julia/stdlib/v1.5/LinearAlgebra/test/diagonal.jl:455
LinearAlgebra/diagonal  (1) |         failed at 2020-01-13T16:42:25.802

@maleadt maleadt added domain:linear algebra Linear algebra system:arm ARMv7 and AArch64 labels Jan 13, 2020
@maleadt
Copy link
Member Author

maleadt commented Jan 13, 2020

Test failures unrelated (LinearAlgebra/diagonal succeeded in both cases).

@maleadt maleadt merged commit dd79e77 into master Jan 13, 2020
@maleadt maleadt deleted the tb/diagonal_isapprox branch January 13, 2020 21:12
@KristofferC KristofferC mentioned this pull request Jan 15, 2020
28 tasks
@andreasnoack
Copy link
Member

But why are they not giving the exact same results here? When you multiply with a diagonal matrix, there is just a single multiplication involved so how could the left and right hand side not match? Usually, we need to allow for approximate equality because we allow the terms to be added in any order or because of one of the multiplications uses fused muladd but neither should apply here.

@maleadt
Copy link
Member Author

maleadt commented Jan 17, 2020

Reducing one of the failures (it fails both with 32 and 64 bit complex numbers):

using LinearAlgebra
using Test

function main(T=Float32)
    D = Diagonal(randn(Complex{T}, 4, 4))
    B = randn(Complex{T}, 4, 4)
    T = LowerTriangular(B)

    println("Triangular * Diagonal:")
    display(T*D)
    println()

    println("Reference:")
    display(Array(T) * Array(D))
    println()

    println("Difference:")
    display(abs.((T * D) .- (Array(T) * Array(D))))
    println()

    @test T * D == Array(T) * Array(D)
end

isinteractive() || main()
Triangular * Diagonal:
4×4 LowerTriangular{Complex{Float32},Array{Complex{Float32},2}}:
 -0.0552562-0.700083im             ⋅                     ⋅                      ⋅    
 -0.0913736+0.0888953im   0.547688+0.886865im            ⋅                      ⋅    
   0.335536-0.328022im    0.915744+0.0304917im  0.763433+0.485733im             ⋅    
   0.727639-0.14804im    -0.124638+1.50458im    0.512643+0.142573im  -0.0100024+0.317039im

Reference:
4×4 Array{Complex{Float32},2}:
 -0.0552562-0.700083im         0.0+0.0im             0.0+0.0im              0.0+0.0im
 -0.0913736+0.0888953im   0.547688+0.886865im        0.0+0.0im              0.0+0.0im
   0.335536-0.328022im    0.915744+0.0304917im  0.763433+0.485733im         0.0+0.0im
   0.727639-0.14804im    -0.124638+1.50458im    0.512643+0.142573im  -0.0100025+0.317039im

Difference:
4×4 Array{Float32,2}:
 3.72529f-9  0.0         0.0  0.0
 1.05367f-8  0.0         0.0  0.0
 2.98023f-8  3.72529f-9  0.0  0.0
 0.0         1.19209f-7  0.0  3.72529f-9

Test Failed at /tmp/wip.jl:21
  Expression: T * D == Array(T) * Array(D)
   Evaluated: Complex{Float32}[-0.055256188f0 - 0.7000829f0im 0.0f0 + 0.0f0im 0.0f0 + 0.0f0im 0.0f0 + 0.0f0im; -0.09137364f0 + 0.08889526f0im 0.5476881f0 + 0.88686544f0im 0.0f0 + 0.0f0im 0.0f0 + 0.0f0im; 0.3355356f0 - 0.32802218f0im 0.91574407f0 + 0.03049168f0im 0.7634328f0 + 0.48573264f0im 0.0f0 + 0.0f0im; 0.7276393f0 - 0.14804026f0im -0.12463781f0 + 1.5045822f0im 0.5126428f0 + 0.14257315f0im -0.010002449f0 + 0.31703898f0im] == Complex{Float32}[-0.055256184f0 - 0.7000829f0im 0.0f0 + 0.0f0im 0.0f0 + 0.0f0im 0.0f0 + 0.0f0im; -0.091373645f0 + 0.08889527f0im 0.5476881f0 + 0.88686544f0im 0.0f0 + 0.0f0im 0.0f0 + 0.0f0im; 0.33553562f0 - 0.32802218f0im 0.91574407f0 + 0.030491684f0im 0.7634328f0 + 0.48573264f0im 0.0f0 + 0.0f0im; 0.7276393f0 - 0.14804026f0im -0.12463781f0 + 1.504582f0im 0.5126428f0 + 0.14257315f0im -0.010002453f0 + 0.31703898f0im]
ERROR: There was an error during testing

@andreasnoack
Copy link
Member

Ah then it makes sense. Fused muladd can of course make a difference for complex numbers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:linear algebra Linear algebra system:arm ARMv7 and AArch64
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants