Giter Club home page Giter Club logo

juliadynamics's Introduction

JuliaDynamics

This repository serves the following purposes:

  • Contains the source code for the JuliaDynamics website in the src and build folders.
  • Hosts the website via GitHub-pages and Jekyll.
  • Contains tutorials for all packages of JuliaDynamics in the tutorials folder.
  • Contains video resources for all packages of JuliaDynamics in the videos folder.

The website was modeled after the website of QuantumOptics.jl and most code that builds the site was re-used from the repository of QuantumOptics.jl (with permission).


To build locally do follow the instructions from here: https://jekyllrb.com/docs/

(install Jekyll and then do bundle exec jekyll serve which serves by default to http://localhost:4000)

juliadynamics's People

Contributors

aayushsabharwal avatar datseris avatar dependabot[bot] avatar fbanning avatar hkraemer avatar imgbot[bot] avatar imgbotapp avatar janjereczek avatar jaredhowland avatar jonasisensee avatar kalelr avatar libbum avatar yuxi-liu-wired avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

juliadynamics's Issues

Estimate correlation dimension

I got the following code from : https://juliadynamics.github.io/JuliaDynamics/

using DynamicalSystems, PyPlot

ds = Systems.roessler()
tr = trajectory(ds, 1000.0; dt = 0.05)

τ = estimate_delay(tr[:, 1], "mi_min") # first minimum of mutual information

figure(figsize = (10, 6)); subplot(1,2,1)
for method in ["afnn", "fnn", "f1nn"]
    Ds = estimate_dimension(tr[:, 1], τ, 1:6, method)
    plot(1:6, Ds ./ maximum(Ds), label = method, marker = "o")
end
legend(); xlabel("\$\\gamma\$ (temporal neighbors)")

subplot(1,2,2, projection = "3d")
rec = embed(tr[:, 1], 4, τ)
plot3D(rec[1:2000, 1],rec[1:2000, 2],rec[1:2000, 3])

The estimate_dimension function does not work. What is the correct way to do in version 2.3.2?

I tried this:

ds = Systems.roessler()
tr = trajectory(ds, 1000.0; dt = 0.05)

τ = estimate_delay(tr[:, 1], "mi_min") # first minimum of mutual information
grassberger_dim(tr[:, 1], estimate_boxsizes(tr[:, 1]), τ)

But I got ERROR: MethodError: no method matching estimate_boxsizes(::Vector{Float64}) . Isn't estimate_boxsizes supposed to take just the dataset?

Where to put Code snippets and their videos?

@jaredhowland I can see from here: https://github.com/JuliaDynamics/JuliaDynamics/blob/master/src/_codesnippets/make.jl that in the original QuantumOptics the code examples where done automatically. This is not necessary here, we don't have to run Julia.

But could you please tell me where in the source code do I have to paste the code part, and how can I link in videos instead of just images? In the index.html I see:

        <div class="row">
            <div class="col-lg-12">
                <div class="tab-content">
                    {% include codesnippet.html id="example1" name="test" imgname="test.svg" title="Particle in Harmonic Trap"%}
                    {% include codesnippet.html id="example2" name="test" imgname="test.svg" title="Squeezed Fock State" %}
                    {% include codesnippet.html id="example3" name="test" imgname="test.svg" title="Spin-3/2-System" %}
                    {% include codesnippet.html id="example4" name="test" imgname="test.svg" title="Three-Level System" %}
                    {% include codesnippet.html id="example5" name="test" imgname="test.svg" title="Jaynes-Cummings System" %}
                </div>
            </div>
</div>

but from this I can't really deduce how to proceed...

README

I am not sure which parts of the README are true and which are not, since I am not sure how the website works...

For example, I think the first part of the readme is not true anymore, this website is not built out of many other repositories. All relevant information for the website is contained here in this repo.

@jaredhowland could you please delete information in the README that is outdated? My goal is to be able to handle this repo without your help, but unfortunately some babysteps need to be taken first...

Another example: In the software requirements, I don't think Documenter is actually used in this website either, correct?

Checking notebooks: Bug in ChaosTools

In the 2.0 CahousTools notebook:

psos_regular = poincaresos(lor, (2, 0.0), 2000.0, Ttr = 1000.0)
summary(psos_regular)

gives an error:

AssertionError: tprev ≤ t ≤ tnext

Stacktrace:
[1] (::SimpleDiffEq.SimpleATsit5Integrator{false,StaticArrays.SArray{Tuple{3},Float64,1,3},Float64,Array{Float64,1},DiffEqBase.ODEFunction{false,typeof(DynamicalSystemsBase.Systems.loop),LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},typeof(SimpleDiffEq.defaultnorm)})(::Float64) at C:\Users\Denis.julia\packages\SimpleDiffEq\1icT4\src\tsit5\atsit5.jl:528
[2] #15 at C:\Users\Denis.julia\packages\ChaosTools\6FSL8\src\orbitdiagrams\poincare.jl:117 [inlined]
[3] DerivativeFree at C:\Users\Denis.julia\packages\Roots\xWzoi\src\find_zero.jl:266 [inlined]
[4] decide_convergence(::Roots.A42, ::Roots.DerivativeFree{getfield(ChaosTools, Symbol("##15#16")){SimpleDiffEq.SimpleATsit5Integrator{false,StaticArrays.SArray{Tuple{3},Float64,1,3},Float64,Array{Float64,1},DiffEqBase.ODEFunction{false,typeof(DynamicalSystemsBase.Systems.loop),LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},typeof(SimpleDiffEq.defaultnorm)},PlaneCrossing{Tuple{Int64,Float64}}}}, ::Roots.UnivariateZeroState{Float64,Float64}, ::Roots.UnivariateZeroOptions{Float64,Float64,Float64,Float64}) at C:\Users\Denis.julia\packages\Roots\xWzoi\src\find_zero.jl:589
[5] find_zero(::Roots.A42, ::Roots.DerivativeFree{getfield(ChaosTools, Symbol("##15#16")){SimpleDiffEq.SimpleATsit5Integrator{false,StaticArrays.SArray{Tuple{3},Float64,1,3},Float64,Array{Float64,1},DiffEqBase.ODEFunction{false,typeof(DynamicalSystemsBase.Systems.loop),LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},typeof(SimpleDiffEq.defaultnorm)},PlaneCrossing{Tuple{Int64,Float64}}}}, ::Roots.UnivariateZeroOptions{Float64,Float64,Float64,Float64}, ::Roots.UnivariateZeroState{Float64,Float64}, ::Roots.NullTracks) at C:\Users\Denis.julia\packages\Roots\xWzoi\src\find_zero.jl:573
[6] #find_zero#4(::Roots.NullTracks, ::Bool, ::Base.Iterators.Pairs{Symbol,Float64,Tuple{Symbol,Symbol},NamedTuple{(:xrtol, :atol),Tuple{Float64,Float64}}}, ::Function, ::Function, ::Tuple{Float64,Float64}, ::Roots.A42, ::Nothing) at C:\Users\Denis.julia\packages\Roots\xWzoi\src\find_zero.jl:532
[7] #find_zero at .\none:0 [inlined] (repeats 2 times)
[8] poincaresos(::SimpleDiffEq.SimpleATsit5Integrator{false,StaticArrays.SArray{Tuple{3},Float64,1,3},Float64,Array{Float64,1},DiffEqBase.ODEFunction{false,typeof(DynamicalSystemsBase.Systems.loop),LinearAlgebra.UniformScaling{Bool},Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing},typeof(SimpleDiffEq.defaultnorm)}, ::PlaneCrossing{Tuple{Int64,Float64}}, ::Float64, ::Float64, ::StaticArrays.SArray{Tuple{3},Int64,1,3}, ::NamedTuple{(:xrtol, :atol),Tuple{Float64,Float64}}) at C:\Users\Denis.julia\packages\ChaosTools\6FSL8\src\orbitdiagrams\poincare.jl:143
[9] #poincaresos#14(::Int64, ::Float64, ::Bool, ::UnitRange{Int64}, ::StaticArrays.SArray{Tuple{3},Float64,1,3}, ::NamedTuple{(:xrtol, :atol),Tuple{Float64,Float64}}, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::ContinuousDynamicalSystem{false,StaticArrays.SArray{Tuple{3},Float64,1,3},3,typeof(DynamicalSystemsBase.Systems.loop),Array{Float64,1},typeof(DynamicalSystemsBase.Systems.loop_jac),StaticArrays.SArray{Tuple{3,3},Float64,2,9},false}, ::Tuple{Int64,Float64}, ::Float64) at C:\Users\Denis.julia\packages\ChaosTools\6FSL8\src\orbitdiagrams\poincare.jl:81
[10] (::getfield(ChaosTools, Symbol("#kw##poincaresos")))(::NamedTuple{(:Ttr,),Tuple{Float64}}, ::typeof(poincaresos), ::ContinuousDynamicalSystem{false,StaticArrays.SArray{Tuple{3},Float64,1,3},3,typeof(DynamicalSystemsBase.Systems.loop),Array{Float64,1},typeof(DynamicalSystemsBase.Systems.loop_jac),StaticArrays.SArray{Tuple{3,3},Float64,2,9},false}, ::Tuple{Int64,Float64}, ::Float64) at .\none:0
[11] top-level scope at In[17]:1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.