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

ERROR: type Schur has no field Z #51

Open
JeffreySarnoff opened this issue Apr 12, 2019 · 11 comments
Open

ERROR: type Schur has no field Z #51

JeffreySarnoff opened this issue Apr 12, 2019 · 11 comments

Comments

@JeffreySarnoff
Copy link
Contributor

(v1.1) pkg> add GenericLinearAlgebra#master
  Updating registry at `C:\Users\jas\.julia\registries\General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
  Updating git-repo `https://github.com/JuliaLinearAlgebra/GenericLinearAlgebra.jl.git`
 Resolving package versions...
  [14197337] ↑ GenericLinearAlgebra v0.1.0 ⇒ v0.1.0+ #master (https://github.com/JuliaLinearAlgebra/GenericLinearAlgebra.jl.git)

julia> using GenericLinearAlgebra
[ Info: Recompiling stale cache file C:\Users\jas\.julia\compiled\v1.1\GenericLinearAlgebra\Tm5A3.ji for GenericLinearAlgebra [14197337-ba66-59df-a3e3-ca00e7dcff7a]

julia> m = Complex{BigFloat}.(reshape(rand(Float32, 5*5),5,5))
5×5 Array{Complex{BigFloat},2}:
 0.132617+0.0im  0.742358+0.0im   0.183927+0.0im  0.632733+0.0im  0.177756+0.0im
 0.125482+0.0im  0.589812+0.0im   0.178626+0.0im  0.308561+0.0im  0.856793+0.0im
 0.769404+0.0im  0.827643+0.0im   0.967583+0.0im  0.829904+0.0im  0.670297+0.0im
 0.115544+0.0im  0.881652+0.0im   0.300636+0.0im  0.676362+0.0im   0.77726+0.0im
 0.670813+0.0im  0.857607+0.0im  0.0240812+0.0im   0.29316+0.0im  0.952149+0.0im

julia> log(m)
ERROR: type Schur has no field Z
Stacktrace:
 [1] getproperty(::GenericLinearAlgebra.Schur{Complex{BigFloat},Array{Complex{BigFloat},2}}, ::Symbol) at C:\Users\jas\.julia\packages\GenericLinearAlgebra\8M4H5\src\eigenGeneral.jl:72
 [2] log(::Array{Complex{BigFloat},2}) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\LinearAlgebra\src\dense.jl:655
 [3] top-level scope at none:0
@andreasnoack
Copy link
Member

Man. I should have checked but just assumed that the Schur factor was sufficient. Will fix.

@JeffreySarnoff
Copy link
Contributor Author

thanks. This should open up a world of capability for ArbNumerics.

@JeffreySarnoff
Copy link
Contributor Author

would you mind tagging a new release when this is good to go -- I had to take the package out of deps because of the old error, and it would be great to have it back.

@andreasnoack
Copy link
Member

Sure. Will release once the new fix is in.

@JeffreySarnoff
Copy link
Contributor Author

Is it ok to use both this and GenericSVD, or is that redundant?

@andreasnoack
Copy link
Member

andreasnoack commented Apr 12, 2019

I think the SVD here should now fully cover the functionality of GenericSVD so yes, I think it would be redundant.

Regarding the fix here then it's slightly more tricky than anticipated so I'll have to continue working on this later. The 2014 version of Andreas tried to be very smart and the 2019 Andreas is now paying the price for that.

@JeffreySarnoff
Copy link
Contributor Author

that's funny

@JeffreySarnoff
Copy link
Contributor Author

JeffreySarnoff commented Apr 12, 2019

two other related issues


julia> m = Complex{BigFloat}.(reshape(rand(Float32, 5*5),5,5))
5×5 Array{Complex{BigFloat},2}:
 0.340793+0.0im  0.399013+0.0im   0.776522+0.0im   0.46373+0.0im  0.672711+0.0im
 0.443168+0.0im  0.451965+0.0im   0.271673+0.0im  0.644408+0.0im  0.687101+0.0im
   0.6848+0.0im   0.10325+0.0im    0.49777+0.0im  0.475786+0.0im  0.419239+0.0im
 0.969252+0.0im  0.473123+0.0im  0.0753385+0.0im  0.993371+0.0im  0.170664+0.0im
 0.707709+0.0im  0.326565+0.0im   0.860123+0.0im  0.319933+0.0im  0.340225+0.0im

julia> m^0.5
ERROR: MethodError: no method matching iterate(::GenericLinearAlgebra.Schur{Complex{BigFloat},Array{Complex{BigFloat},2}})
Closest candidates are:
  iterate(::Core.SimpleVector) at essentials.jl:568
  iterate(::Core.SimpleVector, ::Any) at essentials.jl:568
  iterate(::ExponentialBackOff) at error.jl:199
  ...
Stacktrace:
 [1] indexed_iterate(::GenericLinearAlgebra.Schur{Complex{BigFloat},Array{Complex{BigFloat},2}}, ::Int64) at .\tuple.jl:66
 [2] schurpow(::Array{Complex{BigFloat},2}, ::Float64) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\LinearAlgebra\src\dense.jl:389
 [3] ^(::Array{Complex{BigFloat},2}, ::Float64) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\LinearAlgebra\src\dense.jl:434
 [4] top-level scope at none:0

julia> sqrt(m)
ERROR: type Schur has no field vectors
Stacktrace:
 [1] getproperty(::GenericLinearAlgebra.Schur{Complex{BigFloat},Array{Complex{BigFloat},2}}, ::Symbol) at C:\Users\jas\.julia\packages\GenericLinearAlgebra\8M4H5\src\eigenGeneral.jl:72
 [2] sqrt(::Array{Complex{BigFloat},2}) at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\LinearAlgebra\src\dense.jl:719
 [3] top-level scope at none:0

@baggepinnen
Copy link

The same error appears for hessenberg(matrix).Q.
This is used here https://github.com/JuliaControl/ControlSystems.jl/blob/ec5ed51f84588783162ee7391cfbd3771bd03df2/src/freqresp.jl#L35

@lkapelevich
Copy link

I would like to use matrix logarithms and running into this as well

@chriscoey
Copy link

bump, I ran into this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants