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

readme examples "broken" on julia 1.0 #6

Open
AshtonSBradley opened this issue Oct 13, 2018 · 1 comment
Open

readme examples "broken" on julia 1.0 #6

AshtonSBradley opened this issue Oct 13, 2018 · 1 comment

Comments

@AshtonSBradley
Copy link

julia> using ComplexPhasePortrait


julia> nx = 1000
1000

julia> x = range(-1, stop=1, length=nx)
-1.0:0.002002002002002002:1.0

julia> Z = x' .+ reverse(x)*im
1000×1000 Array{Complex{Float64},2}:
 -1.0+1.0im         0.997998+1.0im       1.0+1.0im     
 -1.0+0.997998im     0.997998+0.997998im  1.0+0.997998im
 -1.0+0.995996im     0.997998+0.995996im  1.0+0.995996im
 -1.0+0.993994im     0.997998+0.993994im  1.0+0.993994im
 -1.0+0.991992im     0.997998+0.991992im  1.0+0.991992im
 -1.0+0.98999im     0.997998+0.98999im   1.0+0.98999im 
 -1.0+0.987988im     0.997998+0.987988im  1.0+0.987988im
 -1.0+0.985986im     0.997998+0.985986im  1.0+0.985986im
                                                      
 -1.0-0.987988im     0.997998-0.987988im  1.0-0.987988im
 -1.0-0.98999im      0.997998-0.98999im   1.0-0.98999im 
 -1.0-0.991992im    0.997998-0.991992im  1.0-0.991992im
 -1.0-0.993994im     0.997998-0.993994im  1.0-0.993994im
 -1.0-0.995996im     0.997998-0.995996im  1.0-0.995996im
 -1.0-0.997998im     0.997998-0.997998im  1.0-0.997998im
 -1.0-1.0im          0.997998-1.0im       1.0-1.0im     

julia> f = z -> (z - 0.5im)^2 * (z + 0.5+0.5im)/z
#3 (generic function with 1 method)

julia> fz = f.(Z)
1000×1000 Array{Complex{Float64},2}:
      0.25-1.375im     0.246876-1.37187im       1.125+1.5im    
  0.253124-1.37187im       0.25-1.36875im      1.12787+1.49487im
  0.256241-1.36874im   0.253117-1.36563im      1.13074+1.48974im
  0.259351-1.36562im   0.256226-1.36251im       1.1336+1.48461im
  0.262452-1.36249im   0.259328-1.35939im      1.13645+1.47948im
  0.265547-1.35936im   0.262422-1.35627im     1.13929+1.47434im
  0.268634-1.35623im   0.265509-1.35315im      1.14212+1.46921im
  0.271713-1.3531im    0.268589-1.35003im      1.14495+1.46408im
                                                              
 -0.594364+1.48274im  -0.597234+1.47766im     0.279126-3.59572im
  -0.59945+1.48562im  -0.602321+1.48053im     0.274293-3.6006im 
 -0.604544+1.48849im  -0.607415+1.48339im    0.269451-3.60548im
 -0.609646+1.49137im  -0.612518+1.48626im     0.264601-3.61036im
 -0.614756+1.49425im  -0.617629+1.48913im     0.259743-3.61524im
 -0.619874+1.49712im  -0.622747+1.492im       0.254876-3.62012im
    -0.625+1.5im      -0.627874+1.49487im         0.25-3.625im  

julia> img = portrait(fz)
1000×1000 Array{RGB{Float64},2} with eltype ColorTypes.RGB{Float64}:
 RGB{Float64}(0.126878,1.0,0.0)    RGB{Float64}(0.567613,0.0,1.0)
 RGB{Float64}(0.126878,1.0,0.0)     RGB{Float64}(0.567613,0.0,1.0)
 RGB{Float64}(0.126878,1.0,0.0)     RGB{Float64}(0.567613,0.0,1.0)
 RGB{Float64}(0.126878,1.0,0.0)     RGB{Float64}(0.567613,0.0,1.0)
 RGB{Float64}(0.136895,1.0,0.0)     RGB{Float64}(0.577629,0.0,1.0)
 RGB{Float64}(0.136895,1.0,0.0)    RGB{Float64}(0.577629,0.0,1.0)
 RGB{Float64}(0.136895,1.0,0.0)     RGB{Float64}(0.577629,0.0,1.0)
 RGB{Float64}(0.136895,1.0,0.0)     RGB{Float64}(0.577629,0.0,1.0)
                                                                
 RGB{Float64}(0.687813,0.0,1.0)     RGB{Float64}(1.0,0.861436,0.0)
 RGB{Float64}(0.687813,0.0,1.0)     RGB{Float64}(1.0,0.871452,0.0)
 RGB{Float64}(0.687813,0.0,1.0)    RGB{Float64}(1.0,0.871452,0.0)
 RGB{Float64}(0.677796,0.0,1.0)     RGB{Float64}(1.0,0.871452,0.0)
 RGB{Float64}(0.677796,0.0,1.0)     RGB{Float64}(1.0,0.881469,0.0)
 RGB{Float64}(0.677796,0.0,1.0)     RGB{Float64}(1.0,0.881469,0.0)
 RGB{Float64}(0.677796,0.0,1.0)     RGB{Float64}(1.0,0.881469,0.0)

does not error, but neither does it produce a figure. Similarly for

julia> img = portrait(fz, ctype="nist")

julia> img = portrait(fz, PTstepphase)

julia> img = portrait(fz, PTstepmod)

The final example hits a MethodError:

julia> img = portrait(fz, PTcgrid)
ERROR: MethodError: no method matching abs(::Array{Complex{Float64},2})
Closest candidates are:
  abs(::Bool) at bool.jl:91
  abs(::Float16) at float.jl:517
  abs(::Float32) at float.jl:518
  ...
Stacktrace:
 [1] #portrait#3(::Int64, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Array{Complex{Float64},2}, ::Type{PTcgrid}) at /Users/abradley/.julia/packages/ComplexPhasePortrait/QeyCS/src/ComplexPhasePortrait.jl:55
 [2] portrait(::Array{Complex{Float64},2}, ::Type{PTcgrid}) at /Users/abradley/.julia/packages/ComplexPhasePortrait/QeyCS/src/ComplexPhasePortrait.jl:53
 [3] top-level scope at none:0
@MikaelSlevinsky
Copy link
Member

PR #5 fixes the MethodError for the conformal grid. I think to produce an image, you need to use ImageViews, or automatically in IJulia.

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

2 participants