In [1]:
include("birkhoffVN.jl")


Syntax: krawczyk2d(function, [Interval(lo, hi), Interval(lo, hi)], precision [default is 64])
WARNING: New definition 
    +(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:988
is ambiguous with: 
    +(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    +(IntervalArithmetic.IntUnion, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    +(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:989
is ambiguous with: 
    +(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    +(AutoDiff.Ad, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    -(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:991
is ambiguous with: 
    -(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    -(IntervalArithmetic.IntUnion, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    -(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:992
is ambiguous with: 
    -(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    -(AutoDiff.Ad, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    *(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:993
is ambiguous with: 
    *(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    *(IntervalArithmetic.IntUnion, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    *(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:994
is ambiguous with: 
    *(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    *(AutoDiff.Ad, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    /(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:995
is ambiguous with: 
    /(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    /(IntervalArithmetic.IntUnion, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    /(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:996
is ambiguous with: 
    /(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    /(AutoDiff.Ad, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    +(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30
is ambiguous with: 
    +(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    +(PurityIntervalsVN.PurityInterval, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    +(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30
is ambiguous with: 
    +(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:989.
To fix, define 
    +(PurityIntervalsVN.PurityInterval, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    +(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31
is ambiguous with: 
    +(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    +(AutoDiff.Ad, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: New definition 
    +(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31
is ambiguous with: 
    +(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:988.
To fix, define 
    +(IntervalArithmetic.IntUnion, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: New definition 
    -(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30
is ambiguous with: 
    -(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    -(PurityIntervalsVN.PurityInterval, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    -(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30
is ambiguous with: 
    -(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:992.
To fix, define 
    -(PurityIntervalsVN.PurityInterval, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    -(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31
is ambiguous with: 
    -(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    -(AutoDiff.Ad, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: New definition 
    -(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31
is ambiguous with: 
    -(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:991.
To fix, define 
    -(IntervalArithmetic.IntUnion, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: New definition 
    *(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30
is ambiguous with: 
    *(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    *(PurityIntervalsVN.PurityInterval, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    *(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30
is ambiguous with: 
    *(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:994.
To fix, define 
    *(PurityIntervalsVN.PurityInterval, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    *(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31
is ambiguous with: 
    *(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    *(AutoDiff.Ad, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: New definition 
    *(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31
is ambiguous with: 
    *(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:993.
To fix, define 
    *(IntervalArithmetic.IntUnion, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: New definition 
    /(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30
is ambiguous with: 
    /(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    /(PurityIntervalsVN.PurityInterval, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    /(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30
is ambiguous with: 
    /(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:996.
To fix, define 
    /(PurityIntervalsVN.PurityInterval, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    /(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31
is ambiguous with: 
    /(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    /(AutoDiff.Ad, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: New definition 
    /(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31
is ambiguous with: 
    /(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:995.
To fix, define 
    /(IntervalArithmetic.IntUnion, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: Method definition unique(Any) in module Base at set.jl:107 overwritten in module Main at /home/kriukov/temp/interval-methods/birkhoffVN.jl:26.
WARNING: New definition 
    +(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:121
is ambiguous with: 
    +(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    +(Main.IntUnion, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    +(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:121
is ambiguous with: 
    +(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:989.
To fix, define 
    +(Main.IntUnion, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    +(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:121
is ambiguous with: 
    +(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31.
To fix, define 
    +(Main.IntUnion, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: New definition 
    +(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:122
is ambiguous with: 
    +(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    +(AutoDiff.Ad, Main.IntUnion)
before the new definition.
WARNING: New definition 
    +(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:122
is ambiguous with: 
    +(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:988.
To fix, define 
    +(IntervalArithmetic.IntUnion, Main.IntUnion)
before the new definition.
WARNING: New definition 
    +(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:122
is ambiguous with: 
    +(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30.
To fix, define 
    +(PurityIntervalsVN.PurityInterval, Main.IntUnion)
before the new definition.
WARNING: New definition 
    -(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:124
is ambiguous with: 
    -(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    -(Main.IntUnion, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    -(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:124
is ambiguous with: 
    -(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:992.
To fix, define 
    -(Main.IntUnion, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    -(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:124
is ambiguous with: 
    -(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31.
To fix, define 
    -(Main.IntUnion, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: New definition 
    -(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:125
is ambiguous with: 
    -(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    -(AutoDiff.Ad, Main.IntUnion)
before the new definition.
WARNING: New definition 
    -(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:125
is ambiguous with: 
    -(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:991.
To fix, define 
    -(IntervalArithmetic.IntUnion, Main.IntUnion)
before the new definition.
WARNING: New definition 
    -(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:125
is ambiguous with: 
    -(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30.
To fix, define 
    -(PurityIntervalsVN.PurityInterval, Main.IntUnion)
before the new definition.
WARNING: New definition 
    *(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:126
is ambiguous with: 
    *(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    *(Main.IntUnion, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    *(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:126
is ambiguous with: 
    *(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:994.
To fix, define 
    *(Main.IntUnion, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    *(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:126
is ambiguous with: 
    *(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31.
To fix, define 
    *(Main.IntUnion, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: New definition 
    *(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:127
is ambiguous with: 
    *(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    *(AutoDiff.Ad, Main.IntUnion)
before the new definition.
WARNING: New definition 
    *(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:127
is ambiguous with: 
    *(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:993.
To fix, define 
    *(IntervalArithmetic.IntUnion, Main.IntUnion)
before the new definition.
WARNING: New definition 
    *(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:127
is ambiguous with: 
    *(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30.
To fix, define 
    *(PurityIntervalsVN.PurityInterval, Main.IntUnion)
before the new definition.
WARNING: New definition 
    /(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:128
is ambiguous with: 
    /(Any, AutoDiff.Ad) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:40.
To fix, define 
    /(Main.IntUnion, AutoDiff.Ad)
before the new definition.
WARNING: New definition 
    /(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:128
is ambiguous with: 
    /(Any, IntervalArithmetic.IntUnion) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:996.
To fix, define 
    /(Main.IntUnion, IntervalArithmetic.IntUnion)
before the new definition.
WARNING: New definition 
    /(Main.IntUnion, Any) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:128
is ambiguous with: 
    /(Any, PurityIntervalsVN.PurityInterval) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:31.
To fix, define 
    /(Main.IntUnion, PurityIntervalsVN.PurityInterval)
before the new definition.
WARNING: New definition 
    /(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:129
is ambiguous with: 
    /(AutoDiff.Ad, Any) at /home/kriukov/temp/interval-methods/modules/AutoDiff.jl:39.
To fix, define 
    /(AutoDiff.Ad, Main.IntUnion)
before the new definition.
WARNING: New definition 
    /(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:129
is ambiguous with: 
    /(IntervalArithmetic.IntUnion, Any) at /home/kriukov/temp/interval-methods/modules/IntervalArithmetic.jl:995.
To fix, define 
    /(IntervalArithmetic.IntUnion, Main.IntUnion)
before the new definition.
WARNING: New definition 
    /(Any, Main.IntUnion) at /home/kriukov/temp/interval-methods/birkhoffVN.jl:129
is ambiguous with: 
    /(PurityIntervalsVN.PurityInterval, Any) at /home/kriukov/temp/interval-methods/modules/PurityIntervalsVN.jl:30.
To fix, define 
    /(PurityIntervalsVN.PurityInterval, Main.IntUnion)
before the new definition.
Out[1]:
L (generic function with 1 method)

In [3]:
draw_phase_space(c, [1,2,3], rect, 1e-3)


Out[3]:
4-element Array{Float64,1}:
  0.0   
  1.0472
 -1.0   
  1.0   

In [4]:
# Example of finding the periodic orbit 123-1 in a small neighborhood to reduce time
@time find_periodic_orbits(c, [1,2,3,1], IntervalBox(Interval(-0.5-0.01, -0.5+0.016), Interval(pi/6-0.013, pi/6+0.014)), 1e-4)


Unique zero in [-0.500001, -0.499999] × [0.523598, 0.523599]
Step 10000: a = [-0.491465, -0.491414] × [0.515661, 0.515715]
 88.964711 seconds (674.55 M allocations: 19.127 GB, 8.55% gc time)
Out[4]:
([1-elementArray{ValidatedNumerics.IntervalBox{N,T},1}:
 [-0.500001, -0.499999] × [0.523598, 0.523599]
],4394)

In [ ]: