JuliaLang / julia

The Julia Programming Language
https://julialang.org/
MIT License
45.73k stars 5.48k forks source link

ERROR: type Schur has no field T #31477

Closed JeffreySarnoff closed 5 years ago

JeffreySarnoff commented 5 years ago
julia> using DoubleFloats, LinearAlgebra

julia> df = reshape(rand(Double32, 5*5), 5, 5)
5×5 Array{DoubleFloat{Float32},2}:
 0.60097873  0.9829146   0.5978393   0.12267983  0.9307427 
 0.08192396  0.80205476  0.64310557  0.9944741   0.9047501 
 0.8361933   0.4409654   0.7816784   0.32059634  0.55601054
 0.22082317  0.80192906  0.9319419   0.64971256  0.5946293 
 0.46893406  0.21984947  0.37794232  0.09353495  0.324728  

julia> sqrt(df)
ERROR: type Schur has no field T
Stacktrace:
 [1] getproperty(::Any, ::Symbol) at ./sysimg.jl:18
 [2] sqrt(::Array{DoubleFloat{Float32},2}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/LinearAlgebra/src/dense.jl:704
 [3] top-level scope at none:0
tkluck commented 5 years ago

As far as I can tell, this is because GenericLinearAlgebra.jl has its own data structure for representing the Schur decomposition and hijacks the built-in schur! method. You got affected by this because GenericLinearAlgebra is a dependency of DoubleFloats.

It's not a Julia issue, so this report should probably be closed. The best place to report it, is here: https://github.com/JuliaLinearAlgebra/GenericLinearAlgebra.jl/issues/new

JeffreySarnoff commented 5 years ago

Thank you for the insight.