From bfbb048dbf93fe6a7b90961fee9f39522f0c5f4b Mon Sep 17 00:00:00 2001 From: vdebauche <68696791+vdebauche@users.noreply.github.com> Date: Wed, 18 Oct 2023 09:45:12 +0200 Subject: [PATCH 1/9] AddDocu --- Project.toml | 2 +- docs/make.jl | 12 +++---- docs/src/reference/Optim.md | 6 ++-- docs/src/reference/Problem.md | 7 +++- docs/src/reference/Symbolic.md | 6 +++- docs/src/reference/System.md | 15 +++++++-- src/domain/continuous_domain.jl | 6 ++-- src/domain/custom_domain.jl | 2 +- src/domain/domain_list.jl | 4 +-- src/domain/general_domain.jl | 4 +-- src/domain/grid.jl | 2 +- src/optim/abstraction/SCOTS_abstraction.jl | 2 +- .../abstraction/ellipsoids_abstraction.jl | 2 +- .../abstraction/hierarchical_abstraction.jl | 2 +- src/optim/abstraction/lazy_abstraction.jl | 2 +- .../lazy_ellipsoids_abstraction.jl | 2 +- src/optim/bemporad_morari.jl | 2 +- src/optim/branch_and_bound.jl | 2 +- src/problem/problems.jl | 20 ++++++------ src/symbolic/lazy_symbolic.jl | 2 +- src/symbolic/symbolicmodel.jl | 7 +++- src/system/controller.jl | 4 +-- src/system/controlsystem.jl | 25 +++++++-------- utils/example_SF_abst_1.jl | 8 +++-- utils/example_ellipsoid_inclusion.jl | 14 +++++--- utils/example_hierarchical_abstraction.jl | 32 +++++++++++++------ 26 files changed, 118 insertions(+), 74 deletions(-) diff --git a/Project.toml b/Project.toml index 55b90e7c6..2adcf0692 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "Dionysos" uuid = "d92c97cf-b87d-42c1-a9c0-25df00b4d958" -authors = ["Raphael Jungers ", "Antoine Aspeel ", "Guillaume Berger ", "Julien Calbert ", "Mahsa Farjadnia ", "Benoît Legat ", "Zheming Wang ", "Lucas N. Egidio ", "Adrien Banse ", "Somya Singh "] +authors = ["Raphael Jungers ", "Antoine Aspeel ", "Guillaume Berger ", "Julien Calbert ", "Virginie Debauche ", "Mahsa Farjadnia ", "Benoît Legat ", "Zheming Wang ", "Lucas N. Egidio ", "Adrien Banse ", "Somya Singh "] version = "0.0.1" [deps] diff --git a/docs/make.jl b/docs/make.jl index 1c9bc203f..556d3c9e1 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -8,12 +8,12 @@ const OUTPUT_DIR = joinpath(@__DIR__, "src", "generated") const EXAMPLES = readdir(EXAMPLES_DIR) const REFERENCE = readdir(REFERENCE_DIR) -for example in EXAMPLES - example_filepath = joinpath(EXAMPLES_DIR, example) - Literate.markdown(example_filepath, OUTPUT_DIR) - Literate.notebook(example_filepath, OUTPUT_DIR) - Literate.script(example_filepath, OUTPUT_DIR) -end +#for example in EXAMPLES +# example_filepath = joinpath(EXAMPLES_DIR, example) +# Literate.markdown(example_filepath, OUTPUT_DIR) +# Literate.notebook(example_filepath, OUTPUT_DIR) +# Literate.script(example_filepath, OUTPUT_DIR) +#end const _PAGES = [ "Index" => "index.md", diff --git a/docs/src/reference/Optim.md b/docs/src/reference/Optim.md index 9ccec33e0..0c7332e6a 100644 --- a/docs/src/reference/Optim.md +++ b/docs/src/reference/Optim.md @@ -1,14 +1,14 @@ # Optim -This folder contains all the different solvers that can be used. +This folder contains all the different (abstraction-based or not) solvers that can be used. Note that all the solvers are defined using the MathOptInterface framework: for each solver, we define the structure [`AbstractOptimizer`](https://jump.dev/MathOptInterface.jl/stable/reference/models/#MathOptInterface.AbstractOptimizer) and implement the [`Optimize!`](https://jump.dev/MathOptInterface.jl/stable/reference/models/#MathOptInterface.optimize!) function. ## Abstraction-based solvers ```@docs -Dionysos.Optim.Abstraction.LazyAbstraction.Optimizer +Dionysos.Optim.Abstraction.SCOTSAbstraction.Optimizer Dionysos.Optim.Abstraction.EllipsoidsAbstraction.Optimizer Dionysos.Optim.Abstraction.HierarchicalAbstraction.Optimizer +Dionysos.Optim.Abstraction.LazyAbstraction.Optimizer Dionysos.Optim.Abstraction.LazyEllipsoidsAbstraction.Optimizer -Dionysos.Optim.Abstraction.SCOTSAbstraction.Optimizer ``` ## Other solvers diff --git a/docs/src/reference/Problem.md b/docs/src/reference/Problem.md index 4815908ed..27e54f217 100644 --- a/docs/src/reference/Problem.md +++ b/docs/src/reference/Problem.md @@ -1,9 +1,14 @@ # Problem -This folder contains structures that are used to encode which kind of problem you want to solve. +This folder contains structures that are used to encode which kind of problem you want to solve. Each problem is encoded as a ProblemType. ```@docs Dionysos.Problem.ProblemType +``` + +So far, two types of problems have been considered: the reach-avoid optimal control problems and the safety control problems. + +```@docs Dionysos.Problem.OptimalControlProblem Dionysos.Problem.SafetyProblem ``` \ No newline at end of file diff --git a/docs/src/reference/Symbolic.md b/docs/src/reference/Symbolic.md index 2412b4188..f6e6b2a50 100644 --- a/docs/src/reference/Symbolic.md +++ b/docs/src/reference/Symbolic.md @@ -1,6 +1,10 @@ # Symbolic -This folder contains different methods to build an abstraction. +This folder contains the data structures needed to encode the different abstractions. + +```@docs +Dionysos.Symbolic.SymbolicModel +``` ```@docs Dionysos.Symbolic.SymbolicModelList diff --git a/docs/src/reference/System.md b/docs/src/reference/System.md index 70b75baad..879ab300f 100644 --- a/docs/src/reference/System.md +++ b/docs/src/reference/System.md @@ -3,16 +3,25 @@ This folder contains different ways to define systems, for instance to encode a controller. ## Control system + +Each control system should be implemented as a ControlSystem . + ```@docs +Dionysos.System.ControlSystem +``` + +So far, we have implemented a few examples of control systems : + +```@docs +Dionysos.System.SimpleSystem Dionysos.System.ControlSystemGrowth Dionysos.System.ControlSystemLinearized -Dionysos.System.SimpleSystem Dionysos.System.EllipsoidalAffineApproximatedSystem -Dionysos.System.AffineApproximationDiscreteSystem -Dionysos.System.SymbolicSystem ``` ## Controller +So far, the abstraction-based methods that we use define either piece-wise constant or piecewise-affine controllers. + ```@docs Dionysos.System.ConstantController Dionysos.System.AffineController diff --git a/src/domain/continuous_domain.jl b/src/domain/continuous_domain.jl index 4c504a9a8..90c7ff81a 100644 --- a/src/domain/continuous_domain.jl +++ b/src/domain/continuous_domain.jl @@ -3,7 +3,7 @@ abstract type ContinuousDomain{N, T} <: DomainType{N, T} end """ ContinuousUnboundedDomain{N,T} -Struct for a basic unbounded continuous domain +Struct for a basic unbounded continuous domain. """ struct ContinuousUnboundedDomain{N, T} <: ContinuousDomain{N, T} orig::SVector{N, T} @@ -12,7 +12,7 @@ end """ ContinuousBoundedDomain{N,T,B} -Struct for a basic bounded continuous domain +Struct for a basic bounded continuous domain. """ struct ContinuousBoundedDomain{N, T, B} <: ContinuousDomain{N, T} orig::SVector{N, T} @@ -22,7 +22,7 @@ end """ ContinuousBoundedEllipsoidDomain{N,T,S<:Grid{N,T}} -Struct for a basic bounded continuous domain formed by a finite number of ellipsoids +Struct for a basic bounded continuous domain formed by a finite number of ellipsoids. """ struct ContinuousBoundedEllipsoidDomain{N, T, B, E} <: ContinuousDomain{N, T} orig::SVector{N, T} diff --git a/src/domain/custom_domain.jl b/src/domain/custom_domain.jl index 9d54ba218..ca39d607a 100644 --- a/src/domain/custom_domain.jl +++ b/src/domain/custom_domain.jl @@ -1,7 +1,7 @@ """ CustomList{N,T} <: DomainType{N,T} -Struct for a custom generic domain +Struct for a custom generic domain. """ struct CustomList{N, T} <: DomainType{N, T} diff --git a/src/domain/domain_list.jl b/src/domain/domain_list.jl index 2a37edeec..26b570754 100644 --- a/src/domain/domain_list.jl +++ b/src/domain/domain_list.jl @@ -7,7 +7,7 @@ end """ DomainList{N,T,S<:Grid{N,T}} -Struct for a basic domain based on a `Grid` +Struct for a basic domain based on a `Grid` . """ struct DomainList{N, T, S <: Grid{N, T}} <: DomainType{N, T} grid::S @@ -17,7 +17,7 @@ end """ DomainList(grid::S) where {N,S<:Grid{N}} -Return a new DomainList +Return a new `DomainList`. """ function DomainList(grid::S) where {N, S <: Grid{N}} return DomainList(grid, Set{NTuple{N, Int}}()) diff --git a/src/domain/general_domain.jl b/src/domain/general_domain.jl index 6ee72350d..d49126e9c 100644 --- a/src/domain/general_domain.jl +++ b/src/domain/general_domain.jl @@ -3,7 +3,7 @@ using StaticArrays, Plots """ RectangularObstacles{VT} <: AbstractSet{VT} -Struct for a rectangular domain with rectangular obstacles +Struct for a rectangular domain with rectangular obstacles. """ struct RectangularObstacles{VT} <: AbstractSet{VT} X::UT.HyperRectangle{VT} @@ -36,7 +36,7 @@ _fit_grid(elems::Set, grid, nx, fit) = elems """ GeneralDomainList{N,E<:AbstractSet{NTuple{N,Int}},T,S<:Grid{N,T},F} <: DomainType{N,T} -Struct for a rectangular domain with rectangular obstacles +Struct for a rectangular domain with rectangular obstacles. """ struct GeneralDomainList{N, E <: AbstractSet{NTuple{N, Int}}, T, S <: Grid{N, T}, F} <: DomainType{N, T} diff --git a/src/domain/grid.jl b/src/domain/grid.jl index f141892d2..dc85653d1 100644 --- a/src/domain/grid.jl +++ b/src/domain/grid.jl @@ -113,7 +113,7 @@ end GridEllipsoidalRectangular{N,T} <: Grid{N,T} Uniform grid on rectangular space `rect`, centered at `orig` and with steps set by the vector `h`. -Cells are (possibly overlapping) ellipsoids defined at each grid point `c` as `(x-c)'P(x-c) ≤ 1` +Cells are (possibly overlapping) ellipsoids defined at each grid point `c` as `(x-c)'P(x-c) ≤ 1` . """ struct GridEllipsoidalRectangular{N, T} <: Grid{N, T} orig::SVector{N, T} diff --git a/src/optim/abstraction/SCOTS_abstraction.jl b/src/optim/abstraction/SCOTS_abstraction.jl index d481cc5e4..3e6117f71 100644 --- a/src/optim/abstraction/SCOTS_abstraction.jl +++ b/src/optim/abstraction/SCOTS_abstraction.jl @@ -16,7 +16,7 @@ using JuMP """ Optimizer{T} <: MOI.AbstractOptimizer -SCOTS abstraction solver +Solver based on the classical abstraction method (used for instance in SCOTS) for which the while domain is partioned into hyper-rectangular cells, independently of the control task. """ mutable struct Optimizer{T} <: MOI.AbstractOptimizer concrete_problem::Union{Nothing, PR.ProblemType} diff --git a/src/optim/abstraction/ellipsoids_abstraction.jl b/src/optim/abstraction/ellipsoids_abstraction.jl index 94a06328b..ef72ac731 100644 --- a/src/optim/abstraction/ellipsoids_abstraction.jl +++ b/src/optim/abstraction/ellipsoids_abstraction.jl @@ -17,7 +17,7 @@ const PR = DI.Problem """ Optimizer{T} <: MOI.AbstractOptimizer -Ellispoids abtraction solver +Abstraction-based solver for which the domain is covered with elippsoidal cells, independently of the control task. """ mutable struct Optimizer{T} <: MOI.AbstractOptimizer concrete_problem::Union{Nothing, PR.OptimalControlProblem} diff --git a/src/optim/abstraction/hierarchical_abstraction.jl b/src/optim/abstraction/hierarchical_abstraction.jl index 0bec63501..d715b4757 100644 --- a/src/optim/abstraction/hierarchical_abstraction.jl +++ b/src/optim/abstraction/hierarchical_abstraction.jl @@ -20,7 +20,7 @@ using ..LazyAbstraction """ Optimizer{T} <: MOI.AbstractOptimizer -Hierarchical abstraction solver +Abstraction-based solver for which the domain is initially partioned into coarse hyper-rectangular cells, which are iteratively locally smartly refined with respect to the control task. """ mutable struct Optimizer{T} <: MOI.AbstractOptimizer concrete_system::Union{Nothing, Any} diff --git a/src/optim/abstraction/lazy_abstraction.jl b/src/optim/abstraction/lazy_abstraction.jl index dec67baf8..e6f1911ab 100644 --- a/src/optim/abstraction/lazy_abstraction.jl +++ b/src/optim/abstraction/lazy_abstraction.jl @@ -17,7 +17,7 @@ const PR = DI.Problem """ Optimizer{T} <: MOI.AbstractOptimizer -Solver from Lazy Abstraction +Abstraction-based solver for which the hyper-rectangular abstraction and the controller are co-designed to reduce the computation cost of the abstraction. """ mutable struct Optimizer{T} <: MOI.AbstractOptimizer concrete_system::Union{Nothing, Any} diff --git a/src/optim/abstraction/lazy_ellipsoids_abstraction.jl b/src/optim/abstraction/lazy_ellipsoids_abstraction.jl index c8425fca2..615ad9687 100644 --- a/src/optim/abstraction/lazy_ellipsoids_abstraction.jl +++ b/src/optim/abstraction/lazy_ellipsoids_abstraction.jl @@ -23,7 +23,7 @@ global NI = nothing """ Optimizer{T} <: MOI.AbstractOptimizer -Lazy ellipsoids abstraction solver +Abstraction-based solver using the lazy abstraction method with ellipsoidal cells. """ mutable struct Optimizer{T} <: MOI.AbstractOptimizer concrete_problem::Union{Nothing, PR.OptimalControlProblem} diff --git a/src/optim/bemporad_morari.jl b/src/optim/bemporad_morari.jl index 9dd83d395..0fdf6dada 100644 --- a/src/optim/bemporad_morari.jl +++ b/src/optim/bemporad_morari.jl @@ -20,7 +20,7 @@ using FillArrays, MathematicalSystems, HybridSystems, JuMP, SemialgebraicSets, P """ Optimizer{T} <: MOI.AbstractOptimizer -Bemporad Morari solver +Bemporad Morari solver : Optimal control of hybrid systems via a predictive control scheme using mixed integer quadratic programming (MIQP) online optimization procedures. """ mutable struct Optimizer{T} <: MOI.AbstractOptimizer continuous_solver::Any diff --git a/src/optim/branch_and_bound.jl b/src/optim/branch_and_bound.jl index 95754abfa..71b9b04fa 100644 --- a/src/optim/branch_and_bound.jl +++ b/src/optim/branch_and_bound.jl @@ -16,7 +16,7 @@ using HybridSystems """ Optimizer{T} <: MOI.AbstractOptimizer -Branch and bound solver +Branch and bound solver : Optimal control of hybrid systems via a predictive control scheme combining a branch and bound algorithm that can refine Q-functions using Lagrangian duality. """ mutable struct Optimizer{T} <: MOI.AbstractOptimizer continuous_solver::Any diff --git a/src/problem/problems.jl b/src/problem/problems.jl index cec96e279..f99d26d5c 100644 --- a/src/problem/problems.jl +++ b/src/problem/problems.jl @@ -13,12 +13,12 @@ The structure OptimalControlProblem{S, XI, XT, XC, TC, T} encodes an optimal control problem where -`S` is the system, -`XI` is the initial set, -`XT` is the target set, -`XC` is the state cost, -`TC` is transistion cost and -`T` is the number of allowed time steps +- `S` is the system, +- `XI` is the initial set, +- `XT` is the target set, +- `XC` is the state cost, +- `TC` is transistion cost and +- `T` is the number of allowed time steps """ struct OptimalControlProblem{S, XI, XT, XC, TC, T <: Real} <: ProblemType system::S @@ -35,10 +35,10 @@ The structure SafetyProblem{S, XI, XS, T} encodes a safety problem where -`S` is the system, -`XI` is the initial set, -`XS` is the safe set and -`T` is the number of allowed time steps +- `S` is the system, +- `XI` is the initial set, +- `XS` is the safe set and +- `T` is the number of allowed time steps """ struct SafetyProblem{S, XI, XS, T <: Real} <: ProblemType system::S diff --git a/src/symbolic/lazy_symbolic.jl b/src/symbolic/lazy_symbolic.jl index 1d8de6b2c..7149948c6 100644 --- a/src/symbolic/lazy_symbolic.jl +++ b/src/symbolic/lazy_symbolic.jl @@ -1,7 +1,7 @@ """ LazySymbolicModel{N, M, S1 <: DO.DomainType{N}, S2 <: DO.DomainType{M}, A} <: SymbolicModel{N, M} -TO ADD +is one implementation of the `SymbolicModel` type for the lazy abstraction-based methods, i.e. when a subset of the domain is partitioned/covered. """ mutable struct LazySymbolicModel{N, M, S1 <: DO.DomainType{N}, S2 <: DO.DomainType{M}, A} <: SymbolicModel{N, M} diff --git a/src/symbolic/symbolicmodel.jl b/src/symbolic/symbolicmodel.jl index 25ce7a48d..15eb98e7c 100644 --- a/src/symbolic/symbolicmodel.jl +++ b/src/symbolic/symbolicmodel.jl @@ -1,11 +1,16 @@ using Plots, Colors +""" + SymbolicModel{N, M} + +is the abtract type which defines a symbolic model. +""" abstract type SymbolicModel{N, M} end """ SymbolicModelList{N, M, S1 <: DO.DomainType{N}, S2 <: DO.DomainType{M}, A} <: SymbolicModel{N, M} -TO ADD +is one implementation of the `SymbolicModel` type for classical abstraction-based methods, i.e. when the whole domain is partitioned/covered. """ mutable struct SymbolicModelList{N, M, S1 <: DO.DomainType{N}, S2 <: DO.DomainType{M}, A} <: SymbolicModel{N, M} diff --git a/src/system/controller.jl b/src/system/controller.jl index b415a981f..d541a1f13 100644 --- a/src/system/controller.jl +++ b/src/system/controller.jl @@ -8,7 +8,7 @@ end """ ConstantController{T, VT} -encodes a constant state-dependent controller of the κ(x) = c +encodes a constant state-dependent controller of the κ(x) = c. """ struct ConstantController{T <: Real, VT <: AbstractVector{T}} <: Controller c::VT @@ -24,7 +24,7 @@ end """ AffineController{T, MT, VT1, VT2} -encodes an affine state-dependent controller of the κ(x) = K*(x-c)+ℓ +encodes an affine state-dependent controller of the κ(x) = K*(x-c)+ℓ. """ struct AffineController{ T <: Real, diff --git a/src/system/controlsystem.jl b/src/system/controlsystem.jl index 262654e99..0a48bc46b 100644 --- a/src/system/controlsystem.jl +++ b/src/system/controlsystem.jl @@ -1,4 +1,10 @@ +""" +The structure + + ControlSystem{N, T} +is the abstract type which defines a control system. +""" abstract type ControlSystem{N, T} end function get_f_eval(sys) @@ -23,7 +29,7 @@ end """ ControlSystemGrowth{N, T, F1 <: Function, F2 <: Function, F3 <: Function} <: ControlSystem{N, T} -TO ADD +is one implementation of the `ControlSystem` type for which we have a growth bound function. """ struct ControlSystemGrowth{N, T, F1 <: Function, F2 <: Function, F3 <: Function} <: ControlSystem{N, T} @@ -71,7 +77,7 @@ end """ ControlSystemLinearized{N, T, F1 <: Function, F2 <: Function, F3 <: Function, F4 <: Function, } <: ControlSystem{N, T} -TO ADD +is one implementation of the `ControlSystem` type for which we have linearized the system map. """ struct ControlSystemLinearized{ N, @@ -164,7 +170,7 @@ end """ SimpleSystem{N, T, F <: Function, F2} <: ControlSystem{N, T} -TO ADD +is one implementation of the `ControlSystem` type """ struct SimpleSystem{N, T, F <: Function, F2} <: ControlSystem{N, T} tstep::Float64 @@ -183,7 +189,7 @@ end """ EllipsoidalAffineApproximatedSystem{} -TO ADD +is a system whose dynamics is a noisy constrained affine control discrete system whose cells are ellipsoids, with a bound on the Lipschitz constant. """ struct EllipsoidalAffineApproximatedSystem{} dynamics::Dict{UT.Ellipsoid, NoisyConstrainedAffineControlDiscreteSystem} @@ -243,11 +249,7 @@ end ############################################ # Affine discrete time system approximaton with its Lypschitz constant and the region of validity # of the Lipschitz constant -""" - AffineApproximationDiscreteSystem - -TO ADD -""" + struct AffineApproximationDiscreteSystem #<: ControlSystem constrainedAffineSys::NoisyConstrainedAffineControlDiscreteSystem L::Any @@ -266,11 +268,6 @@ end ############################################ ############################################ -""" - SymbolicSystem{} - -TO ADD -""" struct SymbolicSystem{} fsymbolicT::Any fsymbolic::Any diff --git a/utils/example_SF_abst_1.jl b/utils/example_SF_abst_1.jl index 495c38eaf..523f3c771 100644 --- a/utils/example_SF_abst_1.jl +++ b/utils/example_SF_abst_1.jl @@ -8,8 +8,12 @@ const DI = Dionysos const UT = DI.Utils const SY = DI.Symbolic -# Example to illustrate the cost of a transition between two ellispoids as a function of meta-parameters -# such as the volume of the initial ellispoid and the contraction factor +# The aim of this file is to generate Figure 2 of the paper "State-feedback Abstractions for Optimal +# Control of Piecewise-affine Systems" from L.N. EGIDIO, T.A. LIMA and R.M. JUNGERS (CDC 2022). +# This paper investigates symbolic abstractions that capture the behavior of piecewise-affine systems +# under input constraints and bounded external noise. This file illustrates the cost of a transition +# between two ellispoids as a function of meta-parameters such as the volume of the initial ellispoid +# and the contraction factor. lib = CDDLib.Library() #polyhedron lib # aux functions diff --git a/utils/example_ellipsoid_inclusion.jl b/utils/example_ellipsoid_inclusion.jl index a80c736a3..e669cd0ae 100644 --- a/utils/example_ellipsoid_inclusion.jl +++ b/utils/example_ellipsoid_inclusion.jl @@ -2,6 +2,13 @@ using Dionysos const UT = Dionysos.Utils using Plots, Colors, LinearAlgebra, LaTeXStrings +# The aim of this file is to generate Figure 1 of the paper "An Efficient Method to Verify the Inclusion +# of Ellipsoids" from J. CALBERT, L.N. EGIDIO and R.M. JUNGERS (arXiv 2022). +# The objective is to illustrate Theorem 1 which provides a criterion to check the inclusion of two +# ellipsoids. They consider 3 different cases : when there is an intersection but no inclusion, +# when there is inclusion with a contact point and finally, when there is a strict inclusion. + + myblue = RGB(108 ./ 256, 142 ./ 256, 191 ./ 256) myblueN = RGB(32 ./ 256, 103 ./ 256, 205 ./ 256) myorange = RGB(255 ./ 280, 158 ./ 280, 56 ./ 280) @@ -147,7 +154,7 @@ function plotSecularFunction(El0, El, intervalx, intervalfx, ϵ, h; eps = 1e-10) return display(p) end -# intersection but non inclusion +# CASE 1: Intersection but no inclusion function fig1() a = 1.0 c0 = [1.6 + a; 1.4 + a] @@ -191,7 +198,7 @@ function fig1() return plotSecularFunction(El0, El, intervalx, intervalfx, ϵ, h) end -# inclusion with contact point +# CASE 2: Inclusion with contact point function fig2() a = 0.89 c0 = [1.6 + a; 1.4 + a] @@ -234,7 +241,7 @@ function fig2() return plotSecularFunction(El0, El, intervalx, intervalfx, ϵ, h) end -# strict inclusion +# CASE 3: Strict inclusion function fig3() a = 0.6 c0 = [1.6 + a; 1.4 + a] @@ -599,6 +606,5 @@ end # tansformations() # fig3() -test6() # particularCase() fig1() diff --git a/utils/example_hierarchical_abstraction.jl b/utils/example_hierarchical_abstraction.jl index fb11430da..a2cef72fe 100644 --- a/utils/example_hierarchical_abstraction.jl +++ b/utils/example_hierarchical_abstraction.jl @@ -1,5 +1,10 @@ using StaticArrays, JuMP, Plots, Test +# The objective of this file is to provide an example of the application of the hierarchical abstraction-based technique +# developed in Dionysos for a reach-avoid optimal control problem. The whole procedure is detailed and commented, and +# the results are displayed at the end. + + # At this point, we import Dionysos. using Dionysos const DI = Dionysos @@ -12,9 +17,10 @@ const PR = DI.Problem const OP = DI.Optim const AB = OP.Abstraction +# We export the system from the problems folder. include("../problems/simple_problem.jl") -## specific functions +# Specific functions function post_image(abstract_system, concrete_system, xpos, u) Xdom = abstract_system.Xdom x = DO.get_coord_by_pos(Xdom.grid, xpos) @@ -80,6 +86,13 @@ end minimum_transition_cost(symmodel, contsys, source, target) = 1.0 +# We define the concrete problem that we want to solve. For instance: +# - the whole domain for the state and the obstacles/constraints +# - the domain for the input and the obstacles/constraints +# - the initial and targets sets +# - the state and transition costs +# - the time step +# - etc. concrete_problem = SimpleProblem.problem(; rectX = UT.HyperRectangle(SVector(0.0, 0.0), SVector(60.0, 60.0)), obstacles = [UT.HyperRectangle(SVector(22.0, 21.0), SVector(25.0, 32.0))], @@ -96,6 +109,7 @@ concrete_problem = SimpleProblem.problem(; measnoise = SVector(0.0, 0.0), ) +# The concrete system is the real system concrete_system = concrete_problem.system # Local optimizer parameters @@ -150,7 +164,7 @@ end # Get the results abstract_system = MOI.get(optimizer, MOI.RawOptimizerAttribute("abstract_system")) -# ## Simulation +# Simulation println("Solved : ", optimizer.solved) if optimizer.solved x0 = UT.get_center(concrete_problem.initial_set) @@ -161,24 +175,24 @@ if optimizer.solved println("Cost:\t $(cost)") end -# ## Display the results -# # Display the specifications, domains and trajectory +# Display the results +# First, display the specifications, domains and trajectory fig1 = plot(; aspect_ratio = :equal) -#We display the concrete domain +# Then, we display the concrete domain plot!(fig1, concrete_system.X; color = :yellow, opacity = 0.5) -#We display the abstract domain +# We display the abstract domain plot!(fig1, abstract_system.symmodel.Xdom; color = :blue, opacity = 0.5) -#We display the concrete specifications +# We display the concrete specifications plot!(fig1, concrete_problem.initial_set; color = :green, opacity = 0.8) plot!(fig1, concrete_problem.target_set; dims = [1, 2], color = :red, opacity = 0.8) -#We display the concrete trajectory +# We display the concrete trajectory plot!(fig1, UT.DrawTrajectory(x_traj); ms = 0.5) -# # Display the lazy abstraction +# Finally, we display the lazy abstraction fig2 = plot(; aspect_ratio = :equal) plot!( From b2838a9b8d8c847ad4159829e2e193cf602647d3 Mon Sep 17 00:00:00 2001 From: vdebauche <68696791+vdebauche@users.noreply.github.com> Date: Wed, 18 Oct 2023 11:43:16 +0200 Subject: [PATCH 2/9] LastModif --- docs/make.jl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/make.jl b/docs/make.jl index 556d3c9e1..1c9bc203f 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -8,12 +8,12 @@ const OUTPUT_DIR = joinpath(@__DIR__, "src", "generated") const EXAMPLES = readdir(EXAMPLES_DIR) const REFERENCE = readdir(REFERENCE_DIR) -#for example in EXAMPLES -# example_filepath = joinpath(EXAMPLES_DIR, example) -# Literate.markdown(example_filepath, OUTPUT_DIR) -# Literate.notebook(example_filepath, OUTPUT_DIR) -# Literate.script(example_filepath, OUTPUT_DIR) -#end +for example in EXAMPLES + example_filepath = joinpath(EXAMPLES_DIR, example) + Literate.markdown(example_filepath, OUTPUT_DIR) + Literate.notebook(example_filepath, OUTPUT_DIR) + Literate.script(example_filepath, OUTPUT_DIR) +end const _PAGES = [ "Index" => "index.md", From 00f629a30780845a34a76442f187c8222aa0630c Mon Sep 17 00:00:00 2001 From: vdebauche <68696791+vdebauche@users.noreply.github.com> Date: Wed, 18 Oct 2023 11:45:49 +0200 Subject: [PATCH 3/9] Formatage --- utils/example_ellipsoid_inclusion.jl | 1 - utils/example_hierarchical_abstraction.jl | 1 - 2 files changed, 2 deletions(-) diff --git a/utils/example_ellipsoid_inclusion.jl b/utils/example_ellipsoid_inclusion.jl index e669cd0ae..6fd9697ad 100644 --- a/utils/example_ellipsoid_inclusion.jl +++ b/utils/example_ellipsoid_inclusion.jl @@ -8,7 +8,6 @@ using Plots, Colors, LinearAlgebra, LaTeXStrings # ellipsoids. They consider 3 different cases : when there is an intersection but no inclusion, # when there is inclusion with a contact point and finally, when there is a strict inclusion. - myblue = RGB(108 ./ 256, 142 ./ 256, 191 ./ 256) myblueN = RGB(32 ./ 256, 103 ./ 256, 205 ./ 256) myorange = RGB(255 ./ 280, 158 ./ 280, 56 ./ 280) diff --git a/utils/example_hierarchical_abstraction.jl b/utils/example_hierarchical_abstraction.jl index a2cef72fe..e491a57e4 100644 --- a/utils/example_hierarchical_abstraction.jl +++ b/utils/example_hierarchical_abstraction.jl @@ -4,7 +4,6 @@ using StaticArrays, JuMP, Plots, Test # developed in Dionysos for a reach-avoid optimal control problem. The whole procedure is detailed and commented, and # the results are displayed at the end. - # At this point, we import Dionysos. using Dionysos const DI = Dionysos From a953af07bd358cf9abe57671de89521da9e4942f Mon Sep 17 00:00:00 2001 From: vdebauche <68696791+vdebauche@users.noreply.github.com> Date: Wed, 18 Oct 2023 14:53:39 +0200 Subject: [PATCH 4/9] RemoveEmptySection --- .../objectives_values_Fs50.txt | 3 - .../solutions_Fs50.txt | 1512 ----------------- docs/Project.toml | 1 + docs/src/reference/System.md | 2 +- docs/src/reference/Utils.md | 5 - 5 files changed, 2 insertions(+), 1521 deletions(-) delete mode 100644 BipedRobot/ZMPBipedRobot/docs/2. Optimisation Process/objectives_values_Fs50.txt delete mode 100644 BipedRobot/ZMPBipedRobot/docs/2. Optimisation Process/solutions_Fs50.txt diff --git a/BipedRobot/ZMPBipedRobot/docs/2. Optimisation Process/objectives_values_Fs50.txt b/BipedRobot/ZMPBipedRobot/docs/2. Optimisation Process/objectives_values_Fs50.txt deleted file mode 100644 index 1f4f8aee6..000000000 --- a/BipedRobot/ZMPBipedRobot/docs/2. Optimisation Process/objectives_values_Fs50.txt +++ /dev/null @@ -1,3 +0,0 @@ --Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.12136101089812938,0.12577889870211856,-Inf,-Inf,0.1204216655010885,-Inf,-Inf,-Inf,0.11818676586292234,-Inf,-Inf,-Inf,0.10631085714306744,0.11026763998735745,0.11109858688838285,-Inf,0.10482918272562217,0.10884527291667395,0.10853533585940876,-Inf,0.09917487876214971,0.10195038564295548,-Inf,-Inf,0.08544061639910058,0.08802838348441512,0.08977186718945784,0.09047696292276075,0.08937961785882964,0.0917231799608294,0.09232688830266488,0.09380294320886431,0.08566334044370894,0.08782646185264996,0.08865831425274438,0.08948683150567706,0.07902451467458749,0.0808091620624728,0.08219216591125225,0.08327908474726246,0.07822227115174914,0.07973468581817092,0.08097860906720307,0.08170875786203322,0.07348278768675892,0.07564913916559755,0.0772153998193995,0.0777206461868139,0.06680459831449675,0.06840805523355709,0.06973404735840985,0.07123378147988525,0.06608310851067364,0.06808126111823137,0.06937101067874649,0.07021992524527704,0.06585322594186163,0.06758709683689296,0.06903766207643224,0.06992602680396486,0.06529067373488644,0.06732032402944074,0.06856568312652614,0.06908461329284349,0.06316666395742597,0.06528175208163105,0.06626731330327354,0.06725947607998231,0.06302748095717878,0.06472364372463517,0.06556658874316915,0.0664797914437576,0.062466051655591125,0.06389451473606461,0.06482309645041053,0.06568658780481894,0.05891716090798324,0.060783488112610265,0.061608139892062805,0.0628029512721147,0.05793053970350154,0.05928283819494799,0.060675275908247873,0.06155364548996181,0.054736265053217686,0.05612191407954301,0.0573606668960736,0.057904662547554865,0.05681495773877446,0.05835905006130441,0.058548334507283854,0.05996003633158033,0.05382863203327049,0.055328770487686495,0.05599056748479742,0.05696162770913586,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.11865520313940518,0.12295741448564643,0.12527038103120902,-Inf,0.1174058406031804,0.12151246358100569,-Inf,-Inf,0.11721825667268776,0.12132566493784858,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.1035715030478411,0.1076246776653583,0.10892488666376934,0.10956121065975716,0.10316954627648346,0.10626668239996538,0.10849788683743536,0.1086991848173255,0.09757014131677487,0.10069180594148934,0.10249551450875104,0.1024292057957067,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.08241343961208199,0.08533057428358669,0.08694650180600887,0.08829013796846898,0.08783685781286255,0.08994018706606144,0.09104647820879512,0.09227291946490525,0.08244816766960658,0.08500191610452018,0.08703234080724936,0.08759482480790474,0.16152652754246782,0.16271687802253548,0.16471814975805354,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.07640567597437416,0.07854692618010366,0.07959807453564284,0.0806844701003686,0.07613899693517881,0.07773839282587386,0.07886791018207807,0.0797407676325134,0.07134498729551977,0.07356796434171063,0.07476033994557198,0.07563610261834133,0.14775801416783096,0.1496941031967299,0.15051365356802554,0.15104363352773095,0.1469793381504292,0.14818054617967588,0.14941768825656668,0.1500826525340414,0.13951110638882974,0.14088264588883556,-Inf,-Inf,0.06436402358359644,0.06633089676277236,0.06734687492379723,0.06846581954325931,0.06374624076857888,0.06594338455695939,0.0667532257204042,0.0678389391648778,0.06354445470033097,0.06551160497090845,0.0665201950347893,0.06716613729745168,0.06313921763495293,0.06531564563746799,0.06615903416973612,0.06681044346873016,0.12317053793675885,0.12524081463410877,0.12638556868893064,0.1274151142827423,0.12305882457171845,0.12521051790678436,0.12639196344939016,0.12705489080981053,0.12272928525205354,0.12470673734808461,0.12569436199101267,0.12687656436043868,0.12265006551454015,0.12467488053720938,0.12564705423940564,0.1265071599065528,0.061325469465131864,0.06325549268583092,0.06430879539334144,0.06505365194613981,0.06114177412488079,0.0630189563928832,0.06368809983247113,0.06446951343203658,0.06049335287056266,0.06235091120550867,0.06299392957159372,0.06359889946999268,0.05724702323799846,0.05875663528224334,0.05942261311640419,0.060282701629072656,0.1167863083849623,0.11848657364344588,0.11977938025835153,0.12090723138835924,0.11647167125228462,0.11795199217927313,0.11944006159740393,0.1201207852153057,0.11575267683559483,0.11752187169061057,0.11855079927344617,0.11930953528858368,0.11017839984413424,0.11196504762892313,0.11293390626352565,0.11359913689800752,0.05581234638957184,0.05760659170773543,0.058472438210852413,0.05916368130948365,0.05262080039497085,0.054166130130888064,0.054891854219422255,0.05574951906613337,0.05477919230656823,0.05647860014290341,0.05731316539311536,0.05784813569870083,0.05209166905137761,0.05342608970954616,0.05424581750282271,0.05470115823350553,0.10577568816299777,0.10704534226889764,0.10858270520088617,0.1093270677283703,0.10013260255001574,0.10127493637958306,0.10248924629529137,0.10337553910969892,0.10468962309525197,0.10600931466458767,0.10739364438250372,0.10792770388437783,0.09975835869420449,0.10119297421283019,0.1021719656027832,0.10302189860704743,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.11722053848632276,0.1213465281666493,0.12243528315589303,-Inf,0.11654733598913322,0.12038644868704579,0.12127051376715774,-Inf,0.1167250368913886,0.11909372570871485,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.10201855730876949,0.10539707564439203,0.10699781360622557,0.10783363280304685,0.10178887782017393,0.10416213201428562,0.10647305003288814,0.10633713575836375,0.09534779932971645,0.09825620613853961,0.09998493913225198,0.10201980055421729,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.08122659867237252,0.08340192650240474,0.08564099221585998,0.08618334325022561,0.08648168601413495,0.08844447333830002,0.08964461301235609,0.0906000252572691,0.08092350561988737,0.08373211762269828,0.08500369806486978,0.08620247815090938,0.16000732869075493,0.16102210084935611,0.16226560683083718,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.07507994192270309,0.07734987508037161,0.07872877173825515,0.07922151858570554,0.07474422133363716,0.07647745095711092,0.07794203855838008,0.07736372565159272,0.07035031376960815,0.07211340381443965,0.07317104730627744,0.07405076943076827,0.1459428220320429,0.1476988213989831,0.14812781069841097,0.14917984213490035,0.1454700333059482,0.146593825038066,0.147208709799687,0.14799103850886688,0.13783997088445368,0.13910107423115634,-Inf,-Inf,0.06278946399335589,0.06486887713032392,0.06604047645038773,0.06697912915513848,0.06267256515944919,0.06466902776868468,0.06569866829991013,0.06576175482099615,0.062411195312244656,0.06445842347286611,0.06536377615907006,0.06607617648567787,0.06195334344500289,0.06375514980342066,0.0647622453164101,0.06560437345455519,0.12078601123419841,0.12276001978446281,0.1238545085024022,0.1250555672714715,0.12111661969936845,0.12243484901094885,0.12351602696242014,0.12423207300378412,0.12118099522051001,0.12234836116712604,0.12399416205780528,0.12484742570221807,0.12114134189852013,0.12266389576821429,0.1237375696485563,0.12489400508713457,0.059815226638027436,0.061999587725530506,0.06314831119759813,0.06388846578862827,0.0596665720664929,0.061663453949169215,0.06255527447341973,0.05863027035902833,0.059394975551978126,0.061389461732220846,0.06197952443480506,0.06278187878306603,0.05606563319109785,0.05775262835043225,0.05833702332477052,0.05817952517045485,0.1150455145166215,0.11579898698213596,0.11696569434046815,0.11819453633737723,0.11449901087126747,0.11535657328702344,0.11634228789903225,0.11779426355594809,0.11330613298154232,0.11490265386830273,0.11585733923776877,0.11719107218460985,0.1084846905294363,0.10939851463923483,0.11053559690840152,0.11115614481540499,0.054417812440986264,0.05597934700332157,0.057176680812191016,0.05783851741347125,0.051263403313580855,0.05278130773920336,0.0535044606341447,0.05422937601455942,0.053647368785682346,0.05530175743574038,0.05627089383720529,0.05659770468117343,0.050791046754085536,0.052411218856907256,0.053242181233070784,0.05345166350622871,0.1037337332383574,0.10419971598115829,0.10553834985114684,0.10691845172964623,0.09850684577765864,0.09872644108721618,0.09966889197077015,0.10063541055042785,0.1030268821725621,0.10328518316893825,0.10442882133240511,0.10508958595861188,0.09760287449217639,0.09906034069993946,0.09988992474388501,0.1006856660219978,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.11558423747799837,0.11928247008449792,0.1205286118133435,0.12241674099355268,0.11569492539853969,0.11881180285219606,0.11989960038443892,-Inf,0.11580767341107735,0.11797236961973696,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.1013942987805341,0.1035520659953207,0.10547884260947371,0.10531261800642093,0.10041292769871203,0.10292649029392054,0.10468811067329716,0.10476838143662086,0.09443190593271845,0.0969782635981328,0.09878712058456085,0.10043422379679826,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.0788711253111345,0.08165483881584638,0.08282536714999636,0.08437111721632581,0.08468578772906593,0.08613943439422214,0.08787982827957141,0.08826247037544194,0.07974696635077004,0.08091613069248178,0.08284806219309897,0.08385938342879866,0.15897639190376248,0.1599090690207104,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.07308770045215417,0.07495265851756695,0.07665379406081374,0.07726387766648149,0.07303922987879972,0.07490088710424257,0.07596172680647158,0.07660162951373858,0.06836781916148782,0.0704420216452558,0.07174290570496479,0.07253670705345928,0.14550729040662908,0.14671228248918783,0.1474096692601701,0.14821045077499015,0.14490135827201917,0.14607351677813246,0.14652701343164085,-Inf,0.1374928027549787,0.13796321670448425,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.06059434832765351,0.06257450110241009,0.06387732112093344,0.0648261824586794,0.06057918078160523,0.06228125011164978,0.06367471263948668,0.06447849022168736,0.06040543869146434,0.06229288954733549,0.06298374751756033,0.06440487929103697,0.06015571370345831,0.062193716829260844,0.06304086982902556,0.06388464748800357,0.12010703231439872,0.121164568095189,0.12216510482223437,0.12318737704112949,0.12021021142413071,0.1213009827705097,0.12206539808099183,0.12361654461695185,0.12031978047361387,0.12128301808469916,0.12193651960297147,0.12283618033427274,0.12083986024445344,0.12167779754312931,0.12262809954328563,0.12314099227405509,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.05858093805538412,0.059532903787166275,0.060875571175926,0.061707154776877285,0.05507826333088109,0.059361903880858484,0.060554296012138895,0.06115730367556456,0.05709732273621135,0.05905752664396317,0.0599617990146187,0.06088474664984275,0.0540381213219752,0.05565940726983517,0.05677229061484508,0.057281704639847365,0.113817187740096,0.11504948348522165,0.11567182759637663,0.11666682996623202,0.11338779190222056,0.11442299144083526,0.1154825856161238,0.11639323734982607,0.11249926019768694,0.1137000028514222,0.11492450456259426,0.11580426004476436,0.10716802554116646,0.10852401629822933,0.10928654797244199,0.11009906272091652,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.05284299162028433,0.05388989798591027,0.055071066317583725,0.0556701259838319,0.049747238075005376,0.050572259681136635,0.051542295854774905,0.05203705977355192,0.048869098722026216,0.05305768635538743,0.054143371933052006,0.05470546753733467,0.048382622531529244,0.050214010543257165,0.05077763168071782,0.05176403463872428,0.10278119118856091,0.10343649025422312,0.10451511911578942,0.1054058428620546,0.09672993055954208,0.09774287168035672,0.09856600542588821,0.09947384947903416,0.10155699614011819,0.10250104825742261,0.10362540153524787,0.1043863644144063,0.09693301300434724,0.09809213709054047,0.09894751726568966,0.09933410203887179,-Inf,-Inf,-Inf,-Inf,0.15270481400599722,0.15378967980107894,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.11499875530912153,0.11788070646779737,0.12019391793462979,0.11947006106613825,0.115067729013021,0.11755093448767634,0.1192780712510723,-Inf,0.11471792370842049,0.11748197670051305,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.1005983909155773,0.10260897611819049,0.10383306531961213,0.10477795410962776,0.09955706846793318,0.10125790667582212,0.10269212058109335,0.1035554073596136,0.09304026985350206,0.09540207119333713,0.09769783906061165,0.09907138224321962,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.07864345957372039,0.08068574644974821,0.08267289669982657,0.08340002209298253,0.08421146549443416,0.08575287366379014,0.0871788383572893,0.08763213960038611,0.07907163919396543,0.08026303868000234,0.08194126743260795,0.08324737665045345,0.15842040490092843,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.07284189213183122,0.07464565536875128,0.07629788646605917,0.0769474366830462,0.07266237191658549,0.07414346979418499,0.0754963810414237,0.07624571953398579,0.06849684826771163,0.06976622004446728,0.07082752979426594,0.0718419161521749,0.14493467557401452,0.1460147218108979,0.14619119562756744,-Inf,0.14464495811960768,0.14541112608072365,-Inf,-Inf,0.13664789506839087,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.05980417371379657,0.061698414654491496,0.0629439971018692,0.0638027812545771,0.06057138140446368,0.06160226384046782,0.06288129021693746,0.06368299821061556,0.05988828387981721,0.061303246836678434,0.06251183058156679,0.0633160876077245,0.06020948429497719,0.061400938254132315,0.06262897936346355,0.06328978830025506,0.11919267177840322,0.12066073002398059,0.12166625096642704,0.12225760145910518,0.11953824698591498,0.12049771636738295,0.12118329562853357,0.12237959213121555,0.11985071520161798,0.12054335273823918,0.12147692187117518,0.1218357450758227,0.11993066296120554,0.1207354304275681,0.12125951101394414,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.057375679305886856,0.0586959343576648,0.06015838612059005,0.06102867704698199,0.05440550487918639,0.05870962681417068,0.05992523801363724,0.06079586490052974,0.05690960620167259,0.05827800787779044,0.05934929270134066,0.06012836159052687,0.05351606307037701,0.05488579614441327,0.05596033408435675,0.056586426258080816,0.11362404507216002,0.11432655345730038,0.11538423876752607,0.11595713904557112,0.1129460513064076,0.11411340325160954,0.11499681341416204,0.1157465546668821,0.1121072864338617,0.11344142633340218,0.11450910650000935,0.11492326296526359,0.10673619046392241,0.1077144992781318,0.10839557043552771,0.10950325219170645,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.0519903149075662,0.05292509594323245,0.054371612274839845,0.055122006286736795,0.04843794800888206,0.04989997572586524,0.050905094441393,0.0516972300486739,0.0514406196447866,0.05245719723082841,0.05372273705505072,0.054376809068186725,0.04841358962446992,0.04978999956678123,0.05063805175456285,0.05116398303985408,0.10220066392784684,0.10299207964357462,0.10370768649280201,0.10447096014959546,0.09581295338943552,0.09713275084333756,0.09804696046455522,0.09837794546181328,0.10104226358246834,0.1021284629171004,0.10294179614246966,0.10369024779874128,0.09630227814004673,0.09726512384040192,0.09798019081883982,0.09876130159776812,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.11452418497857711,0.11668449284719717,0.11953010971927362,-Inf,0.1144171533015424,0.11685215923258237,-Inf,-Inf,0.11425341104867236,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.10012951400056239,0.10140663955252516,0.10292797286192212,0.10408979701939079,0.09962965270936547,0.10049773802366507,0.10200905649766959,0.102901662811462,0.09234211971499924,0.09429387711579221,0.09604456209102268,0.09749764614343359,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.07872890844841011,0.08012920017579533,0.08171382969268541,0.08269996683906308,0.08425059213639126,0.08591160303671908,0.08681908761972942,0.08741838560304148,0.07869378659516539,0.07983846561912833,0.08186229932261659,0.08270585241615742,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.07269247868746685,0.07418152591371903,0.07529864370678238,0.07619434978020008,0.07249579602832804,0.07368332065823273,0.07532256004469423,0.0759261260433436,0.06791771890193495,0.06906933475792083,0.07038901635322632,0.07119180402329772,0.14473329003149246,0.1455692091720771,-Inf,-Inf,0.14396559323372515,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.06001384960424279,0.06104005543456998,0.06233653342598998,0.06321687842931718,0.059858316756501814,0.06103294634081273,0.06227699369115817,0.06314134338120155,0.06012536181455148,0.061097082189469305,0.06177787573025507,0.06306237190982131,0.05995676685926289,0.060609397893804005,0.0619116865260742,0.06246664366896763,0.11835163099921259,0.11923553120822186,0.12067780571305074,0.121103941034183,0.11863487217349594,0.12018512354749479,0.12030168667761053,0.12088910531073394,0.11916598120287308,0.12029781678312745,0.12052058454798581,-Inf,0.11936284066839915,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.05708731918541937,0.05829836728119693,0.05977816067642629,0.06063348383301766,0.05659410548535089,0.05826231323676547,0.059493495387574175,0.06006818783960851,0.05674796259145285,0.057937808143604434,0.058937100780044535,0.05979041844371466,0.05349557165058044,0.054697462201594424,0.05547270618139821,0.05603908477152258,0.11234033874746918,0.11352456437231183,0.11431775078217994,0.11516122278722181,0.11197392203858801,0.11323765858415831,0.11422162554890646,0.11507999388810097,0.1114492079796431,0.1129643646780809,0.11346865925622879,0.1143290641768589,0.10622031523522428,0.10710173359964063,0.10718296224679612,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,0.051137836476190336,0.052454506132691585,0.05370203357556836,0.0549329286455747,0.04777657619875799,0.049366053445992195,0.05028313122602464,0.051185229243640475,0.05053068057275504,0.05183973697202446,0.053445890312542606,0.05388082493758667,0.048112011425124696,0.04942097612954436,0.050133389679184806,0.050812858604264204,0.10108127598597859,0.10253627191993515,0.10327772395424982,0.10356028318105388,0.09504732039432323,0.096186606903401,0.09709494584863348,0.09736818621225184,0.10021590080672503,0.10112866532580465,0.10212499250362808,0.10284368875680962,0.09581646828855402,0.0968115134058904,0.09726785081632323,0.09803796501113807,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf,-Inf -Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.816736895882813,9.653630581960924,Inf,Inf,8.227033469904919,Inf,Inf,Inf,8.725162697134753,Inf,Inf,Inf,7.238068624961681,8.694167500698205,10.401913031840914,Inf,7.638072050775527,9.196048515664593,10.839965644166126,Inf,7.961120232629808,9.54069747786286,Inf,Inf,6.519912984258617,7.746250740410918,9.25043944814605,11.018600965872366,7.122359716320186,8.295570912685422,9.930952407610311,11.730279978004933,7.287184110138867,8.758416852394435,10.420238694920425,12.259353682646962,6.429919539657134,7.4058833209891395,8.81322920411396,10.412966774574173,6.770049240534581,7.828139261178138,9.304447199141368,10.90930768398293,6.850463583237804,8.101300523750453,9.64771234126518,11.35781546589611,5.79734449662153,6.7041328455576705,7.895002979002175,9.282389916387785,6.074076844601146,7.014837236163516,8.323078579094364,9.750732265809502,6.300217475278454,7.389107923509466,8.692075494136262,10.248166879920708,6.630305806811002,7.709510372778854,9.136204554479775,10.722474587422887,5.742664109446794,6.537528713034005,7.672742652927346,8.978814898436637,6.029542152336838,6.909886484105168,8.045205423848891,9.45006895346051,6.279235149938104,7.184242667285201,8.544199787327976,9.926602452237887,6.393877409789714,7.407293492713168,8.655488479222951,10.147711866911001,5.679248181176355,6.442969715607825,7.479512725522803,8.723970388813372,5.7820053284128665,6.574800175822173,7.698659450254764,9.033988189200345,6.0806193900206305,6.977405312437883,8.115525919067684,9.533128174515513,6.250131140439443,7.176966217086985,8.387020322017728,9.665188235940963,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.6637599437664194,9.149854107674855,11.104527794013512,Inf,7.96173171457523,9.4013317832801,Inf,Inf,8.37569033312301,10.00855968929468,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.357138238566982,8.30085764610254,9.957423444596257,11.659163344476413,7.667249216119433,8.697046893493726,10.437918849156569,12.12927799573334,7.978242338946738,9.334831626097225,10.990173229077534,12.632384173304908,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,6.818363322073957,7.647946941104804,8.903474691659198,10.402710867489056,7.350574841097228,8.227754245905674,9.457029372049691,11.177466111522039,7.442265379573662,8.534319462893233,10.05124157898644,11.744139728375037,8.311381107922493,8.897923459268165,9.43063092865936,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,6.841124825620357,7.476950354293172,8.5190248146369,9.87049806983421,7.087671946439656,7.792879849562634,9.015098193530214,10.458098959364746,7.086712310030185,7.993591427432906,9.303640714549097,10.873396156525548,8.169122776784482,8.603791894826905,9.125280119017178,9.661693922462678,8.648170706750857,9.193480319007016,9.705009408246722,10.310185918402217,8.988408996594043,9.534636716444494,Inf,Inf,6.232210503074181,6.811739045506024,7.823890224250249,8.9348095556925,6.488947763363422,7.065165189198225,8.145301456775226,9.36513690447471,6.612000193057572,7.409798074823481,8.4959914529677,9.785001560672999,6.906881252370034,7.70752808812565,8.82594803664079,10.286733594647368,7.348442825711313,7.69308706403729,8.12108203086888,8.612583139254925,7.802919615828294,8.178109697525334,8.61339930884188,9.221695113134851,8.244319098489974,8.667452323364184,9.192561239936145,9.784669114311619,8.730585922343609,9.109193739983317,9.686220852313484,10.336395692221762,6.310737326273053,6.764713260094749,7.629768637356413,8.652199467459312,6.607850986336294,7.063257347257355,7.953285113909128,9.177717723650073,6.7055010663190915,7.341354121268104,8.372921110625082,9.58917619758093,6.72162226358629,7.482234000947857,8.558322100303005,9.753473004487372,7.420681932593798,7.693605015366282,8.09990926811195,8.533104687367711,7.894474261014569,8.19312409752377,8.59631074223668,9.113375768257606,8.31738696990141,8.624127884764196,9.090982488251552,9.57069980930608,8.510360418506808,8.855407675652767,9.304897664611197,9.890831060450353,6.338085557271126,6.658173925898869,7.476769474023817,8.522762855935996,6.239870748528326,6.745808191232779,7.6305232776167164,8.75244500022352,6.646839736189483,7.15479787049627,8.094593230341149,9.14572783832886,6.606788121636684,7.318658890359405,8.229104468953967,9.487766157342344,7.356672147921742,7.650976351518645,7.950632438585657,8.409160082589526,7.530099476968279,7.866800360359628,8.213232518627311,8.62437836669639,8.122759775089138,8.42922839531668,8.782509451983769,9.247841823991898,8.338035359456661,8.647406366589628,9.05356569462723,9.51780536628208,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.688394228257078,9.160262779958389,10.554036459905554,Inf,8.013014771481945,9.421480127785916,11.124285824957582,Inf,8.44778945600695,9.742145778523039,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.621933840070409,8.376882578433639,9.633382507931511,11.448138040891955,7.954416465408218,8.83224922771721,10.210256647588253,11.906186795095916,8.047484343378429,9.345134304513866,10.866631888013194,12.723303180503335,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.151556153660303,7.819803379380271,8.980830628227643,10.264225395475659,7.756745332659019,8.377326988024711,9.410924236174717,10.898163575643428,7.719067477346577,8.661552437824074,10.021419435562962,11.60910485149829,8.442155627596264,8.972582982416451,9.542305302074068,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.253280312091401,7.732720578388353,8.678402234268194,9.831768673973139,7.428691569418306,8.105776176325264,9.134525628448317,10.425649565508499,7.427804410683515,8.183176166733608,9.352019099438719,10.722484918576432,8.290618645266811,8.764567140591375,9.232616622688475,9.701332608941302,8.778045808921012,9.234169115130303,9.724442531532196,10.356691796997053,9.15330576451276,9.612803679559724,Inf,Inf,6.68596161954598,7.041638394728139,7.930282928478164,9.007535049109038,6.8003974121500255,7.361295208601875,8.208707060794211,9.479204886521412,7.050537743610069,7.644244129867235,8.580095065602391,9.809691300659194,7.247503616682622,7.958514515822559,8.936455420790304,10.225654771569827,7.47385580908241,7.8664597752201715,8.218134721611584,8.661751858098842,7.919122192869263,8.293353127082698,8.734610274281325,9.232450028358075,8.410356149477048,8.785809929728954,9.17847226347719,9.758541070403314,8.874763649701222,9.25514478398687,9.777710848105748,10.278682501468056,6.818219517945612,7.149293646595127,7.8159592833052045,8.833716476482692,6.962325400038927,7.466694282468756,8.171355665362357,9.245154820246732,7.243676427683017,7.714442903117353,8.466453801413769,9.685582531511857,7.05577194743632,7.749070610835503,8.663436702302322,9.829638778341284,7.484274934137615,7.8723313484220165,8.252119239144942,8.674154599283845,7.942264768676262,8.289704330755495,8.67704059603872,9.211206922546245,8.326810817044233,8.71893474413223,9.191108075468925,9.596648144922618,8.618979673491122,9.002591164138412,9.415126293453,9.938571394993518,6.7717254361826225,7.048578534451343,7.696291614260531,8.623266185254147,6.595435530176941,7.097679365402476,7.757431243936153,8.791175199307736,7.098651728297352,7.539285949896153,8.254469242279917,9.200231902132678,6.920624887514349,7.551471414817652,8.40901761356904,9.445749408250887,7.404525906180348,7.801850270766849,8.144233895876722,8.572146152444713,7.588333109277278,7.988829095458116,8.352566970030889,8.715430820212834,8.159712895956485,8.563896928309601,8.927548246979084,9.328154247342605,8.391594064777648,8.766458170057996,9.123667827994627,9.598651167875397,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,8.029053916780619,9.204612370726405,10.734445750610803,12.905009149801911,8.36015256038183,9.478039396573271,10.93419899776317,Inf,8.71967180161873,9.84293491668358,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.901742303364574,8.644444856610644,9.710955897258977,11.24263684810729,8.365709014963784,9.05534710249932,10.188782263072108,11.574673338008,8.483387191948921,9.581077768754602,11.049528932701026,12.706025592594871,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.504068956195684,8.261791323500663,9.18576965906794,10.300380729965841,8.144213401504345,8.797792665610165,9.667333490275958,10.834421615694131,8.087159527857107,8.911780110630989,10.144202234952282,11.580855884463347,8.739398138730845,9.22533282199544,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.6398582339645555,8.211579650513684,9.057226390275078,9.965746947832033,7.835818179386968,8.408953870183245,9.40074648464149,10.504146977677443,7.855291508210663,8.579250359599477,9.56281264769362,10.908706474661901,8.609775747389797,9.029768017047942,9.508197919928232,9.976799644926404,9.078437067380227,9.478023992602523,10.034999882539188,Inf,9.494219800967612,9.91003857871033,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,6.923647944398639,7.497695566895303,8.130191559906837,9.167767177159995,7.135284943805702,7.685498578167427,8.487453766562929,9.593378540856392,7.3795908716009,8.005915456877686,8.835763929194925,10.016330925197051,7.6790677609905895,8.295990255688261,9.263401688654703,10.320934130306233,7.685667426659954,8.101086523916623,8.516925698153859,8.954302320536671,8.153730505219263,8.594391549893114,9.001547153278024,9.441488925030429,8.637655622298997,9.055023049279214,9.511971120801274,10.02162253634356,9.180684044950858,9.533035860533342,10.041795146918377,10.538282427424855,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,6.976735573720913,7.58221730796926,8.198450422570389,9.05123284885211,7.229420594779483,7.8764672460536485,8.48330619607233,9.409167410568724,7.566313952164776,8.111347830355431,8.71781351828611,9.767638832446778,7.374749098252057,8.105909367639963,8.907087475057633,10.038289511042642,7.686426455808206,8.157589294845865,8.503928895366837,8.960817261081026,8.13401225088419,8.595425209519435,8.976046605102686,9.44563898134399,8.588706779997088,9.060984202832246,9.41591833524117,9.889790817153616,8.870357653516074,9.289995884985029,9.70970200871344,10.134909239722303,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,6.97173406732004,7.425753117765561,8.007895765584012,8.875755293682174,6.79887774421341,7.5179383320395505,8.115083628425294,9.011548456950415,7.25257257784782,7.933118462355376,8.525963801328077,9.453784960561118,7.200807588795539,7.968621862208673,8.68569762576365,9.658649039291307,7.599916657968424,8.055436432829648,8.447038486454534,8.809561714752432,7.80839323864767,8.24205607285356,8.622229485059417,9.031057672403318,8.360482311169678,8.8481846229739,9.200530575290353,9.617051665289688,8.604281763263629,9.092585760970703,9.417942738100509,9.859950669627253,Inf,Inf,Inf,Inf,11.202598601143384,11.524852815389297,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,8.35653626637271,9.433547501262156,11.064827068989286,12.540749890796896,8.612151116526302,9.704134084137257,11.326543394597866,Inf,9.02277575320149,10.085114378412085,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,8.232616651767758,9.01644419923088,9.970855633227922,11.232808104886127,8.686693343436014,9.453567967569874,10.42784025371267,11.76294077986534,8.925966190339135,9.93879902038584,11.259546949935359,12.725361455500135,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.904854909787152,8.647019410297844,9.371495321746018,10.529479781699761,8.405723610439212,9.178973800468771,9.967280829469235,10.979234429157554,8.513909033107835,9.344117110205376,10.43549446607764,11.70362040126799,9.167879768610929,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.946626645323802,8.659907883719255,9.39290986339496,10.296389005167832,8.173059660716998,8.892790493652333,9.738583135808307,10.807819451143718,8.288998576227105,8.93227913284184,9.807632685389866,11.07891925099672,9.011545055928547,9.535969045091667,9.933392058658953,Inf,9.52617714488413,9.920380001924347,Inf,Inf,9.952656080590128,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.088548981184775,7.83639489639593,8.532044638904553,9.373611523051832,7.4390155318948,8.179995869793482,8.84992875631865,9.876967868719676,7.721540014621788,8.426658392221377,9.148372066245992,10.121419029309301,7.943100608438538,8.765973742962872,9.607850518173802,10.618906350774141,8.009159424092571,8.526106571346897,8.914882140348764,9.34229306900431,8.52408045994931,9.020361138788038,9.445120627009237,9.898702984087256,9.025708557365055,9.487440394840943,9.919802868665784,10.47400460369612,9.54959543450829,9.997113553489342,10.488586832115194,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.279890602738687,7.875097669580918,8.60444569788194,9.405705731940065,7.439376207620352,8.279682015870188,8.799014823075215,9.722167590965073,7.751385227839267,8.55256495401719,9.112973411622406,10.03862147796613,7.70673610648852,8.539380523647363,9.256289293109562,10.333377576903885,8.125961444765197,8.561789265807406,8.970398660996581,9.376894746150688,8.54087220778883,9.054726058886237,9.458251098349612,9.925334014999619,8.947026630919801,9.496062016380847,9.856735462569754,10.343159640267888,9.235019693077652,9.721376706174636,10.173295375490245,10.58271939442774,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.263781911328413,7.907744009834516,8.368659170996011,9.280823546997185,7.195883258751938,7.80117458709797,8.491721678559411,9.250851352106267,7.656057590514602,8.221707425177222,8.953151039652413,9.775771803604334,7.489573842832994,8.285819079642295,9.000290105877372,9.957136307430753,8.044929907086477,8.436746232791482,8.875927018221056,9.28899896467472,8.187805259021177,8.61045509832993,9.020566040971813,9.420927350769869,8.78010936740916,9.225580844075013,9.661299620262218,10.066205270623895,8.99228301512603,9.47892823207388,9.901029394508571,10.320176743525652,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,8.782370892586332,9.955956563915565,11.403479127353139,Inf,9.130927364131951,10.085766885443425,Inf,Inf,9.632666990357952,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,8.737976715009067,9.479463501738051,10.357102120341104,11.504291979382977,9.14344973128459,10.020965080288514,10.924366722728644,12.021353720674616,9.452086775630125,10.696355244273596,11.748040056867074,13.065861862731138,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,8.322679829007537,9.068873220709424,9.794719519953187,10.861950315346158,8.877276392416036,9.673238695761466,10.427251999951137,11.34815579838277,9.083444848331359,9.867198530426768,10.871416265521269,12.061322047111817,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,8.304769372560976,9.115831681782524,9.863574899492683,10.752439879846102,8.581842929818448,9.39271224689819,10.245749944564597,11.245757726185413,8.852095884552654,9.371931606225463,10.35240044892338,11.4804142028575,9.577372471385692,10.179128214061096,Inf,Inf,10.107698949699104,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.473212519267938,8.21540349173489,8.991632934704677,9.870650752442709,7.804833921971555,8.582774154465097,9.366315584197705,10.240718946692173,8.164764394075656,8.990399937030897,9.707768421743854,10.62863716156881,8.5733269921418,9.29116135713945,10.018881246819088,11.077118767746512,8.573975807272452,9.062921179842709,9.509604766064093,9.947448710260398,9.056747723535983,9.664642106064498,10.07329946905637,10.506310978551891,9.606897421820612,10.16998440828566,10.56378921856663,Inf,10.156518335213615,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.556487015907822,8.36240433814541,8.992776637431724,9.840358260789454,7.952393379793904,8.613322039734696,9.428043705511605,10.174362882384546,8.245899303941444,9.154386296174348,9.683870329102495,10.471379369689897,8.201319081554852,9.109371526611763,9.880563596793657,10.687507171906207,8.672860389862942,9.147248412220092,9.577144145167024,10.010620746661484,9.150947247665497,9.621136679562934,10.072696186576026,10.51551576199533,9.561445494695674,10.170431900492929,10.556855135747709,10.975264325847943,9.778097999067809,10.405556303092487,10.82208937337383,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,7.583435497515687,8.421045450077559,8.880652370562062,9.682370499075684,7.563422722815487,8.4035685610465,8.837560630458327,9.676679058887503,8.090662095210774,8.903262572547543,9.497544211252286,10.280166605038499,7.960899419257027,8.843832590320796,9.557848331678397,10.378729304195385,8.600188865370537,9.01484829937002,9.473557592145516,9.847788749539834,8.721443505875582,9.174424168412955,9.631291332323425,10.016598589524492,9.314755640155147,9.818413406802705,10.30779866768761,10.702306946187434,9.487942341507926,10.082682508252324,10.505147278259956,10.936099742678854,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf -Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,8.136367845287708,8.735733829573148,Inf,Inf,8.61431230054509,Inf,Inf,Inf,9.275454838584327,Inf,Inf,Inf,7.844029807406225,8.186478627827421,8.902897867241098,Inf,8.261257479458521,8.605058665780271,9.103644362717883,Inf,8.808705911970668,9.311351445543298,Inf,Inf,7.832524360232381,8.098178031472818,8.66479323068738,9.261667883886497,8.352480836327109,8.454200021156195,8.995414824163692,9.808716785649821,8.260157678144529,8.893636180945524,9.626933700690236,10.425681965775704,8.288183072487435,8.348335797874487,8.76350162831789,9.325459520656606,8.450546106573308,8.534660935073433,9.17777417734462,9.867902401209916,8.172832090645088,8.476163172953548,9.264438143343867,9.92512609893198,8.339845196307003,8.45067552213384,8.871155711698577,9.38161486610439,8.387388404772278,8.55159274314157,9.165438546718367,9.573278532794248,8.366835574228526,8.56718641501098,9.037695505114565,9.717064117867452,8.485959278307112,8.629310296813717,9.151259087618723,9.816560347378772,8.793221299869694,8.76911086545106,9.209047233022599,9.665424053497848,8.832062052466828,8.912732737751003,9.396359985531753,10.05502060290498,8.825512764170869,8.888304545574938,9.491601246187003,10.093119600039095,8.679832090011557,8.841398866029781,9.291419717486038,9.819200999448988,9.239433611006035,9.203095416031225,9.614335418529597,10.15963381505171,9.062718872933848,9.08984434378096,9.571949174703787,10.125553306192089,9.124359788398221,9.155248147580455,9.559439026131496,10.223444472983797,8.982274249727622,9.037120214956797,9.47896036010668,10.093559161863649,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,9.525883682628502,9.711260580697713,10.41280553612923,Inf,9.91647173952407,9.824098688475619,Inf,Inf,10.62678004701152,10.547989765562052,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,10.157602322121969,9.700718677370308,10.30001381282965,10.894818794140654,10.352090911476889,10.018825735500407,10.508129223185062,10.999160466266046,10.492912836204518,10.876035250206517,11.347302326313745,11.7249190460759,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,10.678588105294176,10.351821831922242,10.700981021707573,11.313404258392428,10.998793901664211,10.601925239114566,10.965994480556992,11.610016979328922,10.608268643563143,10.678554964162219,11.46569132815651,12.096400118573158,9.583824515021785,9.416568014605371,9.277562478561423,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,11.65868045420431,11.072586892324265,11.318671367996984,11.818922065311948,11.636001795397812,11.101133896427417,11.499893829498168,12.156968437202998,11.297088152624097,10.926529822722427,11.351348866620782,12.245143104792996,9.842546156481205,9.500304768766572,9.322140586736946,9.265041605424809,10.168086972365098,9.881901196203195,9.749531871843208,9.686834520689475,10.357443194296415,10.046772452383179,Inf,Inf,12.17880243384512,11.70361104302574,11.98293423558181,12.464175645706003,12.026221358875958,11.609425649682986,12.012646563308179,12.562874844681726,11.855917517671257,11.588525388471336,11.90869152489315,12.461313473304116,11.841475576833401,11.48328617157229,11.880108309156807,12.508365853141283,9.70431828734678,9.377441943216898,9.206002727312322,9.131057524421813,9.991332842332458,9.57863221249589,9.406120511839825,9.405991115616663,10.316906996753014,9.838491994962247,9.651341006459463,9.640221387165516,10.625897660998781,10.004507143262455,9.860933993770049,9.884465492398657,13.202843345952626,12.591260963180488,12.767130577466078,13.159093127340498,13.321313588775793,12.532473523429445,12.752677358859742,13.23451941171306,12.938111899930917,12.40581128239895,12.603652836194659,13.152739420551013,12.538582593247844,12.09012066982662,12.490786473239528,13.020247346293615,10.214650239456224,9.791986387963517,9.664868611650693,9.539377083852113,10.558031519100858,10.050923090176074,9.84934389014704,9.821247032351295,10.824674696101425,10.251356288692923,10.053516021637744,9.926948292724797,10.92238714711736,10.256624596489454,9.939647049285336,9.908775203653345,14.119433573487493,13.401557509968036,13.649127322538401,13.998459289835012,13.581739160339259,13.066868397170243,13.302521843217018,13.846965852128612,13.68725827372213,12.97421594723894,13.282668950251914,13.706094403214248,13.264027396663018,12.746096691654838,13.06799148730962,13.558893629983299,10.654857920910711,10.274027725201558,9.97882361387819,9.90927476222411,10.780377400493263,10.29565812303415,9.978703478736852,9.873699563057597,11.206118677550982,10.56206311316605,10.240252246567794,10.113489878851261,11.274060303955395,10.58343787794648,10.191615736793697,10.071497220397232,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,10.590765645558614,10.808931791059193,10.780248294137923,Inf,10.982513591527017,10.95293722046001,11.248545771225908,Inf,11.657577406911862,11.231703604128324,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,11.889642948287879,11.238900466319105,11.495881348070442,12.209984280864052,12.01636476467771,11.638600876176334,11.836743223504058,12.3193956555405,11.900191706836582,12.056286510208638,12.511764965696312,13.205446118055226,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,12.948295221965815,12.347641509450357,12.664160746122663,13.078801842327197,13.21281932318299,12.580090922992602,12.622462108745728,13.093220968573283,12.756247920370942,12.351187524842555,12.981244210651056,13.775046894849824,10.195230495100676,10.178539914753992,10.099997787449244,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,14.39035813114483,13.451118564167102,13.69388166325729,13.953062089106249,14.235048065252878,13.497353071878887,13.722306316047591,13.912009967144074,13.741531375754267,13.175817111850675,13.416611150195331,14.073845683170077,10.565164715042634,10.4239490816677,10.383087735038027,10.241002677800202,10.85607350070982,10.701176715285726,10.582687657654457,10.5517196558446,11.10370651491665,10.909382748292735,Inf,Inf,15.422652526904068,14.512303601643918,14.80126044569845,15.216988490375916,15.232762757878774,14.394051238873022,14.672408621181145,14.982101726272136,15.053831703735378,14.255823458039298,14.490364613581935,15.04754600293943,14.799097350315678,14.177974635255952,14.351042296748963,14.959613107418072,10.703196885713863,10.618260548139231,10.354766811303248,10.336581075842812,10.979539418671989,10.718550608023085,10.56316094115414,10.49648402540661,11.264484074654295,10.912202722791708,10.686145883064592,10.71502652579257,11.50658910632738,11.123505998961903,10.995630928227708,10.87889349166586,16.95199972853239,15.977092764330036,16.0448356574385,16.452538038874057,16.735810077813035,15.73731738042976,15.750994495615881,15.12061032142926,16.765530688390793,15.654048862309557,15.569126598068705,16.216020107853648,15.882445110244989,15.112928094978777,15.285437627073074,15.643052043179413,11.412803615476994,11.218037432383934,11.038449711734582,10.955271651783741,11.579163158199227,11.339320641694476,11.108012463402916,11.123294549635379,11.708575061076624,11.461985571646984,11.302957645376612,11.182006353872321,12.001794049609934,11.54157602846882,11.26763112450397,11.149857853106479,18.311573716225634,17.020952041301,17.22304265392881,17.757728894351725,17.624324506046047,16.581676394851865,16.70750401582506,17.233271711088076,17.913458533584265,16.57894134599427,16.657421031918915,17.03561736005841,16.915330373506663,16.06709798468235,16.276451075117965,16.68466687213923,11.896373013956389,11.703931220842353,11.609776303423038,11.614874773976313,12.069618206099996,11.7526036038777,11.60972056105348,11.389002887051062,12.340003678434039,12.00845407089256,11.770252564099835,11.55473845600605,12.37715401533061,12.049822200066664,11.64615663335587,11.52518738877647,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,11.762135843586234,11.664757803168799,11.906843651101111,12.745648720164025,12.180956658139,11.763024883544388,11.875393727976455,Inf,12.531713050240864,12.1033938727,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,13.17932235863708,12.729361561748696,12.817132739213683,13.053597330563074,13.185536846497046,12.882124390100737,12.933818753553345,13.184809689641384,13.29745746678934,13.161502878516266,13.638100505113817,14.214889421915604,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,14.27689537964329,14.016375847817079,14.052572093824564,14.376620571107551,14.505057376573486,14.097848775905613,14.017307854709626,14.386617489693716,14.393732231688201,13.800055326361749,14.118617358383045,14.79167134533813,10.724859055747,10.731186767421157,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,16.04881896769341,15.392455269365328,15.478746655507107,15.708504633930461,15.883543988411203,15.265652692506281,15.344992308439883,15.732392292830934,15.508777969572666,14.936136524691012,15.15262438063603,15.664333524614031,11.272240843825378,11.21161181177475,11.158488125100346,11.10187629514169,11.51171711199135,11.40045450836582,11.388643450631053,Inf,11.783099537041867,11.597300330529675,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,17.489117439639408,16.997245454669862,17.070734061455568,17.432498390105184,17.242561422125128,16.635673466309147,16.87033418467833,17.343028192558858,16.983453769127774,16.476253755169527,16.502153824351286,17.172129072411686,16.71993299120275,16.34104358763864,16.4938137428311,16.845701405370097,11.54601389050238,11.54915920064511,11.517091063662855,11.532374407779583,11.752955537289962,11.746392553656353,11.662788297575041,11.619707839955286,11.99305199175724,11.883610329712955,11.796079443271186,11.726220950459062,12.277126480944535,12.044573561099014,11.97147912656509,11.859391921386583,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,19.358137472009638,18.749693016247733,18.72038012862955,18.98202198503407,18.28805974838394,18.52091329060114,18.381456594881104,18.749788080148804,18.913119614122497,18.250345288157757,18.034677098555452,18.465097228083984,18.123071026018316,17.63855737674738,17.793029430445355,18.30009167131881,12.257223014643928,12.350832431832298,12.239732740197544,12.290565539800204,12.448991876108328,12.450676084499527,12.416601961470692,12.36881316588958,12.653583455915708,12.639712372616646,12.476861650156927,12.484605792731402,12.782826668662075,12.637382137818664,12.49810132940877,12.321538129440752,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,20.933714584731423,20.087780940372603,20.176587153101412,20.55164912139818,20.317272457527913,19.587932747451546,19.648189223241783,20.067112281273534,19.37685470655242,19.459854258246985,19.434940206576982,19.842290792968573,19.30380189180444,18.87977059104341,18.857336270445984,19.546947487528932,13.003974281163261,13.078997729754592,13.099449444875596,12.990881923437714,13.049515861315907,13.09323520646607,12.997860798430194,12.95119788001402,13.264039542722536,13.286690729707681,13.153552145949886,12.985428219335997,13.337840088838119,13.270089281428564,13.056104399653643,12.904660089676407,Inf,Inf,Inf,Inf,12.37067495651358,12.379413080642687,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,12.703435277811646,12.478609787114365,12.800913695206646,13.161882697210045,12.815552769804398,12.583472834212563,12.85521500292855,Inf,13.137286381595343,12.802607919168736,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,14.091815467986857,13.994905611460954,13.875031892619624,14.179383100616882,14.13808271872318,13.947074029540593,13.970235007172311,14.319548961569465,14.210189668916392,14.091584296749788,14.50595268967079,14.970555540284035,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,15.682963513239612,15.625202906839066,15.639216417888763,15.936050203073181,15.72161663721434,15.648095706392908,15.52285485947838,15.794931380652164,15.597505105146766,15.463736187842489,15.607436114449524,16.0813627737347,11.211651004299132,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,17.57506870059613,17.308024903276593,17.407500795835855,17.58873177419747,17.451720329942724,17.235725191012595,17.163148377956006,17.467673536297916,17.20315460589761,16.840020725844614,16.81144709813156,17.42526283578457,11.859110309043754,11.955326396736869,11.92136447696219,Inf,12.110494267353369,12.072410643826531,Inf,Inf,12.320209913743797,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,19.11655412495481,19.273089329401945,19.383793131749645,19.67481494949274,19.1086175022488,19.079693001509277,19.055933041438752,19.561900233106815,18.81625080686522,18.72768819296353,18.713255348386358,19.033217042925017,18.654076730438906,18.520277891221596,18.532127230419235,18.871873962043804,12.21301624766897,12.44967005447923,12.503751284641266,12.482516776284944,12.431216948769068,12.561347959863852,12.610369104998995,12.612997059824446,12.61722633361181,12.664522981634589,12.648683857060492,12.7183952771344,12.821467964721046,12.822949113722224,12.798610692011518,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,21.313375461140094,21.109782555383152,21.270295247730722,21.600403386607763,20.204260166648336,21.07693403055084,20.959786314232904,21.26159284186214,20.837852668375735,20.81766403133419,20.573321140750014,20.81989457257509,20.165349301065092,20.1160404342668,20.136113845551975,20.63989572269814,13.166621422026669,13.378744831500732,13.386965372325987,13.42380920486196,13.23490409057265,13.494769742590256,13.507461553468296,13.526801477046186,13.320090310716328,13.555342407161785,13.520394343426085,13.539997183066962,13.452231644064806,13.548009329551984,13.535112008216114,13.412266314158018,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,23.183825579788458,22.970907081028997,23.0105943747525,23.445820530410277,22.59624010445685,22.35975311632351,22.445535809143784,22.84463998920196,22.671020307387,22.11440433781437,22.206972328045808,22.543086889752857,21.790817859632263,21.537529463750086,21.611747643390306,22.11184736894733,14.00403886589808,14.171673451469076,14.273012288997197,14.350851338870632,13.94087587401815,14.218622981451574,14.208332575334945,14.193785747811717,14.127617471834236,14.333495016087152,14.347945936260782,14.276137038606377,14.162975327030196,14.325865570847288,14.26349612052091,14.20136044057406,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,13.426037308362071,13.440955862402934,13.575081520272164,Inf,13.608807111740674,13.329879583987987,Inf,Inf,14.004964558546588,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,14.900798457496736,14.986849441466688,14.902673619200216,15.24621030422763,14.992894022875157,15.05524116905348,15.053008098418283,15.212148499099301,15.077871346844057,15.210359920842713,15.374451922575636,15.769219493000346,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,16.833112487423957,17.03250753994095,16.987870821702828,17.326390288761,16.82523831205306,17.025287343694835,16.9432932608371,17.092258855985083,16.72868605596963,16.744758077153552,16.834814476276474,17.31784815805011,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,18.945826100236644,19.019183848018102,19.00127079042848,19.27884523609766,18.753311044950323,18.810083942224438,18.78278233262928,19.112761156473386,18.625673437990883,18.460603992029895,18.533184183566295,18.87346650304935,12.369753732525117,12.63612763286222,Inf,Inf,12.485423403271264,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,20.89247570506215,21.06284658811541,21.327762343493063,21.688050239309337,20.69751518602671,20.82336711225268,21.022793425207762,21.355922920205963,20.631871874955756,20.777759035459972,20.650251983401358,21.06329031709925,20.442027936005353,20.388320257937334,20.27545043616043,20.677929590656994,12.818758064625664,13.118088529544112,13.364389118043665,13.42380832623677,12.953404839231176,13.351760472073622,13.427468161444729,13.484726112534952,13.15801180257489,13.448349566218189,13.442612485549379,Inf,13.356957186643465,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,23.03301492510741,23.326236968079463,23.564945664002195,23.798429438826687,22.73337081504211,23.08849201949072,23.239460692397678,23.40359346739544,22.676486787385677,23.054575006402366,22.746943401546698,23.074641034162266,22.10854599067967,22.29524057656718,22.366682668258992,22.570328685212804,13.797430279825917,14.193363138587856,14.364287070413718,14.466981832569163,13.872859779460049,14.262974662783728,14.453909174559875,14.487159727983185,13.98013455269119,14.422666135039206,14.431613785660774,14.493963826256426,14.034154235118992,14.36525024777989,14.34437147169044,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,24.971180283104253,25.59226801106203,25.604078018011126,26.05466457120862,24.4536178407364,25.014055963317407,24.860412181327554,25.371437768824137,24.35583351140819,24.822377682602077,24.756195367048566,24.938927101374393,23.78996509810979,24.118177948948517,24.085362166068194,24.420466832946676,14.71870808438242,15.168365856732954,15.352251059308477,15.436056091202063,14.648651425440748,15.151143555576622,15.303035214094551,15.25929046325437,14.753629768423906,15.17282819330812,15.346767378616299,15.384789633552067,14.795468915557938,15.233167568412526,15.260602334113793,15.25168697861241,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf,Inf diff --git a/BipedRobot/ZMPBipedRobot/docs/2. Optimisation Process/solutions_Fs50.txt b/BipedRobot/ZMPBipedRobot/docs/2. Optimisation Process/solutions_Fs50.txt deleted file mode 100644 index a8fe1322e..000000000 --- a/BipedRobot/ZMPBipedRobot/docs/2. Optimisation Process/solutions_Fs50.txt +++ /dev/null @@ -1,1512 +0,0 @@ -0.021124999999999998,0.2,0.05,0.2,0.0,0.02 -0.021124999999999998,0.2,0.05,0.2,0.0,0.03 -0.021124999999999998,0.2,0.05,0.2,0.0,0.04 -0.021124999999999998,0.2,0.05,0.2,0.0,0.05 -0.021124999999999998,0.3,0.05,0.15,0.0,0.02 -0.021124999999999998,0.3,0.05,0.15,0.0,0.03 -0.021124999999999998,0.3,0.05,0.15,0.0,0.04 -0.021124999999999998,0.3,0.05,0.15,0.0,0.05 -0.021124999999999998,0.3,0.05,0.2,0.0,0.02 -0.021124999999999998,0.3,0.05,0.2,0.0,0.03 -0.021124999999999998,0.3,0.05,0.2,0.0,0.04 -0.021124999999999998,0.3,0.05,0.2,0.0,0.05 -0.021124999999999998,0.4,0.05,0.1,0.0,0.02 -0.021124999999999998,0.4,0.05,0.1,0.0,0.03 -0.021124999999999998,0.4,0.05,0.1,0.0,0.04 -0.021124999999999998,0.4,0.05,0.1,0.0,0.05 -0.021124999999999998,0.4,0.05,0.15,0.0,0.02 -0.021124999999999998,0.4,0.05,0.15,0.0,0.03 -0.021124999999999998,0.4,0.05,0.15,0.0,0.04 -0.021124999999999998,0.4,0.05,0.15,0.0,0.05 -0.021124999999999998,0.4,0.05,0.2,0.0,0.02 -0.021124999999999998,0.4,0.05,0.2,0.0,0.03 -0.021124999999999998,0.4,0.05,0.2,0.0,0.04 -0.021124999999999998,0.4,0.05,0.2,0.0,0.05 -0.021124999999999998,0.5,0.05,0.1,0.0,0.02 -0.021124999999999998,0.5,0.05,0.1,0.0,0.03 -0.021124999999999998,0.5,0.05,0.1,0.0,0.04 -0.021124999999999998,0.5,0.05,0.1,0.0,0.05 -0.021124999999999998,0.5,0.05,0.15,0.0,0.02 -0.021124999999999998,0.5,0.05,0.15,0.0,0.03 -0.021124999999999998,0.5,0.05,0.15,0.0,0.04 -0.021124999999999998,0.5,0.05,0.15,0.0,0.05 -0.021124999999999998,0.5,0.05,0.2,0.0,0.02 -0.021124999999999998,0.5,0.05,0.2,0.0,0.03 -0.021124999999999998,0.5,0.05,0.2,0.0,0.04 -0.021124999999999998,0.5,0.05,0.2,0.0,0.05 -0.021124999999999998,0.6,0.05,0.1,0.0,0.02 -0.021124999999999998,0.6,0.05,0.1,0.0,0.03 -0.021124999999999998,0.6,0.05,0.1,0.0,0.04 -0.021124999999999998,0.6,0.05,0.1,0.0,0.05 -0.021124999999999998,0.6,0.05,0.15,0.0,0.02 -0.021124999999999998,0.6,0.05,0.15,0.0,0.03 -0.021124999999999998,0.6,0.05,0.15,0.0,0.04 -0.021124999999999998,0.6,0.05,0.15,0.0,0.05 -0.021124999999999998,0.6,0.05,0.2,0.0,0.02 -0.021124999999999998,0.6,0.05,0.2,0.0,0.03 -0.021124999999999998,0.6,0.05,0.2,0.0,0.04 -0.021124999999999998,0.6,0.05,0.2,0.0,0.05 -0.021124999999999998,0.7,0.05,0.1,0.0,0.02 -0.021124999999999998,0.7,0.05,0.1,0.0,0.03 -0.021124999999999998,0.7,0.05,0.1,0.0,0.04 -0.021124999999999998,0.7,0.05,0.1,0.0,0.05 -0.021124999999999998,0.7,0.05,0.15,0.0,0.02 -0.021124999999999998,0.7,0.05,0.15,0.0,0.03 -0.021124999999999998,0.7,0.05,0.15,0.0,0.04 -0.021124999999999998,0.7,0.05,0.15,0.0,0.05 -0.021124999999999998,0.7,0.05,0.2,0.0,0.02 -0.021124999999999998,0.7,0.05,0.2,0.0,0.03 -0.021124999999999998,0.7,0.05,0.2,0.0,0.04 -0.021124999999999998,0.7,0.05,0.2,0.0,0.05 -0.021124999999999998,0.8,0.05,0.05,0.0,0.02 -0.021124999999999998,0.8,0.05,0.05,0.0,0.03 -0.021124999999999998,0.8,0.05,0.05,0.0,0.04 -0.021124999999999998,0.8,0.05,0.05,0.0,0.05 -0.021124999999999998,0.8,0.05,0.1,0.0,0.02 -0.021124999999999998,0.8,0.05,0.1,0.0,0.03 -0.021124999999999998,0.8,0.05,0.1,0.0,0.04 -0.021124999999999998,0.8,0.05,0.1,0.0,0.05 -0.021124999999999998,0.8,0.05,0.15,0.0,0.02 -0.021124999999999998,0.8,0.05,0.15,0.0,0.03 -0.021124999999999998,0.8,0.05,0.15,0.0,0.04 -0.021124999999999998,0.8,0.05,0.15,0.0,0.05 -0.021124999999999998,0.8,0.05,0.2,0.0,0.02 -0.021124999999999998,0.8,0.05,0.2,0.0,0.03 -0.021124999999999998,0.8,0.05,0.2,0.0,0.04 -0.021124999999999998,0.8,0.05,0.2,0.0,0.05 -0.021124999999999998,0.9,0.05,0.05,0.0,0.02 -0.021124999999999998,0.9,0.05,0.05,0.0,0.03 -0.021124999999999998,0.9,0.05,0.05,0.0,0.04 -0.021124999999999998,0.9,0.05,0.05,0.0,0.05 -0.021124999999999998,0.9,0.05,0.1,0.0,0.02 -0.021124999999999998,0.9,0.05,0.1,0.0,0.03 -0.021124999999999998,0.9,0.05,0.1,0.0,0.04 -0.021124999999999998,0.9,0.05,0.1,0.0,0.05 -0.021124999999999998,0.9,0.05,0.15,0.0,0.02 -0.021124999999999998,0.9,0.05,0.15,0.0,0.03 -0.021124999999999998,0.9,0.05,0.15,0.0,0.04 -0.021124999999999998,0.9,0.05,0.15,0.0,0.05 -0.021124999999999998,0.9,0.05,0.2,0.0,0.02 -0.021124999999999998,0.9,0.05,0.2,0.0,0.03 -0.021124999999999998,0.9,0.05,0.2,0.0,0.04 -0.021124999999999998,0.9,0.05,0.2,0.0,0.05 -0.021124999999999998,1.0,0.05,0.05,0.0,0.02 -0.021124999999999998,1.0,0.05,0.05,0.0,0.03 -0.021124999999999998,1.0,0.05,0.05,0.0,0.04 -0.021124999999999998,1.0,0.05,0.05,0.0,0.05 -0.021124999999999998,1.0,0.05,0.1,0.0,0.02 -0.021124999999999998,1.0,0.05,0.1,0.0,0.03 -0.021124999999999998,1.0,0.05,0.1,0.0,0.04 -0.021124999999999998,1.0,0.05,0.1,0.0,0.05 -0.021124999999999998,1.0,0.05,0.15,0.0,0.02 -0.021124999999999998,1.0,0.05,0.15,0.0,0.03 -0.021124999999999998,1.0,0.05,0.15,0.0,0.04 -0.021124999999999998,1.0,0.05,0.15,0.0,0.05 -0.021124999999999998,1.0,0.05,0.2,0.0,0.02 -0.021124999999999998,1.0,0.05,0.2,0.0,0.03 -0.021124999999999998,1.0,0.05,0.2,0.0,0.04 -0.021124999999999998,1.0,0.05,0.2,0.0,0.05 -0.042249999999999996,0.2,0.05,0.2,0.0,0.02 -0.042249999999999996,0.2,0.05,0.2,0.0,0.03 -0.042249999999999996,0.2,0.05,0.2,0.0,0.04 -0.042249999999999996,0.2,0.05,0.2,0.0,0.05 -0.042249999999999996,0.2,0.1,0.2,0.0,0.02 -0.042249999999999996,0.2,0.1,0.2,0.0,0.03 -0.042249999999999996,0.2,0.1,0.2,0.0,0.04 -0.042249999999999996,0.2,0.1,0.2,0.0,0.05 -0.042249999999999996,0.3,0.05,0.15,0.0,0.02 -0.042249999999999996,0.3,0.05,0.15,0.0,0.03 -0.042249999999999996,0.3,0.05,0.15,0.0,0.04 -0.042249999999999996,0.3,0.05,0.15,0.0,0.05 -0.042249999999999996,0.3,0.05,0.2,0.0,0.02 -0.042249999999999996,0.3,0.05,0.2,0.0,0.03 -0.042249999999999996,0.3,0.05,0.2,0.0,0.04 -0.042249999999999996,0.3,0.05,0.2,0.0,0.05 -0.042249999999999996,0.3,0.1,0.15,0.0,0.02 -0.042249999999999996,0.3,0.1,0.15,0.0,0.03 -0.042249999999999996,0.3,0.1,0.15,0.0,0.04 -0.042249999999999996,0.3,0.1,0.15,0.0,0.05 -0.042249999999999996,0.3,0.1,0.2,0.0,0.02 -0.042249999999999996,0.3,0.1,0.2,0.0,0.03 -0.042249999999999996,0.3,0.1,0.2,0.0,0.04 -0.042249999999999996,0.3,0.1,0.2,0.0,0.05 -0.042249999999999996,0.4,0.05,0.1,0.0,0.02 -0.042249999999999996,0.4,0.05,0.1,0.0,0.03 -0.042249999999999996,0.4,0.05,0.1,0.0,0.04 -0.042249999999999996,0.4,0.05,0.1,0.0,0.05 -0.042249999999999996,0.4,0.05,0.15,0.0,0.02 -0.042249999999999996,0.4,0.05,0.15,0.0,0.03 -0.042249999999999996,0.4,0.05,0.15,0.0,0.04 -0.042249999999999996,0.4,0.05,0.15,0.0,0.05 -0.042249999999999996,0.4,0.05,0.2,0.0,0.02 -0.042249999999999996,0.4,0.05,0.2,0.0,0.03 -0.042249999999999996,0.4,0.05,0.2,0.0,0.04 -0.042249999999999996,0.4,0.05,0.2,0.0,0.05 -0.042249999999999996,0.4,0.1,0.1,0.0,0.02 -0.042249999999999996,0.4,0.1,0.1,0.0,0.03 -0.042249999999999996,0.4,0.1,0.1,0.0,0.04 -0.042249999999999996,0.4,0.1,0.1,0.0,0.05 -0.042249999999999996,0.4,0.1,0.15,0.0,0.02 -0.042249999999999996,0.4,0.1,0.15,0.0,0.03 -0.042249999999999996,0.4,0.1,0.15,0.0,0.04 -0.042249999999999996,0.4,0.1,0.15,0.0,0.05 -0.042249999999999996,0.4,0.1,0.2,0.0,0.02 -0.042249999999999996,0.4,0.1,0.2,0.0,0.03 -0.042249999999999996,0.4,0.1,0.2,0.0,0.04 -0.042249999999999996,0.4,0.1,0.2,0.0,0.05 -0.042249999999999996,0.5,0.05,0.1,0.0,0.02 -0.042249999999999996,0.5,0.05,0.1,0.0,0.03 -0.042249999999999996,0.5,0.05,0.1,0.0,0.04 -0.042249999999999996,0.5,0.05,0.1,0.0,0.05 -0.042249999999999996,0.5,0.05,0.15,0.0,0.02 -0.042249999999999996,0.5,0.05,0.15,0.0,0.03 -0.042249999999999996,0.5,0.05,0.15,0.0,0.04 -0.042249999999999996,0.5,0.05,0.15,0.0,0.05 -0.042249999999999996,0.5,0.05,0.2,0.0,0.02 -0.042249999999999996,0.5,0.05,0.2,0.0,0.03 -0.042249999999999996,0.5,0.05,0.2,0.0,0.04 -0.042249999999999996,0.5,0.05,0.2,0.0,0.05 -0.042249999999999996,0.5,0.1,0.1,0.0,0.02 -0.042249999999999996,0.5,0.1,0.1,0.0,0.03 -0.042249999999999996,0.5,0.1,0.1,0.0,0.04 -0.042249999999999996,0.5,0.1,0.1,0.0,0.05 -0.042249999999999996,0.5,0.1,0.15,0.0,0.02 -0.042249999999999996,0.5,0.1,0.15,0.0,0.03 -0.042249999999999996,0.5,0.1,0.15,0.0,0.04 -0.042249999999999996,0.5,0.1,0.15,0.0,0.05 -0.042249999999999996,0.5,0.1,0.2,0.0,0.02 -0.042249999999999996,0.5,0.1,0.2,0.0,0.03 -0.042249999999999996,0.5,0.1,0.2,0.0,0.04 -0.042249999999999996,0.5,0.1,0.2,0.0,0.05 -0.042249999999999996,0.6,0.05,0.1,0.0,0.02 -0.042249999999999996,0.6,0.05,0.1,0.0,0.03 -0.042249999999999996,0.6,0.05,0.1,0.0,0.04 -0.042249999999999996,0.6,0.05,0.1,0.0,0.05 -0.042249999999999996,0.6,0.05,0.15,0.0,0.02 -0.042249999999999996,0.6,0.05,0.15,0.0,0.03 -0.042249999999999996,0.6,0.05,0.15,0.0,0.04 -0.042249999999999996,0.6,0.05,0.15,0.0,0.05 -0.042249999999999996,0.6,0.05,0.2,0.0,0.02 -0.042249999999999996,0.6,0.05,0.2,0.0,0.03 -0.042249999999999996,0.6,0.05,0.2,0.0,0.04 -0.042249999999999996,0.6,0.05,0.2,0.0,0.05 -0.042249999999999996,0.6,0.1,0.1,0.0,0.02 -0.042249999999999996,0.6,0.1,0.1,0.0,0.03 -0.042249999999999996,0.6,0.1,0.1,0.0,0.04 -0.042249999999999996,0.6,0.1,0.1,0.0,0.05 -0.042249999999999996,0.6,0.1,0.15,0.0,0.02 -0.042249999999999996,0.6,0.1,0.15,0.0,0.03 -0.042249999999999996,0.6,0.1,0.15,0.0,0.04 -0.042249999999999996,0.6,0.1,0.15,0.0,0.05 -0.042249999999999996,0.6,0.1,0.2,0.0,0.02 -0.042249999999999996,0.6,0.1,0.2,0.0,0.03 -0.042249999999999996,0.6,0.1,0.2,0.0,0.04 -0.042249999999999996,0.6,0.1,0.2,0.0,0.05 -0.042249999999999996,0.7,0.05,0.1,0.0,0.02 -0.042249999999999996,0.7,0.05,0.1,0.0,0.03 -0.042249999999999996,0.7,0.05,0.1,0.0,0.04 -0.042249999999999996,0.7,0.05,0.1,0.0,0.05 -0.042249999999999996,0.7,0.05,0.15,0.0,0.02 -0.042249999999999996,0.7,0.05,0.15,0.0,0.03 -0.042249999999999996,0.7,0.05,0.15,0.0,0.04 -0.042249999999999996,0.7,0.05,0.15,0.0,0.05 -0.042249999999999996,0.7,0.05,0.2,0.0,0.02 -0.042249999999999996,0.7,0.05,0.2,0.0,0.03 -0.042249999999999996,0.7,0.05,0.2,0.0,0.04 -0.042249999999999996,0.7,0.05,0.2,0.0,0.05 -0.042249999999999996,0.7,0.1,0.1,0.0,0.02 -0.042249999999999996,0.7,0.1,0.1,0.0,0.03 -0.042249999999999996,0.7,0.1,0.1,0.0,0.04 -0.042249999999999996,0.7,0.1,0.1,0.0,0.05 -0.042249999999999996,0.7,0.1,0.15,0.0,0.02 -0.042249999999999996,0.7,0.1,0.15,0.0,0.03 -0.042249999999999996,0.7,0.1,0.15,0.0,0.04 -0.042249999999999996,0.7,0.1,0.15,0.0,0.05 -0.042249999999999996,0.7,0.1,0.2,0.0,0.02 -0.042249999999999996,0.7,0.1,0.2,0.0,0.03 -0.042249999999999996,0.7,0.1,0.2,0.0,0.04 -0.042249999999999996,0.7,0.1,0.2,0.0,0.05 -0.042249999999999996,0.8,0.05,0.05,0.0,0.02 -0.042249999999999996,0.8,0.05,0.05,0.0,0.03 -0.042249999999999996,0.8,0.05,0.05,0.0,0.04 -0.042249999999999996,0.8,0.05,0.05,0.0,0.05 -0.042249999999999996,0.8,0.05,0.1,0.0,0.02 -0.042249999999999996,0.8,0.05,0.1,0.0,0.03 -0.042249999999999996,0.8,0.05,0.1,0.0,0.04 -0.042249999999999996,0.8,0.05,0.1,0.0,0.05 -0.042249999999999996,0.8,0.05,0.15,0.0,0.02 -0.042249999999999996,0.8,0.05,0.15,0.0,0.03 -0.042249999999999996,0.8,0.05,0.15,0.0,0.04 -0.042249999999999996,0.8,0.05,0.15,0.0,0.05 -0.042249999999999996,0.8,0.05,0.2,0.0,0.02 -0.042249999999999996,0.8,0.05,0.2,0.0,0.03 -0.042249999999999996,0.8,0.05,0.2,0.0,0.04 -0.042249999999999996,0.8,0.05,0.2,0.0,0.05 -0.042249999999999996,0.8,0.1,0.05,0.0,0.02 -0.042249999999999996,0.8,0.1,0.05,0.0,0.03 -0.042249999999999996,0.8,0.1,0.05,0.0,0.04 -0.042249999999999996,0.8,0.1,0.05,0.0,0.05 -0.042249999999999996,0.8,0.1,0.1,0.0,0.02 -0.042249999999999996,0.8,0.1,0.1,0.0,0.03 -0.042249999999999996,0.8,0.1,0.1,0.0,0.04 -0.042249999999999996,0.8,0.1,0.1,0.0,0.05 -0.042249999999999996,0.8,0.1,0.15,0.0,0.02 -0.042249999999999996,0.8,0.1,0.15,0.0,0.03 -0.042249999999999996,0.8,0.1,0.15,0.0,0.04 -0.042249999999999996,0.8,0.1,0.15,0.0,0.05 -0.042249999999999996,0.8,0.1,0.2,0.0,0.02 -0.042249999999999996,0.8,0.1,0.2,0.0,0.03 -0.042249999999999996,0.8,0.1,0.2,0.0,0.04 -0.042249999999999996,0.8,0.1,0.2,0.0,0.05 -0.042249999999999996,0.9,0.05,0.05,0.0,0.02 -0.042249999999999996,0.9,0.05,0.05,0.0,0.03 -0.042249999999999996,0.9,0.05,0.05,0.0,0.04 -0.042249999999999996,0.9,0.05,0.05,0.0,0.05 -0.042249999999999996,0.9,0.05,0.1,0.0,0.02 -0.042249999999999996,0.9,0.05,0.1,0.0,0.03 -0.042249999999999996,0.9,0.05,0.1,0.0,0.04 -0.042249999999999996,0.9,0.05,0.1,0.0,0.05 -0.042249999999999996,0.9,0.05,0.15,0.0,0.02 -0.042249999999999996,0.9,0.05,0.15,0.0,0.03 -0.042249999999999996,0.9,0.05,0.15,0.0,0.04 -0.042249999999999996,0.9,0.05,0.15,0.0,0.05 -0.042249999999999996,0.9,0.05,0.2,0.0,0.02 -0.042249999999999996,0.9,0.05,0.2,0.0,0.03 -0.042249999999999996,0.9,0.05,0.2,0.0,0.04 -0.042249999999999996,0.9,0.05,0.2,0.0,0.05 -0.042249999999999996,0.9,0.1,0.05,0.0,0.02 -0.042249999999999996,0.9,0.1,0.05,0.0,0.03 -0.042249999999999996,0.9,0.1,0.05,0.0,0.04 -0.042249999999999996,0.9,0.1,0.05,0.0,0.05 -0.042249999999999996,0.9,0.1,0.1,0.0,0.02 -0.042249999999999996,0.9,0.1,0.1,0.0,0.03 -0.042249999999999996,0.9,0.1,0.1,0.0,0.04 -0.042249999999999996,0.9,0.1,0.1,0.0,0.05 -0.042249999999999996,0.9,0.1,0.15,0.0,0.02 -0.042249999999999996,0.9,0.1,0.15,0.0,0.03 -0.042249999999999996,0.9,0.1,0.15,0.0,0.04 -0.042249999999999996,0.9,0.1,0.15,0.0,0.05 -0.042249999999999996,0.9,0.1,0.2,0.0,0.02 -0.042249999999999996,0.9,0.1,0.2,0.0,0.03 -0.042249999999999996,0.9,0.1,0.2,0.0,0.04 -0.042249999999999996,0.9,0.1,0.2,0.0,0.05 -0.042249999999999996,1.0,0.05,0.05,0.0,0.02 -0.042249999999999996,1.0,0.05,0.05,0.0,0.03 -0.042249999999999996,1.0,0.05,0.05,0.0,0.04 -0.042249999999999996,1.0,0.05,0.05,0.0,0.05 -0.042249999999999996,1.0,0.05,0.1,0.0,0.02 -0.042249999999999996,1.0,0.05,0.1,0.0,0.03 -0.042249999999999996,1.0,0.05,0.1,0.0,0.04 -0.042249999999999996,1.0,0.05,0.1,0.0,0.05 -0.042249999999999996,1.0,0.05,0.15,0.0,0.02 -0.042249999999999996,1.0,0.05,0.15,0.0,0.03 -0.042249999999999996,1.0,0.05,0.15,0.0,0.04 -0.042249999999999996,1.0,0.05,0.15,0.0,0.05 -0.042249999999999996,1.0,0.05,0.2,0.0,0.02 -0.042249999999999996,1.0,0.05,0.2,0.0,0.03 -0.042249999999999996,1.0,0.05,0.2,0.0,0.04 -0.042249999999999996,1.0,0.05,0.2,0.0,0.05 -0.042249999999999996,1.0,0.1,0.05,0.0,0.02 -0.042249999999999996,1.0,0.1,0.05,0.0,0.03 -0.042249999999999996,1.0,0.1,0.05,0.0,0.04 -0.042249999999999996,1.0,0.1,0.05,0.0,0.05 -0.042249999999999996,1.0,0.1,0.1,0.0,0.02 -0.042249999999999996,1.0,0.1,0.1,0.0,0.03 -0.042249999999999996,1.0,0.1,0.1,0.0,0.04 -0.042249999999999996,1.0,0.1,0.1,0.0,0.05 -0.042249999999999996,1.0,0.1,0.15,0.0,0.02 -0.042249999999999996,1.0,0.1,0.15,0.0,0.03 -0.042249999999999996,1.0,0.1,0.15,0.0,0.04 -0.042249999999999996,1.0,0.1,0.15,0.0,0.05 -0.042249999999999996,1.0,0.1,0.2,0.0,0.02 -0.042249999999999996,1.0,0.1,0.2,0.0,0.03 -0.042249999999999996,1.0,0.1,0.2,0.0,0.04 -0.042249999999999996,1.0,0.1,0.2,0.0,0.05 -0.063375,0.2,0.05,0.2,0.0,0.02 -0.063375,0.2,0.05,0.2,0.0,0.03 -0.063375,0.2,0.05,0.2,0.0,0.04 -0.063375,0.2,0.05,0.2,0.0,0.05 -0.063375,0.2,0.1,0.2,0.0,0.02 -0.063375,0.2,0.1,0.2,0.0,0.03 -0.063375,0.2,0.1,0.2,0.0,0.04 -0.063375,0.2,0.1,0.2,0.0,0.05 -0.063375,0.3,0.05,0.15,0.0,0.02 -0.063375,0.3,0.05,0.15,0.0,0.03 -0.063375,0.3,0.05,0.15,0.0,0.04 -0.063375,0.3,0.05,0.15,0.0,0.05 -0.063375,0.3,0.05,0.2,0.0,0.02 -0.063375,0.3,0.05,0.2,0.0,0.03 -0.063375,0.3,0.05,0.2,0.0,0.04 -0.063375,0.3,0.05,0.2,0.0,0.05 -0.063375,0.3,0.1,0.15,0.0,0.02 -0.063375,0.3,0.1,0.15,0.0,0.03 -0.063375,0.3,0.1,0.15,0.0,0.04 -0.063375,0.3,0.1,0.15,0.0,0.05 -0.063375,0.3,0.1,0.2,0.0,0.02 -0.063375,0.3,0.1,0.2,0.0,0.03 -0.063375,0.3,0.1,0.2,0.0,0.04 -0.063375,0.3,0.1,0.2,0.0,0.05 -0.063375,0.4,0.05,0.1,0.0,0.02 -0.063375,0.4,0.05,0.1,0.0,0.03 -0.063375,0.4,0.05,0.1,0.0,0.04 -0.063375,0.4,0.05,0.1,0.0,0.05 -0.063375,0.4,0.05,0.15,0.0,0.02 -0.063375,0.4,0.05,0.15,0.0,0.03 -0.063375,0.4,0.05,0.15,0.0,0.04 -0.063375,0.4,0.05,0.15,0.0,0.05 -0.063375,0.4,0.05,0.2,0.0,0.02 -0.063375,0.4,0.05,0.2,0.0,0.03 -0.063375,0.4,0.05,0.2,0.0,0.04 -0.063375,0.4,0.05,0.2,0.0,0.05 -0.063375,0.4,0.1,0.1,0.0,0.02 -0.063375,0.4,0.1,0.1,0.0,0.03 -0.063375,0.4,0.1,0.1,0.0,0.04 -0.063375,0.4,0.1,0.1,0.0,0.05 -0.063375,0.4,0.1,0.15,0.0,0.02 -0.063375,0.4,0.1,0.15,0.0,0.03 -0.063375,0.4,0.1,0.15,0.0,0.04 -0.063375,0.4,0.1,0.15,0.0,0.05 -0.063375,0.4,0.1,0.2,0.0,0.02 -0.063375,0.4,0.1,0.2,0.0,0.03 -0.063375,0.4,0.1,0.2,0.0,0.04 -0.063375,0.4,0.1,0.2,0.0,0.05 -0.063375,0.5,0.05,0.1,0.0,0.02 -0.063375,0.5,0.05,0.1,0.0,0.03 -0.063375,0.5,0.05,0.1,0.0,0.04 -0.063375,0.5,0.05,0.1,0.0,0.05 -0.063375,0.5,0.05,0.15,0.0,0.02 -0.063375,0.5,0.05,0.15,0.0,0.03 -0.063375,0.5,0.05,0.15,0.0,0.04 -0.063375,0.5,0.05,0.15,0.0,0.05 -0.063375,0.5,0.05,0.2,0.0,0.02 -0.063375,0.5,0.05,0.2,0.0,0.03 -0.063375,0.5,0.05,0.2,0.0,0.04 -0.063375,0.5,0.05,0.2,0.0,0.05 -0.063375,0.5,0.1,0.1,0.0,0.02 -0.063375,0.5,0.1,0.1,0.0,0.03 -0.063375,0.5,0.1,0.1,0.0,0.04 -0.063375,0.5,0.1,0.1,0.0,0.05 -0.063375,0.5,0.1,0.15,0.0,0.02 -0.063375,0.5,0.1,0.15,0.0,0.03 -0.063375,0.5,0.1,0.15,0.0,0.04 -0.063375,0.5,0.1,0.15,0.0,0.05 -0.063375,0.5,0.1,0.2,0.0,0.02 -0.063375,0.5,0.1,0.2,0.0,0.03 -0.063375,0.5,0.1,0.2,0.0,0.04 -0.063375,0.5,0.1,0.2,0.0,0.05 -0.063375,0.6,0.05,0.1,0.0,0.02 -0.063375,0.6,0.05,0.1,0.0,0.03 -0.063375,0.6,0.05,0.1,0.0,0.04 -0.063375,0.6,0.05,0.1,0.0,0.05 -0.063375,0.6,0.05,0.15,0.0,0.02 -0.063375,0.6,0.05,0.15,0.0,0.03 -0.063375,0.6,0.05,0.15,0.0,0.04 -0.063375,0.6,0.05,0.15,0.0,0.05 -0.063375,0.6,0.05,0.2,0.0,0.02 -0.063375,0.6,0.05,0.2,0.0,0.03 -0.063375,0.6,0.05,0.2,0.0,0.04 -0.063375,0.6,0.05,0.2,0.0,0.05 -0.063375,0.6,0.1,0.1,0.0,0.02 -0.063375,0.6,0.1,0.1,0.0,0.03 -0.063375,0.6,0.1,0.1,0.0,0.04 -0.063375,0.6,0.1,0.1,0.0,0.05 -0.063375,0.6,0.1,0.15,0.0,0.02 -0.063375,0.6,0.1,0.15,0.0,0.03 -0.063375,0.6,0.1,0.15,0.0,0.04 -0.063375,0.6,0.1,0.15,0.0,0.05 -0.063375,0.6,0.1,0.2,0.0,0.02 -0.063375,0.6,0.1,0.2,0.0,0.03 -0.063375,0.6,0.1,0.2,0.0,0.04 -0.063375,0.6,0.1,0.2,0.0,0.05 -0.063375,0.7,0.05,0.1,0.0,0.02 -0.063375,0.7,0.05,0.1,0.0,0.03 -0.063375,0.7,0.05,0.1,0.0,0.04 -0.063375,0.7,0.05,0.1,0.0,0.05 -0.063375,0.7,0.05,0.15,0.0,0.02 -0.063375,0.7,0.05,0.15,0.0,0.03 -0.063375,0.7,0.05,0.15,0.0,0.04 -0.063375,0.7,0.05,0.15,0.0,0.05 -0.063375,0.7,0.05,0.2,0.0,0.02 -0.063375,0.7,0.05,0.2,0.0,0.03 -0.063375,0.7,0.05,0.2,0.0,0.04 -0.063375,0.7,0.05,0.2,0.0,0.05 -0.063375,0.7,0.1,0.1,0.0,0.02 -0.063375,0.7,0.1,0.1,0.0,0.03 -0.063375,0.7,0.1,0.1,0.0,0.04 -0.063375,0.7,0.1,0.1,0.0,0.05 -0.063375,0.7,0.1,0.15,0.0,0.02 -0.063375,0.7,0.1,0.15,0.0,0.03 -0.063375,0.7,0.1,0.15,0.0,0.04 -0.063375,0.7,0.1,0.15,0.0,0.05 -0.063375,0.7,0.1,0.2,0.0,0.02 -0.063375,0.7,0.1,0.2,0.0,0.03 -0.063375,0.7,0.1,0.2,0.0,0.04 -0.063375,0.7,0.1,0.2,0.0,0.05 -0.063375,0.8,0.05,0.05,0.0,0.02 -0.063375,0.8,0.05,0.05,0.0,0.03 -0.063375,0.8,0.05,0.05,0.0,0.04 -0.063375,0.8,0.05,0.05,0.0,0.05 -0.063375,0.8,0.05,0.1,0.0,0.02 -0.063375,0.8,0.05,0.1,0.0,0.03 -0.063375,0.8,0.05,0.1,0.0,0.04 -0.063375,0.8,0.05,0.1,0.0,0.05 -0.063375,0.8,0.05,0.15,0.0,0.02 -0.063375,0.8,0.05,0.15,0.0,0.03 -0.063375,0.8,0.05,0.15,0.0,0.04 -0.063375,0.8,0.05,0.15,0.0,0.05 -0.063375,0.8,0.05,0.2,0.0,0.02 -0.063375,0.8,0.05,0.2,0.0,0.03 -0.063375,0.8,0.05,0.2,0.0,0.04 -0.063375,0.8,0.05,0.2,0.0,0.05 -0.063375,0.8,0.1,0.05,0.0,0.02 -0.063375,0.8,0.1,0.05,0.0,0.03 -0.063375,0.8,0.1,0.05,0.0,0.04 -0.063375,0.8,0.1,0.05,0.0,0.05 -0.063375,0.8,0.1,0.1,0.0,0.02 -0.063375,0.8,0.1,0.1,0.0,0.03 -0.063375,0.8,0.1,0.1,0.0,0.04 -0.063375,0.8,0.1,0.1,0.0,0.05 -0.063375,0.8,0.1,0.15,0.0,0.02 -0.063375,0.8,0.1,0.15,0.0,0.03 -0.063375,0.8,0.1,0.15,0.0,0.04 -0.063375,0.8,0.1,0.15,0.0,0.05 -0.063375,0.8,0.1,0.2,0.0,0.02 -0.063375,0.8,0.1,0.2,0.0,0.03 -0.063375,0.8,0.1,0.2,0.0,0.04 -0.063375,0.8,0.1,0.2,0.0,0.05 -0.063375,0.9,0.05,0.05,0.0,0.02 -0.063375,0.9,0.05,0.05,0.0,0.03 -0.063375,0.9,0.05,0.05,0.0,0.04 -0.063375,0.9,0.05,0.05,0.0,0.05 -0.063375,0.9,0.05,0.1,0.0,0.02 -0.063375,0.9,0.05,0.1,0.0,0.03 -0.063375,0.9,0.05,0.1,0.0,0.04 -0.063375,0.9,0.05,0.1,0.0,0.05 -0.063375,0.9,0.05,0.15,0.0,0.02 -0.063375,0.9,0.05,0.15,0.0,0.03 -0.063375,0.9,0.05,0.15,0.0,0.04 -0.063375,0.9,0.05,0.15,0.0,0.05 -0.063375,0.9,0.05,0.2,0.0,0.02 -0.063375,0.9,0.05,0.2,0.0,0.03 -0.063375,0.9,0.05,0.2,0.0,0.04 -0.063375,0.9,0.05,0.2,0.0,0.05 -0.063375,0.9,0.1,0.05,0.0,0.02 -0.063375,0.9,0.1,0.05,0.0,0.03 -0.063375,0.9,0.1,0.05,0.0,0.04 -0.063375,0.9,0.1,0.05,0.0,0.05 -0.063375,0.9,0.1,0.1,0.0,0.02 -0.063375,0.9,0.1,0.1,0.0,0.03 -0.063375,0.9,0.1,0.1,0.0,0.04 -0.063375,0.9,0.1,0.1,0.0,0.05 -0.063375,0.9,0.1,0.15,0.0,0.02 -0.063375,0.9,0.1,0.15,0.0,0.03 -0.063375,0.9,0.1,0.15,0.0,0.04 -0.063375,0.9,0.1,0.15,0.0,0.05 -0.063375,0.9,0.1,0.2,0.0,0.02 -0.063375,0.9,0.1,0.2,0.0,0.03 -0.063375,0.9,0.1,0.2,0.0,0.04 -0.063375,0.9,0.1,0.2,0.0,0.05 -0.063375,1.0,0.05,0.05,0.0,0.02 -0.063375,1.0,0.05,0.05,0.0,0.03 -0.063375,1.0,0.05,0.05,0.0,0.04 -0.063375,1.0,0.05,0.05,0.0,0.05 -0.063375,1.0,0.05,0.1,0.0,0.02 -0.063375,1.0,0.05,0.1,0.0,0.03 -0.063375,1.0,0.05,0.1,0.0,0.04 -0.063375,1.0,0.05,0.1,0.0,0.05 -0.063375,1.0,0.05,0.15,0.0,0.02 -0.063375,1.0,0.05,0.15,0.0,0.03 -0.063375,1.0,0.05,0.15,0.0,0.04 -0.063375,1.0,0.05,0.15,0.0,0.05 -0.063375,1.0,0.05,0.2,0.0,0.02 -0.063375,1.0,0.05,0.2,0.0,0.03 -0.063375,1.0,0.05,0.2,0.0,0.04 -0.063375,1.0,0.05,0.2,0.0,0.05 -0.063375,1.0,0.1,0.05,0.0,0.02 -0.063375,1.0,0.1,0.05,0.0,0.03 -0.063375,1.0,0.1,0.05,0.0,0.04 -0.063375,1.0,0.1,0.05,0.0,0.05 -0.063375,1.0,0.1,0.1,0.0,0.02 -0.063375,1.0,0.1,0.1,0.0,0.03 -0.063375,1.0,0.1,0.1,0.0,0.04 -0.063375,1.0,0.1,0.1,0.0,0.05 -0.063375,1.0,0.1,0.15,0.0,0.02 -0.063375,1.0,0.1,0.15,0.0,0.03 -0.063375,1.0,0.1,0.15,0.0,0.04 -0.063375,1.0,0.1,0.15,0.0,0.05 -0.063375,1.0,0.1,0.2,0.0,0.02 -0.063375,1.0,0.1,0.2,0.0,0.03 -0.063375,1.0,0.1,0.2,0.0,0.04 -0.063375,1.0,0.1,0.2,0.0,0.05 -0.08449999999999999,0.2,0.05,0.2,0.0,0.02 -0.08449999999999999,0.2,0.05,0.2,0.0,0.03 -0.08449999999999999,0.2,0.05,0.2,0.0,0.04 -0.08449999999999999,0.2,0.05,0.2,0.0,0.05 -0.08449999999999999,0.2,0.1,0.2,0.0,0.02 -0.08449999999999999,0.2,0.1,0.2,0.0,0.03 -0.08449999999999999,0.2,0.1,0.2,0.0,0.04 -0.08449999999999999,0.2,0.1,0.2,0.0,0.05 -0.08449999999999999,0.2,0.15000000000000002,0.2,0.0,0.02 -0.08449999999999999,0.2,0.15000000000000002,0.2,0.0,0.03 -0.08449999999999999,0.2,0.15000000000000002,0.2,0.0,0.04 -0.08449999999999999,0.2,0.15000000000000002,0.2,0.0,0.05 -0.08449999999999999,0.3,0.05,0.15,0.0,0.02 -0.08449999999999999,0.3,0.05,0.15,0.0,0.03 -0.08449999999999999,0.3,0.05,0.15,0.0,0.04 -0.08449999999999999,0.3,0.05,0.15,0.0,0.05 -0.08449999999999999,0.3,0.05,0.2,0.0,0.02 -0.08449999999999999,0.3,0.05,0.2,0.0,0.03 -0.08449999999999999,0.3,0.05,0.2,0.0,0.04 -0.08449999999999999,0.3,0.05,0.2,0.0,0.05 -0.08449999999999999,0.3,0.1,0.15,0.0,0.02 -0.08449999999999999,0.3,0.1,0.15,0.0,0.03 -0.08449999999999999,0.3,0.1,0.15,0.0,0.04 -0.08449999999999999,0.3,0.1,0.15,0.0,0.05 -0.08449999999999999,0.3,0.1,0.2,0.0,0.02 -0.08449999999999999,0.3,0.1,0.2,0.0,0.03 -0.08449999999999999,0.3,0.1,0.2,0.0,0.04 -0.08449999999999999,0.3,0.1,0.2,0.0,0.05 -0.08449999999999999,0.3,0.15000000000000002,0.15,0.0,0.02 -0.08449999999999999,0.3,0.15000000000000002,0.15,0.0,0.03 -0.08449999999999999,0.3,0.15000000000000002,0.15,0.0,0.04 -0.08449999999999999,0.3,0.15000000000000002,0.15,0.0,0.05 -0.08449999999999999,0.3,0.15000000000000002,0.2,0.0,0.02 -0.08449999999999999,0.3,0.15000000000000002,0.2,0.0,0.03 -0.08449999999999999,0.3,0.15000000000000002,0.2,0.0,0.04 -0.08449999999999999,0.3,0.15000000000000002,0.2,0.0,0.05 -0.08449999999999999,0.4,0.05,0.1,0.0,0.02 -0.08449999999999999,0.4,0.05,0.1,0.0,0.03 -0.08449999999999999,0.4,0.05,0.1,0.0,0.04 -0.08449999999999999,0.4,0.05,0.1,0.0,0.05 -0.08449999999999999,0.4,0.05,0.15,0.0,0.02 -0.08449999999999999,0.4,0.05,0.15,0.0,0.03 -0.08449999999999999,0.4,0.05,0.15,0.0,0.04 -0.08449999999999999,0.4,0.05,0.15,0.0,0.05 -0.08449999999999999,0.4,0.05,0.2,0.0,0.02 -0.08449999999999999,0.4,0.05,0.2,0.0,0.03 -0.08449999999999999,0.4,0.05,0.2,0.0,0.04 -0.08449999999999999,0.4,0.05,0.2,0.0,0.05 -0.08449999999999999,0.4,0.1,0.1,0.0,0.02 -0.08449999999999999,0.4,0.1,0.1,0.0,0.03 -0.08449999999999999,0.4,0.1,0.1,0.0,0.04 -0.08449999999999999,0.4,0.1,0.1,0.0,0.05 -0.08449999999999999,0.4,0.1,0.15,0.0,0.02 -0.08449999999999999,0.4,0.1,0.15,0.0,0.03 -0.08449999999999999,0.4,0.1,0.15,0.0,0.04 -0.08449999999999999,0.4,0.1,0.15,0.0,0.05 -0.08449999999999999,0.4,0.1,0.2,0.0,0.02 -0.08449999999999999,0.4,0.1,0.2,0.0,0.03 -0.08449999999999999,0.4,0.1,0.2,0.0,0.04 -0.08449999999999999,0.4,0.1,0.2,0.0,0.05 -0.08449999999999999,0.4,0.15000000000000002,0.1,0.0,0.02 -0.08449999999999999,0.4,0.15000000000000002,0.1,0.0,0.03 -0.08449999999999999,0.4,0.15000000000000002,0.1,0.0,0.04 -0.08449999999999999,0.4,0.15000000000000002,0.1,0.0,0.05 -0.08449999999999999,0.4,0.15000000000000002,0.15,0.0,0.02 -0.08449999999999999,0.4,0.15000000000000002,0.15,0.0,0.03 -0.08449999999999999,0.4,0.15000000000000002,0.15,0.0,0.04 -0.08449999999999999,0.4,0.15000000000000002,0.15,0.0,0.05 -0.08449999999999999,0.4,0.15000000000000002,0.2,0.0,0.02 -0.08449999999999999,0.4,0.15000000000000002,0.2,0.0,0.03 -0.08449999999999999,0.4,0.15000000000000002,0.2,0.0,0.04 -0.08449999999999999,0.4,0.15000000000000002,0.2,0.0,0.05 -0.08449999999999999,0.5,0.05,0.1,0.0,0.02 -0.08449999999999999,0.5,0.05,0.1,0.0,0.03 -0.08449999999999999,0.5,0.05,0.1,0.0,0.04 -0.08449999999999999,0.5,0.05,0.1,0.0,0.05 -0.08449999999999999,0.5,0.05,0.15,0.0,0.02 -0.08449999999999999,0.5,0.05,0.15,0.0,0.03 -0.08449999999999999,0.5,0.05,0.15,0.0,0.04 -0.08449999999999999,0.5,0.05,0.15,0.0,0.05 -0.08449999999999999,0.5,0.05,0.2,0.0,0.02 -0.08449999999999999,0.5,0.05,0.2,0.0,0.03 -0.08449999999999999,0.5,0.05,0.2,0.0,0.04 -0.08449999999999999,0.5,0.05,0.2,0.0,0.05 -0.08449999999999999,0.5,0.1,0.1,0.0,0.02 -0.08449999999999999,0.5,0.1,0.1,0.0,0.03 -0.08449999999999999,0.5,0.1,0.1,0.0,0.04 -0.08449999999999999,0.5,0.1,0.1,0.0,0.05 -0.08449999999999999,0.5,0.1,0.15,0.0,0.02 -0.08449999999999999,0.5,0.1,0.15,0.0,0.03 -0.08449999999999999,0.5,0.1,0.15,0.0,0.04 -0.08449999999999999,0.5,0.1,0.15,0.0,0.05 -0.08449999999999999,0.5,0.1,0.2,0.0,0.02 -0.08449999999999999,0.5,0.1,0.2,0.0,0.03 -0.08449999999999999,0.5,0.1,0.2,0.0,0.04 -0.08449999999999999,0.5,0.1,0.2,0.0,0.05 -0.08449999999999999,0.5,0.15000000000000002,0.1,0.0,0.02 -0.08449999999999999,0.5,0.15000000000000002,0.1,0.0,0.03 -0.08449999999999999,0.5,0.15000000000000002,0.1,0.0,0.04 -0.08449999999999999,0.5,0.15000000000000002,0.1,0.0,0.05 -0.08449999999999999,0.5,0.15000000000000002,0.15,0.0,0.02 -0.08449999999999999,0.5,0.15000000000000002,0.15,0.0,0.03 -0.08449999999999999,0.5,0.15000000000000002,0.15,0.0,0.04 -0.08449999999999999,0.5,0.15000000000000002,0.15,0.0,0.05 -0.08449999999999999,0.5,0.15000000000000002,0.2,0.0,0.02 -0.08449999999999999,0.5,0.15000000000000002,0.2,0.0,0.03 -0.08449999999999999,0.5,0.15000000000000002,0.2,0.0,0.04 -0.08449999999999999,0.5,0.15000000000000002,0.2,0.0,0.05 -0.08449999999999999,0.6,0.05,0.1,0.0,0.02 -0.08449999999999999,0.6,0.05,0.1,0.0,0.03 -0.08449999999999999,0.6,0.05,0.1,0.0,0.04 -0.08449999999999999,0.6,0.05,0.1,0.0,0.05 -0.08449999999999999,0.6,0.05,0.15,0.0,0.02 -0.08449999999999999,0.6,0.05,0.15,0.0,0.03 -0.08449999999999999,0.6,0.05,0.15,0.0,0.04 -0.08449999999999999,0.6,0.05,0.15,0.0,0.05 -0.08449999999999999,0.6,0.05,0.2,0.0,0.02 -0.08449999999999999,0.6,0.05,0.2,0.0,0.03 -0.08449999999999999,0.6,0.05,0.2,0.0,0.04 -0.08449999999999999,0.6,0.05,0.2,0.0,0.05 -0.08449999999999999,0.6,0.1,0.1,0.0,0.02 -0.08449999999999999,0.6,0.1,0.1,0.0,0.03 -0.08449999999999999,0.6,0.1,0.1,0.0,0.04 -0.08449999999999999,0.6,0.1,0.1,0.0,0.05 -0.08449999999999999,0.6,0.1,0.15,0.0,0.02 -0.08449999999999999,0.6,0.1,0.15,0.0,0.03 -0.08449999999999999,0.6,0.1,0.15,0.0,0.04 -0.08449999999999999,0.6,0.1,0.15,0.0,0.05 -0.08449999999999999,0.6,0.1,0.2,0.0,0.02 -0.08449999999999999,0.6,0.1,0.2,0.0,0.03 -0.08449999999999999,0.6,0.1,0.2,0.0,0.04 -0.08449999999999999,0.6,0.1,0.2,0.0,0.05 -0.08449999999999999,0.6,0.15000000000000002,0.1,0.0,0.02 -0.08449999999999999,0.6,0.15000000000000002,0.1,0.0,0.03 -0.08449999999999999,0.6,0.15000000000000002,0.1,0.0,0.04 -0.08449999999999999,0.6,0.15000000000000002,0.1,0.0,0.05 -0.08449999999999999,0.6,0.15000000000000002,0.15,0.0,0.02 -0.08449999999999999,0.6,0.15000000000000002,0.15,0.0,0.03 -0.08449999999999999,0.6,0.15000000000000002,0.15,0.0,0.04 -0.08449999999999999,0.6,0.15000000000000002,0.15,0.0,0.05 -0.08449999999999999,0.6,0.15000000000000002,0.2,0.0,0.02 -0.08449999999999999,0.6,0.15000000000000002,0.2,0.0,0.03 -0.08449999999999999,0.6,0.15000000000000002,0.2,0.0,0.04 -0.08449999999999999,0.6,0.15000000000000002,0.2,0.0,0.05 -0.08449999999999999,0.7,0.05,0.1,0.0,0.02 -0.08449999999999999,0.7,0.05,0.1,0.0,0.03 -0.08449999999999999,0.7,0.05,0.1,0.0,0.04 -0.08449999999999999,0.7,0.05,0.1,0.0,0.05 -0.08449999999999999,0.7,0.05,0.15,0.0,0.02 -0.08449999999999999,0.7,0.05,0.15,0.0,0.03 -0.08449999999999999,0.7,0.05,0.15,0.0,0.04 -0.08449999999999999,0.7,0.05,0.15,0.0,0.05 -0.08449999999999999,0.7,0.05,0.2,0.0,0.02 -0.08449999999999999,0.7,0.05,0.2,0.0,0.03 -0.08449999999999999,0.7,0.05,0.2,0.0,0.04 -0.08449999999999999,0.7,0.05,0.2,0.0,0.05 -0.08449999999999999,0.7,0.1,0.1,0.0,0.02 -0.08449999999999999,0.7,0.1,0.1,0.0,0.03 -0.08449999999999999,0.7,0.1,0.1,0.0,0.04 -0.08449999999999999,0.7,0.1,0.1,0.0,0.05 -0.08449999999999999,0.7,0.1,0.15,0.0,0.02 -0.08449999999999999,0.7,0.1,0.15,0.0,0.03 -0.08449999999999999,0.7,0.1,0.15,0.0,0.04 -0.08449999999999999,0.7,0.1,0.15,0.0,0.05 -0.08449999999999999,0.7,0.1,0.2,0.0,0.02 -0.08449999999999999,0.7,0.1,0.2,0.0,0.03 -0.08449999999999999,0.7,0.1,0.2,0.0,0.04 -0.08449999999999999,0.7,0.1,0.2,0.0,0.05 -0.08449999999999999,0.7,0.15000000000000002,0.1,0.0,0.02 -0.08449999999999999,0.7,0.15000000000000002,0.1,0.0,0.03 -0.08449999999999999,0.7,0.15000000000000002,0.1,0.0,0.04 -0.08449999999999999,0.7,0.15000000000000002,0.1,0.0,0.05 -0.08449999999999999,0.7,0.15000000000000002,0.15,0.0,0.02 -0.08449999999999999,0.7,0.15000000000000002,0.15,0.0,0.03 -0.08449999999999999,0.7,0.15000000000000002,0.15,0.0,0.04 -0.08449999999999999,0.7,0.15000000000000002,0.15,0.0,0.05 -0.08449999999999999,0.7,0.15000000000000002,0.2,0.0,0.02 -0.08449999999999999,0.7,0.15000000000000002,0.2,0.0,0.03 -0.08449999999999999,0.7,0.15000000000000002,0.2,0.0,0.04 -0.08449999999999999,0.7,0.15000000000000002,0.2,0.0,0.05 -0.08449999999999999,0.8,0.05,0.05,0.0,0.02 -0.08449999999999999,0.8,0.05,0.05,0.0,0.03 -0.08449999999999999,0.8,0.05,0.05,0.0,0.04 -0.08449999999999999,0.8,0.05,0.05,0.0,0.05 -0.08449999999999999,0.8,0.05,0.1,0.0,0.02 -0.08449999999999999,0.8,0.05,0.1,0.0,0.03 -0.08449999999999999,0.8,0.05,0.1,0.0,0.04 -0.08449999999999999,0.8,0.05,0.1,0.0,0.05 -0.08449999999999999,0.8,0.05,0.15,0.0,0.02 -0.08449999999999999,0.8,0.05,0.15,0.0,0.03 -0.08449999999999999,0.8,0.05,0.15,0.0,0.04 -0.08449999999999999,0.8,0.05,0.15,0.0,0.05 -0.08449999999999999,0.8,0.05,0.2,0.0,0.02 -0.08449999999999999,0.8,0.05,0.2,0.0,0.03 -0.08449999999999999,0.8,0.05,0.2,0.0,0.04 -0.08449999999999999,0.8,0.05,0.2,0.0,0.05 -0.08449999999999999,0.8,0.1,0.05,0.0,0.02 -0.08449999999999999,0.8,0.1,0.05,0.0,0.03 -0.08449999999999999,0.8,0.1,0.05,0.0,0.04 -0.08449999999999999,0.8,0.1,0.05,0.0,0.05 -0.08449999999999999,0.8,0.1,0.1,0.0,0.02 -0.08449999999999999,0.8,0.1,0.1,0.0,0.03 -0.08449999999999999,0.8,0.1,0.1,0.0,0.04 -0.08449999999999999,0.8,0.1,0.1,0.0,0.05 -0.08449999999999999,0.8,0.1,0.15,0.0,0.02 -0.08449999999999999,0.8,0.1,0.15,0.0,0.03 -0.08449999999999999,0.8,0.1,0.15,0.0,0.04 -0.08449999999999999,0.8,0.1,0.15,0.0,0.05 -0.08449999999999999,0.8,0.1,0.2,0.0,0.02 -0.08449999999999999,0.8,0.1,0.2,0.0,0.03 -0.08449999999999999,0.8,0.1,0.2,0.0,0.04 -0.08449999999999999,0.8,0.1,0.2,0.0,0.05 -0.08449999999999999,0.8,0.15000000000000002,0.05,0.0,0.02 -0.08449999999999999,0.8,0.15000000000000002,0.05,0.0,0.03 -0.08449999999999999,0.8,0.15000000000000002,0.05,0.0,0.04 -0.08449999999999999,0.8,0.15000000000000002,0.05,0.0,0.05 -0.08449999999999999,0.8,0.15000000000000002,0.1,0.0,0.02 -0.08449999999999999,0.8,0.15000000000000002,0.1,0.0,0.03 -0.08449999999999999,0.8,0.15000000000000002,0.1,0.0,0.04 -0.08449999999999999,0.8,0.15000000000000002,0.1,0.0,0.05 -0.08449999999999999,0.8,0.15000000000000002,0.15,0.0,0.02 -0.08449999999999999,0.8,0.15000000000000002,0.15,0.0,0.03 -0.08449999999999999,0.8,0.15000000000000002,0.15,0.0,0.04 -0.08449999999999999,0.8,0.15000000000000002,0.15,0.0,0.05 -0.08449999999999999,0.8,0.15000000000000002,0.2,0.0,0.02 -0.08449999999999999,0.8,0.15000000000000002,0.2,0.0,0.03 -0.08449999999999999,0.8,0.15000000000000002,0.2,0.0,0.04 -0.08449999999999999,0.8,0.15000000000000002,0.2,0.0,0.05 -0.08449999999999999,0.9,0.05,0.05,0.0,0.02 -0.08449999999999999,0.9,0.05,0.05,0.0,0.03 -0.08449999999999999,0.9,0.05,0.05,0.0,0.04 -0.08449999999999999,0.9,0.05,0.05,0.0,0.05 -0.08449999999999999,0.9,0.05,0.1,0.0,0.02 -0.08449999999999999,0.9,0.05,0.1,0.0,0.03 -0.08449999999999999,0.9,0.05,0.1,0.0,0.04 -0.08449999999999999,0.9,0.05,0.1,0.0,0.05 -0.08449999999999999,0.9,0.05,0.15,0.0,0.02 -0.08449999999999999,0.9,0.05,0.15,0.0,0.03 -0.08449999999999999,0.9,0.05,0.15,0.0,0.04 -0.08449999999999999,0.9,0.05,0.15,0.0,0.05 -0.08449999999999999,0.9,0.05,0.2,0.0,0.02 -0.08449999999999999,0.9,0.05,0.2,0.0,0.03 -0.08449999999999999,0.9,0.05,0.2,0.0,0.04 -0.08449999999999999,0.9,0.05,0.2,0.0,0.05 -0.08449999999999999,0.9,0.1,0.05,0.0,0.02 -0.08449999999999999,0.9,0.1,0.05,0.0,0.03 -0.08449999999999999,0.9,0.1,0.05,0.0,0.04 -0.08449999999999999,0.9,0.1,0.05,0.0,0.05 -0.08449999999999999,0.9,0.1,0.1,0.0,0.02 -0.08449999999999999,0.9,0.1,0.1,0.0,0.03 -0.08449999999999999,0.9,0.1,0.1,0.0,0.04 -0.08449999999999999,0.9,0.1,0.1,0.0,0.05 -0.08449999999999999,0.9,0.1,0.15,0.0,0.02 -0.08449999999999999,0.9,0.1,0.15,0.0,0.03 -0.08449999999999999,0.9,0.1,0.15,0.0,0.04 -0.08449999999999999,0.9,0.1,0.15,0.0,0.05 -0.08449999999999999,0.9,0.1,0.2,0.0,0.02 -0.08449999999999999,0.9,0.1,0.2,0.0,0.03 -0.08449999999999999,0.9,0.1,0.2,0.0,0.04 -0.08449999999999999,0.9,0.1,0.2,0.0,0.05 -0.08449999999999999,0.9,0.15000000000000002,0.05,0.0,0.02 -0.08449999999999999,0.9,0.15000000000000002,0.05,0.0,0.03 -0.08449999999999999,0.9,0.15000000000000002,0.05,0.0,0.04 -0.08449999999999999,0.9,0.15000000000000002,0.05,0.0,0.05 -0.08449999999999999,0.9,0.15000000000000002,0.1,0.0,0.02 -0.08449999999999999,0.9,0.15000000000000002,0.1,0.0,0.03 -0.08449999999999999,0.9,0.15000000000000002,0.1,0.0,0.04 -0.08449999999999999,0.9,0.15000000000000002,0.1,0.0,0.05 -0.08449999999999999,0.9,0.15000000000000002,0.15,0.0,0.02 -0.08449999999999999,0.9,0.15000000000000002,0.15,0.0,0.03 -0.08449999999999999,0.9,0.15000000000000002,0.15,0.0,0.04 -0.08449999999999999,0.9,0.15000000000000002,0.15,0.0,0.05 -0.08449999999999999,0.9,0.15000000000000002,0.2,0.0,0.02 -0.08449999999999999,0.9,0.15000000000000002,0.2,0.0,0.03 -0.08449999999999999,0.9,0.15000000000000002,0.2,0.0,0.04 -0.08449999999999999,0.9,0.15000000000000002,0.2,0.0,0.05 -0.08449999999999999,1.0,0.05,0.05,0.0,0.02 -0.08449999999999999,1.0,0.05,0.05,0.0,0.03 -0.08449999999999999,1.0,0.05,0.05,0.0,0.04 -0.08449999999999999,1.0,0.05,0.05,0.0,0.05 -0.08449999999999999,1.0,0.05,0.1,0.0,0.02 -0.08449999999999999,1.0,0.05,0.1,0.0,0.03 -0.08449999999999999,1.0,0.05,0.1,0.0,0.04 -0.08449999999999999,1.0,0.05,0.1,0.0,0.05 -0.08449999999999999,1.0,0.05,0.15,0.0,0.02 -0.08449999999999999,1.0,0.05,0.15,0.0,0.03 -0.08449999999999999,1.0,0.05,0.15,0.0,0.04 -0.08449999999999999,1.0,0.05,0.15,0.0,0.05 -0.08449999999999999,1.0,0.05,0.2,0.0,0.02 -0.08449999999999999,1.0,0.05,0.2,0.0,0.03 -0.08449999999999999,1.0,0.05,0.2,0.0,0.04 -0.08449999999999999,1.0,0.05,0.2,0.0,0.05 -0.08449999999999999,1.0,0.1,0.05,0.0,0.02 -0.08449999999999999,1.0,0.1,0.05,0.0,0.03 -0.08449999999999999,1.0,0.1,0.05,0.0,0.04 -0.08449999999999999,1.0,0.1,0.05,0.0,0.05 -0.08449999999999999,1.0,0.1,0.1,0.0,0.02 -0.08449999999999999,1.0,0.1,0.1,0.0,0.03 -0.08449999999999999,1.0,0.1,0.1,0.0,0.04 -0.08449999999999999,1.0,0.1,0.1,0.0,0.05 -0.08449999999999999,1.0,0.1,0.15,0.0,0.02 -0.08449999999999999,1.0,0.1,0.15,0.0,0.03 -0.08449999999999999,1.0,0.1,0.15,0.0,0.04 -0.08449999999999999,1.0,0.1,0.15,0.0,0.05 -0.08449999999999999,1.0,0.1,0.2,0.0,0.02 -0.08449999999999999,1.0,0.1,0.2,0.0,0.03 -0.08449999999999999,1.0,0.1,0.2,0.0,0.04 -0.08449999999999999,1.0,0.1,0.2,0.0,0.05 -0.08449999999999999,1.0,0.15000000000000002,0.05,0.0,0.02 -0.08449999999999999,1.0,0.15000000000000002,0.05,0.0,0.03 -0.08449999999999999,1.0,0.15000000000000002,0.05,0.0,0.04 -0.08449999999999999,1.0,0.15000000000000002,0.05,0.0,0.05 -0.08449999999999999,1.0,0.15000000000000002,0.1,0.0,0.02 -0.08449999999999999,1.0,0.15000000000000002,0.1,0.0,0.03 -0.08449999999999999,1.0,0.15000000000000002,0.1,0.0,0.04 -0.08449999999999999,1.0,0.15000000000000002,0.1,0.0,0.05 -0.08449999999999999,1.0,0.15000000000000002,0.15,0.0,0.02 -0.08449999999999999,1.0,0.15000000000000002,0.15,0.0,0.03 -0.08449999999999999,1.0,0.15000000000000002,0.15,0.0,0.04 -0.08449999999999999,1.0,0.15000000000000002,0.15,0.0,0.05 -0.08449999999999999,1.0,0.15000000000000002,0.2,0.0,0.02 -0.08449999999999999,1.0,0.15000000000000002,0.2,0.0,0.03 -0.08449999999999999,1.0,0.15000000000000002,0.2,0.0,0.04 -0.08449999999999999,1.0,0.15000000000000002,0.2,0.0,0.05 -0.105625,0.2,0.05,0.2,0.0,0.02 -0.105625,0.2,0.05,0.2,0.0,0.03 -0.105625,0.2,0.05,0.2,0.0,0.04 -0.105625,0.2,0.05,0.2,0.0,0.05 -0.105625,0.2,0.1,0.2,0.0,0.02 -0.105625,0.2,0.1,0.2,0.0,0.03 -0.105625,0.2,0.1,0.2,0.0,0.04 -0.105625,0.2,0.1,0.2,0.0,0.05 -0.105625,0.2,0.15000000000000002,0.2,0.0,0.02 -0.105625,0.2,0.15000000000000002,0.2,0.0,0.03 -0.105625,0.2,0.15000000000000002,0.2,0.0,0.04 -0.105625,0.2,0.15000000000000002,0.2,0.0,0.05 -0.105625,0.3,0.05,0.15,0.0,0.02 -0.105625,0.3,0.05,0.15,0.0,0.03 -0.105625,0.3,0.05,0.15,0.0,0.04 -0.105625,0.3,0.05,0.15,0.0,0.05 -0.105625,0.3,0.05,0.2,0.0,0.02 -0.105625,0.3,0.05,0.2,0.0,0.03 -0.105625,0.3,0.05,0.2,0.0,0.04 -0.105625,0.3,0.05,0.2,0.0,0.05 -0.105625,0.3,0.1,0.15,0.0,0.02 -0.105625,0.3,0.1,0.15,0.0,0.03 -0.105625,0.3,0.1,0.15,0.0,0.04 -0.105625,0.3,0.1,0.15,0.0,0.05 -0.105625,0.3,0.1,0.2,0.0,0.02 -0.105625,0.3,0.1,0.2,0.0,0.03 -0.105625,0.3,0.1,0.2,0.0,0.04 -0.105625,0.3,0.1,0.2,0.0,0.05 -0.105625,0.3,0.15000000000000002,0.15,0.0,0.02 -0.105625,0.3,0.15000000000000002,0.15,0.0,0.03 -0.105625,0.3,0.15000000000000002,0.15,0.0,0.04 -0.105625,0.3,0.15000000000000002,0.15,0.0,0.05 -0.105625,0.3,0.15000000000000002,0.2,0.0,0.02 -0.105625,0.3,0.15000000000000002,0.2,0.0,0.03 -0.105625,0.3,0.15000000000000002,0.2,0.0,0.04 -0.105625,0.3,0.15000000000000002,0.2,0.0,0.05 -0.105625,0.4,0.05,0.1,0.0,0.02 -0.105625,0.4,0.05,0.1,0.0,0.03 -0.105625,0.4,0.05,0.1,0.0,0.04 -0.105625,0.4,0.05,0.1,0.0,0.05 -0.105625,0.4,0.05,0.15,0.0,0.02 -0.105625,0.4,0.05,0.15,0.0,0.03 -0.105625,0.4,0.05,0.15,0.0,0.04 -0.105625,0.4,0.05,0.15,0.0,0.05 -0.105625,0.4,0.05,0.2,0.0,0.02 -0.105625,0.4,0.05,0.2,0.0,0.03 -0.105625,0.4,0.05,0.2,0.0,0.04 -0.105625,0.4,0.05,0.2,0.0,0.05 -0.105625,0.4,0.1,0.1,0.0,0.02 -0.105625,0.4,0.1,0.1,0.0,0.03 -0.105625,0.4,0.1,0.1,0.0,0.04 -0.105625,0.4,0.1,0.1,0.0,0.05 -0.105625,0.4,0.1,0.15,0.0,0.02 -0.105625,0.4,0.1,0.15,0.0,0.03 -0.105625,0.4,0.1,0.15,0.0,0.04 -0.105625,0.4,0.1,0.15,0.0,0.05 -0.105625,0.4,0.1,0.2,0.0,0.02 -0.105625,0.4,0.1,0.2,0.0,0.03 -0.105625,0.4,0.1,0.2,0.0,0.04 -0.105625,0.4,0.1,0.2,0.0,0.05 -0.105625,0.4,0.15000000000000002,0.1,0.0,0.02 -0.105625,0.4,0.15000000000000002,0.1,0.0,0.03 -0.105625,0.4,0.15000000000000002,0.1,0.0,0.04 -0.105625,0.4,0.15000000000000002,0.1,0.0,0.05 -0.105625,0.4,0.15000000000000002,0.15,0.0,0.02 -0.105625,0.4,0.15000000000000002,0.15,0.0,0.03 -0.105625,0.4,0.15000000000000002,0.15,0.0,0.04 -0.105625,0.4,0.15000000000000002,0.15,0.0,0.05 -0.105625,0.4,0.15000000000000002,0.2,0.0,0.02 -0.105625,0.4,0.15000000000000002,0.2,0.0,0.03 -0.105625,0.4,0.15000000000000002,0.2,0.0,0.04 -0.105625,0.4,0.15000000000000002,0.2,0.0,0.05 -0.105625,0.5,0.05,0.1,0.0,0.02 -0.105625,0.5,0.05,0.1,0.0,0.03 -0.105625,0.5,0.05,0.1,0.0,0.04 -0.105625,0.5,0.05,0.1,0.0,0.05 -0.105625,0.5,0.05,0.15,0.0,0.02 -0.105625,0.5,0.05,0.15,0.0,0.03 -0.105625,0.5,0.05,0.15,0.0,0.04 -0.105625,0.5,0.05,0.15,0.0,0.05 -0.105625,0.5,0.05,0.2,0.0,0.02 -0.105625,0.5,0.05,0.2,0.0,0.03 -0.105625,0.5,0.05,0.2,0.0,0.04 -0.105625,0.5,0.05,0.2,0.0,0.05 -0.105625,0.5,0.1,0.1,0.0,0.02 -0.105625,0.5,0.1,0.1,0.0,0.03 -0.105625,0.5,0.1,0.1,0.0,0.04 -0.105625,0.5,0.1,0.1,0.0,0.05 -0.105625,0.5,0.1,0.15,0.0,0.02 -0.105625,0.5,0.1,0.15,0.0,0.03 -0.105625,0.5,0.1,0.15,0.0,0.04 -0.105625,0.5,0.1,0.15,0.0,0.05 -0.105625,0.5,0.1,0.2,0.0,0.02 -0.105625,0.5,0.1,0.2,0.0,0.03 -0.105625,0.5,0.1,0.2,0.0,0.04 -0.105625,0.5,0.1,0.2,0.0,0.05 -0.105625,0.5,0.15000000000000002,0.1,0.0,0.02 -0.105625,0.5,0.15000000000000002,0.1,0.0,0.03 -0.105625,0.5,0.15000000000000002,0.1,0.0,0.04 -0.105625,0.5,0.15000000000000002,0.1,0.0,0.05 -0.105625,0.5,0.15000000000000002,0.15,0.0,0.02 -0.105625,0.5,0.15000000000000002,0.15,0.0,0.03 -0.105625,0.5,0.15000000000000002,0.15,0.0,0.04 -0.105625,0.5,0.15000000000000002,0.15,0.0,0.05 -0.105625,0.5,0.15000000000000002,0.2,0.0,0.02 -0.105625,0.5,0.15000000000000002,0.2,0.0,0.03 -0.105625,0.5,0.15000000000000002,0.2,0.0,0.04 -0.105625,0.5,0.15000000000000002,0.2,0.0,0.05 -0.105625,0.6,0.05,0.1,0.0,0.02 -0.105625,0.6,0.05,0.1,0.0,0.03 -0.105625,0.6,0.05,0.1,0.0,0.04 -0.105625,0.6,0.05,0.1,0.0,0.05 -0.105625,0.6,0.05,0.15,0.0,0.02 -0.105625,0.6,0.05,0.15,0.0,0.03 -0.105625,0.6,0.05,0.15,0.0,0.04 -0.105625,0.6,0.05,0.15,0.0,0.05 -0.105625,0.6,0.05,0.2,0.0,0.02 -0.105625,0.6,0.05,0.2,0.0,0.03 -0.105625,0.6,0.05,0.2,0.0,0.04 -0.105625,0.6,0.05,0.2,0.0,0.05 -0.105625,0.6,0.1,0.1,0.0,0.02 -0.105625,0.6,0.1,0.1,0.0,0.03 -0.105625,0.6,0.1,0.1,0.0,0.04 -0.105625,0.6,0.1,0.1,0.0,0.05 -0.105625,0.6,0.1,0.15,0.0,0.02 -0.105625,0.6,0.1,0.15,0.0,0.03 -0.105625,0.6,0.1,0.15,0.0,0.04 -0.105625,0.6,0.1,0.15,0.0,0.05 -0.105625,0.6,0.1,0.2,0.0,0.02 -0.105625,0.6,0.1,0.2,0.0,0.03 -0.105625,0.6,0.1,0.2,0.0,0.04 -0.105625,0.6,0.1,0.2,0.0,0.05 -0.105625,0.6,0.15000000000000002,0.1,0.0,0.02 -0.105625,0.6,0.15000000000000002,0.1,0.0,0.03 -0.105625,0.6,0.15000000000000002,0.1,0.0,0.04 -0.105625,0.6,0.15000000000000002,0.1,0.0,0.05 -0.105625,0.6,0.15000000000000002,0.15,0.0,0.02 -0.105625,0.6,0.15000000000000002,0.15,0.0,0.03 -0.105625,0.6,0.15000000000000002,0.15,0.0,0.04 -0.105625,0.6,0.15000000000000002,0.15,0.0,0.05 -0.105625,0.6,0.15000000000000002,0.2,0.0,0.02 -0.105625,0.6,0.15000000000000002,0.2,0.0,0.03 -0.105625,0.6,0.15000000000000002,0.2,0.0,0.04 -0.105625,0.6,0.15000000000000002,0.2,0.0,0.05 -0.105625,0.7,0.05,0.1,0.0,0.02 -0.105625,0.7,0.05,0.1,0.0,0.03 -0.105625,0.7,0.05,0.1,0.0,0.04 -0.105625,0.7,0.05,0.1,0.0,0.05 -0.105625,0.7,0.05,0.15,0.0,0.02 -0.105625,0.7,0.05,0.15,0.0,0.03 -0.105625,0.7,0.05,0.15,0.0,0.04 -0.105625,0.7,0.05,0.15,0.0,0.05 -0.105625,0.7,0.05,0.2,0.0,0.02 -0.105625,0.7,0.05,0.2,0.0,0.03 -0.105625,0.7,0.05,0.2,0.0,0.04 -0.105625,0.7,0.05,0.2,0.0,0.05 -0.105625,0.7,0.1,0.1,0.0,0.02 -0.105625,0.7,0.1,0.1,0.0,0.03 -0.105625,0.7,0.1,0.1,0.0,0.04 -0.105625,0.7,0.1,0.1,0.0,0.05 -0.105625,0.7,0.1,0.15,0.0,0.02 -0.105625,0.7,0.1,0.15,0.0,0.03 -0.105625,0.7,0.1,0.15,0.0,0.04 -0.105625,0.7,0.1,0.15,0.0,0.05 -0.105625,0.7,0.1,0.2,0.0,0.02 -0.105625,0.7,0.1,0.2,0.0,0.03 -0.105625,0.7,0.1,0.2,0.0,0.04 -0.105625,0.7,0.1,0.2,0.0,0.05 -0.105625,0.7,0.15000000000000002,0.1,0.0,0.02 -0.105625,0.7,0.15000000000000002,0.1,0.0,0.03 -0.105625,0.7,0.15000000000000002,0.1,0.0,0.04 -0.105625,0.7,0.15000000000000002,0.1,0.0,0.05 -0.105625,0.7,0.15000000000000002,0.15,0.0,0.02 -0.105625,0.7,0.15000000000000002,0.15,0.0,0.03 -0.105625,0.7,0.15000000000000002,0.15,0.0,0.04 -0.105625,0.7,0.15000000000000002,0.15,0.0,0.05 -0.105625,0.7,0.15000000000000002,0.2,0.0,0.02 -0.105625,0.7,0.15000000000000002,0.2,0.0,0.03 -0.105625,0.7,0.15000000000000002,0.2,0.0,0.04 -0.105625,0.7,0.15000000000000002,0.2,0.0,0.05 -0.105625,0.8,0.05,0.05,0.0,0.02 -0.105625,0.8,0.05,0.05,0.0,0.03 -0.105625,0.8,0.05,0.05,0.0,0.04 -0.105625,0.8,0.05,0.05,0.0,0.05 -0.105625,0.8,0.05,0.1,0.0,0.02 -0.105625,0.8,0.05,0.1,0.0,0.03 -0.105625,0.8,0.05,0.1,0.0,0.04 -0.105625,0.8,0.05,0.1,0.0,0.05 -0.105625,0.8,0.05,0.15,0.0,0.02 -0.105625,0.8,0.05,0.15,0.0,0.03 -0.105625,0.8,0.05,0.15,0.0,0.04 -0.105625,0.8,0.05,0.15,0.0,0.05 -0.105625,0.8,0.05,0.2,0.0,0.02 -0.105625,0.8,0.05,0.2,0.0,0.03 -0.105625,0.8,0.05,0.2,0.0,0.04 -0.105625,0.8,0.05,0.2,0.0,0.05 -0.105625,0.8,0.1,0.05,0.0,0.02 -0.105625,0.8,0.1,0.05,0.0,0.03 -0.105625,0.8,0.1,0.05,0.0,0.04 -0.105625,0.8,0.1,0.05,0.0,0.05 -0.105625,0.8,0.1,0.1,0.0,0.02 -0.105625,0.8,0.1,0.1,0.0,0.03 -0.105625,0.8,0.1,0.1,0.0,0.04 -0.105625,0.8,0.1,0.1,0.0,0.05 -0.105625,0.8,0.1,0.15,0.0,0.02 -0.105625,0.8,0.1,0.15,0.0,0.03 -0.105625,0.8,0.1,0.15,0.0,0.04 -0.105625,0.8,0.1,0.15,0.0,0.05 -0.105625,0.8,0.1,0.2,0.0,0.02 -0.105625,0.8,0.1,0.2,0.0,0.03 -0.105625,0.8,0.1,0.2,0.0,0.04 -0.105625,0.8,0.1,0.2,0.0,0.05 -0.105625,0.8,0.15000000000000002,0.05,0.0,0.02 -0.105625,0.8,0.15000000000000002,0.05,0.0,0.03 -0.105625,0.8,0.15000000000000002,0.05,0.0,0.04 -0.105625,0.8,0.15000000000000002,0.05,0.0,0.05 -0.105625,0.8,0.15000000000000002,0.1,0.0,0.02 -0.105625,0.8,0.15000000000000002,0.1,0.0,0.03 -0.105625,0.8,0.15000000000000002,0.1,0.0,0.04 -0.105625,0.8,0.15000000000000002,0.1,0.0,0.05 -0.105625,0.8,0.15000000000000002,0.15,0.0,0.02 -0.105625,0.8,0.15000000000000002,0.15,0.0,0.03 -0.105625,0.8,0.15000000000000002,0.15,0.0,0.04 -0.105625,0.8,0.15000000000000002,0.15,0.0,0.05 -0.105625,0.8,0.15000000000000002,0.2,0.0,0.02 -0.105625,0.8,0.15000000000000002,0.2,0.0,0.03 -0.105625,0.8,0.15000000000000002,0.2,0.0,0.04 -0.105625,0.8,0.15000000000000002,0.2,0.0,0.05 -0.105625,0.9,0.05,0.05,0.0,0.02 -0.105625,0.9,0.05,0.05,0.0,0.03 -0.105625,0.9,0.05,0.05,0.0,0.04 -0.105625,0.9,0.05,0.05,0.0,0.05 -0.105625,0.9,0.05,0.1,0.0,0.02 -0.105625,0.9,0.05,0.1,0.0,0.03 -0.105625,0.9,0.05,0.1,0.0,0.04 -0.105625,0.9,0.05,0.1,0.0,0.05 -0.105625,0.9,0.05,0.15,0.0,0.02 -0.105625,0.9,0.05,0.15,0.0,0.03 -0.105625,0.9,0.05,0.15,0.0,0.04 -0.105625,0.9,0.05,0.15,0.0,0.05 -0.105625,0.9,0.05,0.2,0.0,0.02 -0.105625,0.9,0.05,0.2,0.0,0.03 -0.105625,0.9,0.05,0.2,0.0,0.04 -0.105625,0.9,0.05,0.2,0.0,0.05 -0.105625,0.9,0.1,0.05,0.0,0.02 -0.105625,0.9,0.1,0.05,0.0,0.03 -0.105625,0.9,0.1,0.05,0.0,0.04 -0.105625,0.9,0.1,0.05,0.0,0.05 -0.105625,0.9,0.1,0.1,0.0,0.02 -0.105625,0.9,0.1,0.1,0.0,0.03 -0.105625,0.9,0.1,0.1,0.0,0.04 -0.105625,0.9,0.1,0.1,0.0,0.05 -0.105625,0.9,0.1,0.15,0.0,0.02 -0.105625,0.9,0.1,0.15,0.0,0.03 -0.105625,0.9,0.1,0.15,0.0,0.04 -0.105625,0.9,0.1,0.15,0.0,0.05 -0.105625,0.9,0.1,0.2,0.0,0.02 -0.105625,0.9,0.1,0.2,0.0,0.03 -0.105625,0.9,0.1,0.2,0.0,0.04 -0.105625,0.9,0.1,0.2,0.0,0.05 -0.105625,0.9,0.15000000000000002,0.05,0.0,0.02 -0.105625,0.9,0.15000000000000002,0.05,0.0,0.03 -0.105625,0.9,0.15000000000000002,0.05,0.0,0.04 -0.105625,0.9,0.15000000000000002,0.05,0.0,0.05 -0.105625,0.9,0.15000000000000002,0.1,0.0,0.02 -0.105625,0.9,0.15000000000000002,0.1,0.0,0.03 -0.105625,0.9,0.15000000000000002,0.1,0.0,0.04 -0.105625,0.9,0.15000000000000002,0.1,0.0,0.05 -0.105625,0.9,0.15000000000000002,0.15,0.0,0.02 -0.105625,0.9,0.15000000000000002,0.15,0.0,0.03 -0.105625,0.9,0.15000000000000002,0.15,0.0,0.04 -0.105625,0.9,0.15000000000000002,0.15,0.0,0.05 -0.105625,0.9,0.15000000000000002,0.2,0.0,0.02 -0.105625,0.9,0.15000000000000002,0.2,0.0,0.03 -0.105625,0.9,0.15000000000000002,0.2,0.0,0.04 -0.105625,0.9,0.15000000000000002,0.2,0.0,0.05 -0.105625,1.0,0.05,0.05,0.0,0.02 -0.105625,1.0,0.05,0.05,0.0,0.03 -0.105625,1.0,0.05,0.05,0.0,0.04 -0.105625,1.0,0.05,0.05,0.0,0.05 -0.105625,1.0,0.05,0.1,0.0,0.02 -0.105625,1.0,0.05,0.1,0.0,0.03 -0.105625,1.0,0.05,0.1,0.0,0.04 -0.105625,1.0,0.05,0.1,0.0,0.05 -0.105625,1.0,0.05,0.15,0.0,0.02 -0.105625,1.0,0.05,0.15,0.0,0.03 -0.105625,1.0,0.05,0.15,0.0,0.04 -0.105625,1.0,0.05,0.15,0.0,0.05 -0.105625,1.0,0.05,0.2,0.0,0.02 -0.105625,1.0,0.05,0.2,0.0,0.03 -0.105625,1.0,0.05,0.2,0.0,0.04 -0.105625,1.0,0.05,0.2,0.0,0.05 -0.105625,1.0,0.1,0.05,0.0,0.02 -0.105625,1.0,0.1,0.05,0.0,0.03 -0.105625,1.0,0.1,0.05,0.0,0.04 -0.105625,1.0,0.1,0.05,0.0,0.05 -0.105625,1.0,0.1,0.1,0.0,0.02 -0.105625,1.0,0.1,0.1,0.0,0.03 -0.105625,1.0,0.1,0.1,0.0,0.04 -0.105625,1.0,0.1,0.1,0.0,0.05 -0.105625,1.0,0.1,0.15,0.0,0.02 -0.105625,1.0,0.1,0.15,0.0,0.03 -0.105625,1.0,0.1,0.15,0.0,0.04 -0.105625,1.0,0.1,0.15,0.0,0.05 -0.105625,1.0,0.1,0.2,0.0,0.02 -0.105625,1.0,0.1,0.2,0.0,0.03 -0.105625,1.0,0.1,0.2,0.0,0.04 -0.105625,1.0,0.1,0.2,0.0,0.05 -0.105625,1.0,0.15000000000000002,0.05,0.0,0.02 -0.105625,1.0,0.15000000000000002,0.05,0.0,0.03 -0.105625,1.0,0.15000000000000002,0.05,0.0,0.04 -0.105625,1.0,0.15000000000000002,0.05,0.0,0.05 -0.105625,1.0,0.15000000000000002,0.1,0.0,0.02 -0.105625,1.0,0.15000000000000002,0.1,0.0,0.03 -0.105625,1.0,0.15000000000000002,0.1,0.0,0.04 -0.105625,1.0,0.15000000000000002,0.1,0.0,0.05 -0.105625,1.0,0.15000000000000002,0.15,0.0,0.02 -0.105625,1.0,0.15000000000000002,0.15,0.0,0.03 -0.105625,1.0,0.15000000000000002,0.15,0.0,0.04 -0.105625,1.0,0.15000000000000002,0.15,0.0,0.05 -0.105625,1.0,0.15000000000000002,0.2,0.0,0.02 -0.105625,1.0,0.15000000000000002,0.2,0.0,0.03 -0.105625,1.0,0.15000000000000002,0.2,0.0,0.04 -0.105625,1.0,0.15000000000000002,0.2,0.0,0.05 -0.12675,0.2,0.05,0.2,0.0,0.02 -0.12675,0.2,0.05,0.2,0.0,0.03 -0.12675,0.2,0.05,0.2,0.0,0.04 -0.12675,0.2,0.05,0.2,0.0,0.05 -0.12675,0.2,0.1,0.2,0.0,0.02 -0.12675,0.2,0.1,0.2,0.0,0.03 -0.12675,0.2,0.1,0.2,0.0,0.04 -0.12675,0.2,0.1,0.2,0.0,0.05 -0.12675,0.2,0.15000000000000002,0.2,0.0,0.02 -0.12675,0.2,0.15000000000000002,0.2,0.0,0.03 -0.12675,0.2,0.15000000000000002,0.2,0.0,0.04 -0.12675,0.2,0.15000000000000002,0.2,0.0,0.05 -0.12675,0.3,0.05,0.15,0.0,0.02 -0.12675,0.3,0.05,0.15,0.0,0.03 -0.12675,0.3,0.05,0.15,0.0,0.04 -0.12675,0.3,0.05,0.15,0.0,0.05 -0.12675,0.3,0.05,0.2,0.0,0.02 -0.12675,0.3,0.05,0.2,0.0,0.03 -0.12675,0.3,0.05,0.2,0.0,0.04 -0.12675,0.3,0.05,0.2,0.0,0.05 -0.12675,0.3,0.1,0.15,0.0,0.02 -0.12675,0.3,0.1,0.15,0.0,0.03 -0.12675,0.3,0.1,0.15,0.0,0.04 -0.12675,0.3,0.1,0.15,0.0,0.05 -0.12675,0.3,0.1,0.2,0.0,0.02 -0.12675,0.3,0.1,0.2,0.0,0.03 -0.12675,0.3,0.1,0.2,0.0,0.04 -0.12675,0.3,0.1,0.2,0.0,0.05 -0.12675,0.3,0.15000000000000002,0.15,0.0,0.02 -0.12675,0.3,0.15000000000000002,0.15,0.0,0.03 -0.12675,0.3,0.15000000000000002,0.15,0.0,0.04 -0.12675,0.3,0.15000000000000002,0.15,0.0,0.05 -0.12675,0.3,0.15000000000000002,0.2,0.0,0.02 -0.12675,0.3,0.15000000000000002,0.2,0.0,0.03 -0.12675,0.3,0.15000000000000002,0.2,0.0,0.04 -0.12675,0.3,0.15000000000000002,0.2,0.0,0.05 -0.12675,0.4,0.05,0.1,0.0,0.02 -0.12675,0.4,0.05,0.1,0.0,0.03 -0.12675,0.4,0.05,0.1,0.0,0.04 -0.12675,0.4,0.05,0.1,0.0,0.05 -0.12675,0.4,0.05,0.15,0.0,0.02 -0.12675,0.4,0.05,0.15,0.0,0.03 -0.12675,0.4,0.05,0.15,0.0,0.04 -0.12675,0.4,0.05,0.15,0.0,0.05 -0.12675,0.4,0.05,0.2,0.0,0.02 -0.12675,0.4,0.05,0.2,0.0,0.03 -0.12675,0.4,0.05,0.2,0.0,0.04 -0.12675,0.4,0.05,0.2,0.0,0.05 -0.12675,0.4,0.1,0.1,0.0,0.02 -0.12675,0.4,0.1,0.1,0.0,0.03 -0.12675,0.4,0.1,0.1,0.0,0.04 -0.12675,0.4,0.1,0.1,0.0,0.05 -0.12675,0.4,0.1,0.15,0.0,0.02 -0.12675,0.4,0.1,0.15,0.0,0.03 -0.12675,0.4,0.1,0.15,0.0,0.04 -0.12675,0.4,0.1,0.15,0.0,0.05 -0.12675,0.4,0.1,0.2,0.0,0.02 -0.12675,0.4,0.1,0.2,0.0,0.03 -0.12675,0.4,0.1,0.2,0.0,0.04 -0.12675,0.4,0.1,0.2,0.0,0.05 -0.12675,0.4,0.15000000000000002,0.1,0.0,0.02 -0.12675,0.4,0.15000000000000002,0.1,0.0,0.03 -0.12675,0.4,0.15000000000000002,0.1,0.0,0.04 -0.12675,0.4,0.15000000000000002,0.1,0.0,0.05 -0.12675,0.4,0.15000000000000002,0.15,0.0,0.02 -0.12675,0.4,0.15000000000000002,0.15,0.0,0.03 -0.12675,0.4,0.15000000000000002,0.15,0.0,0.04 -0.12675,0.4,0.15000000000000002,0.15,0.0,0.05 -0.12675,0.4,0.15000000000000002,0.2,0.0,0.02 -0.12675,0.4,0.15000000000000002,0.2,0.0,0.03 -0.12675,0.4,0.15000000000000002,0.2,0.0,0.04 -0.12675,0.4,0.15000000000000002,0.2,0.0,0.05 -0.12675,0.5,0.05,0.1,0.0,0.02 -0.12675,0.5,0.05,0.1,0.0,0.03 -0.12675,0.5,0.05,0.1,0.0,0.04 -0.12675,0.5,0.05,0.1,0.0,0.05 -0.12675,0.5,0.05,0.15,0.0,0.02 -0.12675,0.5,0.05,0.15,0.0,0.03 -0.12675,0.5,0.05,0.15,0.0,0.04 -0.12675,0.5,0.05,0.15,0.0,0.05 -0.12675,0.5,0.05,0.2,0.0,0.02 -0.12675,0.5,0.05,0.2,0.0,0.03 -0.12675,0.5,0.05,0.2,0.0,0.04 -0.12675,0.5,0.05,0.2,0.0,0.05 -0.12675,0.5,0.1,0.1,0.0,0.02 -0.12675,0.5,0.1,0.1,0.0,0.03 -0.12675,0.5,0.1,0.1,0.0,0.04 -0.12675,0.5,0.1,0.1,0.0,0.05 -0.12675,0.5,0.1,0.15,0.0,0.02 -0.12675,0.5,0.1,0.15,0.0,0.03 -0.12675,0.5,0.1,0.15,0.0,0.04 -0.12675,0.5,0.1,0.15,0.0,0.05 -0.12675,0.5,0.1,0.2,0.0,0.02 -0.12675,0.5,0.1,0.2,0.0,0.03 -0.12675,0.5,0.1,0.2,0.0,0.04 -0.12675,0.5,0.1,0.2,0.0,0.05 -0.12675,0.5,0.15000000000000002,0.1,0.0,0.02 -0.12675,0.5,0.15000000000000002,0.1,0.0,0.03 -0.12675,0.5,0.15000000000000002,0.1,0.0,0.04 -0.12675,0.5,0.15000000000000002,0.1,0.0,0.05 -0.12675,0.5,0.15000000000000002,0.15,0.0,0.02 -0.12675,0.5,0.15000000000000002,0.15,0.0,0.03 -0.12675,0.5,0.15000000000000002,0.15,0.0,0.04 -0.12675,0.5,0.15000000000000002,0.15,0.0,0.05 -0.12675,0.5,0.15000000000000002,0.2,0.0,0.02 -0.12675,0.5,0.15000000000000002,0.2,0.0,0.03 -0.12675,0.5,0.15000000000000002,0.2,0.0,0.04 -0.12675,0.5,0.15000000000000002,0.2,0.0,0.05 -0.12675,0.6,0.05,0.1,0.0,0.02 -0.12675,0.6,0.05,0.1,0.0,0.03 -0.12675,0.6,0.05,0.1,0.0,0.04 -0.12675,0.6,0.05,0.1,0.0,0.05 -0.12675,0.6,0.05,0.15,0.0,0.02 -0.12675,0.6,0.05,0.15,0.0,0.03 -0.12675,0.6,0.05,0.15,0.0,0.04 -0.12675,0.6,0.05,0.15,0.0,0.05 -0.12675,0.6,0.05,0.2,0.0,0.02 -0.12675,0.6,0.05,0.2,0.0,0.03 -0.12675,0.6,0.05,0.2,0.0,0.04 -0.12675,0.6,0.05,0.2,0.0,0.05 -0.12675,0.6,0.1,0.1,0.0,0.02 -0.12675,0.6,0.1,0.1,0.0,0.03 -0.12675,0.6,0.1,0.1,0.0,0.04 -0.12675,0.6,0.1,0.1,0.0,0.05 -0.12675,0.6,0.1,0.15,0.0,0.02 -0.12675,0.6,0.1,0.15,0.0,0.03 -0.12675,0.6,0.1,0.15,0.0,0.04 -0.12675,0.6,0.1,0.15,0.0,0.05 -0.12675,0.6,0.1,0.2,0.0,0.02 -0.12675,0.6,0.1,0.2,0.0,0.03 -0.12675,0.6,0.1,0.2,0.0,0.04 -0.12675,0.6,0.1,0.2,0.0,0.05 -0.12675,0.6,0.15000000000000002,0.1,0.0,0.02 -0.12675,0.6,0.15000000000000002,0.1,0.0,0.03 -0.12675,0.6,0.15000000000000002,0.1,0.0,0.04 -0.12675,0.6,0.15000000000000002,0.1,0.0,0.05 -0.12675,0.6,0.15000000000000002,0.15,0.0,0.02 -0.12675,0.6,0.15000000000000002,0.15,0.0,0.03 -0.12675,0.6,0.15000000000000002,0.15,0.0,0.04 -0.12675,0.6,0.15000000000000002,0.15,0.0,0.05 -0.12675,0.6,0.15000000000000002,0.2,0.0,0.02 -0.12675,0.6,0.15000000000000002,0.2,0.0,0.03 -0.12675,0.6,0.15000000000000002,0.2,0.0,0.04 -0.12675,0.6,0.15000000000000002,0.2,0.0,0.05 -0.12675,0.7,0.05,0.1,0.0,0.02 -0.12675,0.7,0.05,0.1,0.0,0.03 -0.12675,0.7,0.05,0.1,0.0,0.04 -0.12675,0.7,0.05,0.1,0.0,0.05 -0.12675,0.7,0.05,0.15,0.0,0.02 -0.12675,0.7,0.05,0.15,0.0,0.03 -0.12675,0.7,0.05,0.15,0.0,0.04 -0.12675,0.7,0.05,0.15,0.0,0.05 -0.12675,0.7,0.05,0.2,0.0,0.02 -0.12675,0.7,0.05,0.2,0.0,0.03 -0.12675,0.7,0.05,0.2,0.0,0.04 -0.12675,0.7,0.05,0.2,0.0,0.05 -0.12675,0.7,0.1,0.1,0.0,0.02 -0.12675,0.7,0.1,0.1,0.0,0.03 -0.12675,0.7,0.1,0.1,0.0,0.04 -0.12675,0.7,0.1,0.1,0.0,0.05 -0.12675,0.7,0.1,0.15,0.0,0.02 -0.12675,0.7,0.1,0.15,0.0,0.03 -0.12675,0.7,0.1,0.15,0.0,0.04 -0.12675,0.7,0.1,0.15,0.0,0.05 -0.12675,0.7,0.1,0.2,0.0,0.02 -0.12675,0.7,0.1,0.2,0.0,0.03 -0.12675,0.7,0.1,0.2,0.0,0.04 -0.12675,0.7,0.1,0.2,0.0,0.05 -0.12675,0.7,0.15000000000000002,0.1,0.0,0.02 -0.12675,0.7,0.15000000000000002,0.1,0.0,0.03 -0.12675,0.7,0.15000000000000002,0.1,0.0,0.04 -0.12675,0.7,0.15000000000000002,0.1,0.0,0.05 -0.12675,0.7,0.15000000000000002,0.15,0.0,0.02 -0.12675,0.7,0.15000000000000002,0.15,0.0,0.03 -0.12675,0.7,0.15000000000000002,0.15,0.0,0.04 -0.12675,0.7,0.15000000000000002,0.15,0.0,0.05 -0.12675,0.7,0.15000000000000002,0.2,0.0,0.02 -0.12675,0.7,0.15000000000000002,0.2,0.0,0.03 -0.12675,0.7,0.15000000000000002,0.2,0.0,0.04 -0.12675,0.7,0.15000000000000002,0.2,0.0,0.05 -0.12675,0.8,0.05,0.05,0.0,0.02 -0.12675,0.8,0.05,0.05,0.0,0.03 -0.12675,0.8,0.05,0.05,0.0,0.04 -0.12675,0.8,0.05,0.05,0.0,0.05 -0.12675,0.8,0.05,0.1,0.0,0.02 -0.12675,0.8,0.05,0.1,0.0,0.03 -0.12675,0.8,0.05,0.1,0.0,0.04 -0.12675,0.8,0.05,0.1,0.0,0.05 -0.12675,0.8,0.05,0.15,0.0,0.02 -0.12675,0.8,0.05,0.15,0.0,0.03 -0.12675,0.8,0.05,0.15,0.0,0.04 -0.12675,0.8,0.05,0.15,0.0,0.05 -0.12675,0.8,0.05,0.2,0.0,0.02 -0.12675,0.8,0.05,0.2,0.0,0.03 -0.12675,0.8,0.05,0.2,0.0,0.04 -0.12675,0.8,0.05,0.2,0.0,0.05 -0.12675,0.8,0.1,0.05,0.0,0.02 -0.12675,0.8,0.1,0.05,0.0,0.03 -0.12675,0.8,0.1,0.05,0.0,0.04 -0.12675,0.8,0.1,0.05,0.0,0.05 -0.12675,0.8,0.1,0.1,0.0,0.02 -0.12675,0.8,0.1,0.1,0.0,0.03 -0.12675,0.8,0.1,0.1,0.0,0.04 -0.12675,0.8,0.1,0.1,0.0,0.05 -0.12675,0.8,0.1,0.15,0.0,0.02 -0.12675,0.8,0.1,0.15,0.0,0.03 -0.12675,0.8,0.1,0.15,0.0,0.04 -0.12675,0.8,0.1,0.15,0.0,0.05 -0.12675,0.8,0.1,0.2,0.0,0.02 -0.12675,0.8,0.1,0.2,0.0,0.03 -0.12675,0.8,0.1,0.2,0.0,0.04 -0.12675,0.8,0.1,0.2,0.0,0.05 -0.12675,0.8,0.15000000000000002,0.05,0.0,0.02 -0.12675,0.8,0.15000000000000002,0.05,0.0,0.03 -0.12675,0.8,0.15000000000000002,0.05,0.0,0.04 -0.12675,0.8,0.15000000000000002,0.05,0.0,0.05 -0.12675,0.8,0.15000000000000002,0.1,0.0,0.02 -0.12675,0.8,0.15000000000000002,0.1,0.0,0.03 -0.12675,0.8,0.15000000000000002,0.1,0.0,0.04 -0.12675,0.8,0.15000000000000002,0.1,0.0,0.05 -0.12675,0.8,0.15000000000000002,0.15,0.0,0.02 -0.12675,0.8,0.15000000000000002,0.15,0.0,0.03 -0.12675,0.8,0.15000000000000002,0.15,0.0,0.04 -0.12675,0.8,0.15000000000000002,0.15,0.0,0.05 -0.12675,0.8,0.15000000000000002,0.2,0.0,0.02 -0.12675,0.8,0.15000000000000002,0.2,0.0,0.03 -0.12675,0.8,0.15000000000000002,0.2,0.0,0.04 -0.12675,0.8,0.15000000000000002,0.2,0.0,0.05 -0.12675,0.9,0.05,0.05,0.0,0.02 -0.12675,0.9,0.05,0.05,0.0,0.03 -0.12675,0.9,0.05,0.05,0.0,0.04 -0.12675,0.9,0.05,0.05,0.0,0.05 -0.12675,0.9,0.05,0.1,0.0,0.02 -0.12675,0.9,0.05,0.1,0.0,0.03 -0.12675,0.9,0.05,0.1,0.0,0.04 -0.12675,0.9,0.05,0.1,0.0,0.05 -0.12675,0.9,0.05,0.15,0.0,0.02 -0.12675,0.9,0.05,0.15,0.0,0.03 -0.12675,0.9,0.05,0.15,0.0,0.04 -0.12675,0.9,0.05,0.15,0.0,0.05 -0.12675,0.9,0.05,0.2,0.0,0.02 -0.12675,0.9,0.05,0.2,0.0,0.03 -0.12675,0.9,0.05,0.2,0.0,0.04 -0.12675,0.9,0.05,0.2,0.0,0.05 -0.12675,0.9,0.1,0.05,0.0,0.02 -0.12675,0.9,0.1,0.05,0.0,0.03 -0.12675,0.9,0.1,0.05,0.0,0.04 -0.12675,0.9,0.1,0.05,0.0,0.05 -0.12675,0.9,0.1,0.1,0.0,0.02 -0.12675,0.9,0.1,0.1,0.0,0.03 -0.12675,0.9,0.1,0.1,0.0,0.04 -0.12675,0.9,0.1,0.1,0.0,0.05 -0.12675,0.9,0.1,0.15,0.0,0.02 -0.12675,0.9,0.1,0.15,0.0,0.03 -0.12675,0.9,0.1,0.15,0.0,0.04 -0.12675,0.9,0.1,0.15,0.0,0.05 -0.12675,0.9,0.1,0.2,0.0,0.02 -0.12675,0.9,0.1,0.2,0.0,0.03 -0.12675,0.9,0.1,0.2,0.0,0.04 -0.12675,0.9,0.1,0.2,0.0,0.05 -0.12675,0.9,0.15000000000000002,0.05,0.0,0.02 -0.12675,0.9,0.15000000000000002,0.05,0.0,0.03 -0.12675,0.9,0.15000000000000002,0.05,0.0,0.04 -0.12675,0.9,0.15000000000000002,0.05,0.0,0.05 -0.12675,0.9,0.15000000000000002,0.1,0.0,0.02 -0.12675,0.9,0.15000000000000002,0.1,0.0,0.03 -0.12675,0.9,0.15000000000000002,0.1,0.0,0.04 -0.12675,0.9,0.15000000000000002,0.1,0.0,0.05 -0.12675,0.9,0.15000000000000002,0.15,0.0,0.02 -0.12675,0.9,0.15000000000000002,0.15,0.0,0.03 -0.12675,0.9,0.15000000000000002,0.15,0.0,0.04 -0.12675,0.9,0.15000000000000002,0.15,0.0,0.05 -0.12675,0.9,0.15000000000000002,0.2,0.0,0.02 -0.12675,0.9,0.15000000000000002,0.2,0.0,0.03 -0.12675,0.9,0.15000000000000002,0.2,0.0,0.04 -0.12675,0.9,0.15000000000000002,0.2,0.0,0.05 -0.12675,1.0,0.05,0.05,0.0,0.02 -0.12675,1.0,0.05,0.05,0.0,0.03 -0.12675,1.0,0.05,0.05,0.0,0.04 -0.12675,1.0,0.05,0.05,0.0,0.05 -0.12675,1.0,0.05,0.1,0.0,0.02 -0.12675,1.0,0.05,0.1,0.0,0.03 -0.12675,1.0,0.05,0.1,0.0,0.04 -0.12675,1.0,0.05,0.1,0.0,0.05 -0.12675,1.0,0.05,0.15,0.0,0.02 -0.12675,1.0,0.05,0.15,0.0,0.03 -0.12675,1.0,0.05,0.15,0.0,0.04 -0.12675,1.0,0.05,0.15,0.0,0.05 -0.12675,1.0,0.05,0.2,0.0,0.02 -0.12675,1.0,0.05,0.2,0.0,0.03 -0.12675,1.0,0.05,0.2,0.0,0.04 -0.12675,1.0,0.05,0.2,0.0,0.05 -0.12675,1.0,0.1,0.05,0.0,0.02 -0.12675,1.0,0.1,0.05,0.0,0.03 -0.12675,1.0,0.1,0.05,0.0,0.04 -0.12675,1.0,0.1,0.05,0.0,0.05 -0.12675,1.0,0.1,0.1,0.0,0.02 -0.12675,1.0,0.1,0.1,0.0,0.03 -0.12675,1.0,0.1,0.1,0.0,0.04 -0.12675,1.0,0.1,0.1,0.0,0.05 -0.12675,1.0,0.1,0.15,0.0,0.02 -0.12675,1.0,0.1,0.15,0.0,0.03 -0.12675,1.0,0.1,0.15,0.0,0.04 -0.12675,1.0,0.1,0.15,0.0,0.05 -0.12675,1.0,0.1,0.2,0.0,0.02 -0.12675,1.0,0.1,0.2,0.0,0.03 -0.12675,1.0,0.1,0.2,0.0,0.04 -0.12675,1.0,0.1,0.2,0.0,0.05 -0.12675,1.0,0.15000000000000002,0.05,0.0,0.02 -0.12675,1.0,0.15000000000000002,0.05,0.0,0.03 -0.12675,1.0,0.15000000000000002,0.05,0.0,0.04 -0.12675,1.0,0.15000000000000002,0.05,0.0,0.05 -0.12675,1.0,0.15000000000000002,0.1,0.0,0.02 -0.12675,1.0,0.15000000000000002,0.1,0.0,0.03 -0.12675,1.0,0.15000000000000002,0.1,0.0,0.04 -0.12675,1.0,0.15000000000000002,0.1,0.0,0.05 -0.12675,1.0,0.15000000000000002,0.15,0.0,0.02 -0.12675,1.0,0.15000000000000002,0.15,0.0,0.03 -0.12675,1.0,0.15000000000000002,0.15,0.0,0.04 -0.12675,1.0,0.15000000000000002,0.15,0.0,0.05 -0.12675,1.0,0.15000000000000002,0.2,0.0,0.02 -0.12675,1.0,0.15000000000000002,0.2,0.0,0.03 -0.12675,1.0,0.15000000000000002,0.2,0.0,0.04 -0.12675,1.0,0.15000000000000002,0.2,0.0,0.05 diff --git a/docs/Project.toml b/docs/Project.toml index 0c80a06e6..2602ff5d4 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,6 +1,7 @@ [deps] CDDLib = "3391f64e-dcde-5f30-b752-e11513730f60" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" +Dionysos = "d92c97cf-b87d-42c1-a9c0-25df00b4d958" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" GLPK = "60bf3e95-4087-53dc-ae20-288a0d20c6a6" diff --git a/docs/src/reference/System.md b/docs/src/reference/System.md index 879ab300f..91c19bf5d 100644 --- a/docs/src/reference/System.md +++ b/docs/src/reference/System.md @@ -27,7 +27,7 @@ Dionysos.System.ConstantController Dionysos.System.AffineController ``` -## SHOULD BE REMOVED +## Trajectories ```@docs Dionysos.Control.DiscreteTrajectory Dionysos.Control.ContinuousTrajectory diff --git a/docs/src/reference/Utils.md b/docs/src/reference/Utils.md index a16c9c24a..bf3ade174 100644 --- a/docs/src/reference/Utils.md +++ b/docs/src/reference/Utils.md @@ -2,11 +2,6 @@ This folder contains all the auxiliary functions needed. -## Ellipsoids - -```@docs -``` - ## Functions ```@docs From 404de36203b85560268b5fc16ba1445ba4232611 Mon Sep 17 00:00:00 2001 From: vdebauche <68696791+vdebauche@users.noreply.github.com> Date: Fri, 20 Oct 2023 15:23:54 +0200 Subject: [PATCH 5/9] Add doc for Trajectories --- docs/src/reference/System.md | 4 ++++ src/system/trajectory.jl | 26 +++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/docs/src/reference/System.md b/docs/src/reference/System.md index 5416a7cf9..54cb9e284 100644 --- a/docs/src/reference/System.md +++ b/docs/src/reference/System.md @@ -31,4 +31,8 @@ Dionysos.System.AffineController ```@docs Dionysos.System.DiscreteTrajectory Dionysos.System.ContinuousTrajectory +Dionysos.System.HybridTrajectory +Dionysos.System.Trajectory +Dionysos.System.Control_trajectory +Dionysos.System.Cost_control_trajectory ``` \ No newline at end of file diff --git a/src/system/trajectory.jl b/src/system/trajectory.jl index ea73b4c7a..45237cf77 100644 --- a/src/system/trajectory.jl +++ b/src/system/trajectory.jl @@ -10,7 +10,7 @@ using Polyhedra DiscreteTrajectory{Q, TT} `q_0` is the starting mode and `transitions` is a sequence of discrete -transitions in the system +transitions in the system. """ struct DiscreteTrajectory{Q, TT} q_0::Q @@ -37,7 +37,7 @@ end ContinuousTrajectory{T, XVT<:AbstractVector{T}, UVT<:AbstractVector{T}} `x` is a sequence of points in the state space and `u` is a sequence of points -in the input space +in the input space. """ struct ContinuousTrajectory{T, XVT <: AbstractVector{T}, UVT <: AbstractVector{T}} x::Vector{XVT} @@ -46,11 +46,21 @@ end struct ContinuousTrajectoryAttribute <: MOI.AbstractModelAttribute end +""" + HybridTrajectory{T, TT, XVT <: AbstractVector{T}, UVT <: AbstractVector{T}} + +`discrete` is the discrete trajectory of type `DiscreteTrajectory` and `continuous` is a the continuous trajectory of type `ContinuousTrajectory`. +""" struct HybridTrajectory{T, TT, XVT <: AbstractVector{T}, UVT <: AbstractVector{T}} - discrete::DiscreteTrajectory{TT} + discrete::DiscreteTrajectory{TT} continuous::ContinuousTrajectory{T, XVT, UVT} end +""" + Trajectory{T} + +provides the sequence of some elements of a trajectory. +""" struct Trajectory{T} seq::Vector{T} end @@ -62,6 +72,11 @@ get_elem(traj::Trajectory, n::Int) = traj.seq[n] return UT.DrawTrajectory(traj.seq) end +""" + Control_trajectory{T1, T2} + +provides the sequence of states and inputs of a trajectory. +""" struct Control_trajectory{T1, T2} states::Trajectory{T1} inputs::Trajectory{T2} @@ -76,6 +91,11 @@ get_elem(traj::Control_trajectory, n::Int) = (get_state(traj, n), get_input(traj return traj.states end +""" + Cost_control_trajectory{T1, T2, T3} + +provides the sequence of states, inputs (via `Control_trajectory`) and costs of a trajectory. +""" struct Cost_control_trajectory{T1, T2, T3} control_trajectory::Control_trajectory{T1, T2} costs::Trajectory{T3} From 2bafd38b154e6b6b8859397c04e97665174f2b91 Mon Sep 17 00:00:00 2001 From: vdebauche <68696791+vdebauche@users.noreply.github.com> Date: Fri, 20 Oct 2023 15:29:10 +0200 Subject: [PATCH 6/9] Formatage --- src/system/trajectory.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/system/trajectory.jl b/src/system/trajectory.jl index 45237cf77..ef3613761 100644 --- a/src/system/trajectory.jl +++ b/src/system/trajectory.jl @@ -52,7 +52,7 @@ struct ContinuousTrajectoryAttribute <: MOI.AbstractModelAttribute end `discrete` is the discrete trajectory of type `DiscreteTrajectory` and `continuous` is a the continuous trajectory of type `ContinuousTrajectory`. """ struct HybridTrajectory{T, TT, XVT <: AbstractVector{T}, UVT <: AbstractVector{T}} - discrete::DiscreteTrajectory{TT} + discrete::DiscreteTrajectory{TT} continuous::ContinuousTrajectory{T, XVT, UVT} end From 61225303a6deea225998e23a5eb5a4a595823cb0 Mon Sep 17 00:00:00 2001 From: vdebauche <68696791+vdebauche@users.noreply.github.com> Date: Fri, 20 Oct 2023 16:07:09 +0200 Subject: [PATCH 7/9] Remove SCOTS line in doc --- docs/src/reference/Optim.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/src/reference/Optim.md b/docs/src/reference/Optim.md index 142675f7c..725ab95cd 100644 --- a/docs/src/reference/Optim.md +++ b/docs/src/reference/Optim.md @@ -4,12 +4,11 @@ This folder contains all the different (abstraction-based or not) solvers that c ## Abstraction-based solvers ```@docs -Dionysos.Optim.Abstraction.SCOTSAbstraction.Optimizer +Dionysos.Optim.Abstraction.NaiveAbstraction.Optimizer Dionysos.Optim.Abstraction.EllipsoidsAbstraction.Optimizer Dionysos.Optim.Abstraction.HierarchicalAbstraction.Optimizer Dionysos.Optim.Abstraction.LazyAbstraction.Optimizer Dionysos.Optim.Abstraction.LazyEllipsoidsAbstraction.Optimizer -Dionysos.Optim.Abstraction.NaiveAbstraction.Optimizer ``` ## Other solvers From 8bf5d178f5c5c429a03b77c52376dbe4f9dbbdd4 Mon Sep 17 00:00:00 2001 From: Virginie Debauche Date: Sun, 22 Oct 2023 11:59:00 +0200 Subject: [PATCH 8/9] Typos fixed --- docs/src/reference/Optim.md | 2 +- docs/src/reference/System.md | 6 +++--- src/domain/domain_list.jl | 2 +- src/domain/grid.jl | 2 +- src/optim/abstraction/ellipsoids_abstraction.jl | 2 +- src/optim/bemporad_morari.jl | 2 +- src/optim/branch_and_bound.jl | 2 +- src/system/controlsystem.jl | 4 ++-- src/system/trajectory.jl | 6 ++---- 9 files changed, 13 insertions(+), 15 deletions(-) diff --git a/docs/src/reference/Optim.md b/docs/src/reference/Optim.md index 725ab95cd..bbc48f63b 100644 --- a/docs/src/reference/Optim.md +++ b/docs/src/reference/Optim.md @@ -1,6 +1,6 @@ # Optim -This folder contains all the different (abstraction-based or not) solvers that can be used. Note that all the solvers are defined using the MathOptInterface framework: for each solver, we define the structure [`AbstractOptimizer`](https://jump.dev/MathOptInterface.jl/stable/reference/models/#MathOptInterface.AbstractOptimizer) and implement the [`Optimize!`](https://jump.dev/MathOptInterface.jl/stable/reference/models/#MathOptInterface.optimize!) function. +This folder contains all the different (abstraction-based or not) solvers that can be used. Note that all the solvers are defined using the MathOptInterface framework: for each solver, we define a subclass of [`AbstractOptimizer`](https://jump.dev/MathOptInterface.jl/stable/reference/models/#MathOptInterface.AbstractOptimizer) and implement the [`Optimize!`](https://jump.dev/MathOptInterface.jl/stable/reference/models/#MathOptInterface.optimize!) function. ## Abstraction-based solvers ```@docs diff --git a/docs/src/reference/System.md b/docs/src/reference/System.md index 54cb9e284..3c2fbea04 100644 --- a/docs/src/reference/System.md +++ b/docs/src/reference/System.md @@ -4,13 +4,13 @@ This folder contains different ways to define systems, for instance to encode a ## Control system -Each control system should be implemented as a ControlSystem . +Each control system should be implemented as a ControlSystem. ```@docs Dionysos.System.ControlSystem ``` -So far, we have implemented a few examples of control systems : +So far, we have implemented a few examples of control systems: ```@docs Dionysos.System.SimpleSystem @@ -20,7 +20,7 @@ Dionysos.System.EllipsoidalAffineApproximatedSystem ``` ## Controller -So far, the abstraction-based methods that we use define either piece-wise constant or piecewise-affine controllers. +So far, the abstraction-based methods that we use define either piecewise-constant or piecewise-affine controllers. ```@docs Dionysos.System.ConstantController diff --git a/src/domain/domain_list.jl b/src/domain/domain_list.jl index 26b570754..1b15f3959 100644 --- a/src/domain/domain_list.jl +++ b/src/domain/domain_list.jl @@ -7,7 +7,7 @@ end """ DomainList{N,T,S<:Grid{N,T}} -Struct for a basic domain based on a `Grid` . +Struct for a basic domain based on a `Grid`. """ struct DomainList{N, T, S <: Grid{N, T}} <: DomainType{N, T} grid::S diff --git a/src/domain/grid.jl b/src/domain/grid.jl index dc85653d1..79860e6b5 100644 --- a/src/domain/grid.jl +++ b/src/domain/grid.jl @@ -113,7 +113,7 @@ end GridEllipsoidalRectangular{N,T} <: Grid{N,T} Uniform grid on rectangular space `rect`, centered at `orig` and with steps set by the vector `h`. -Cells are (possibly overlapping) ellipsoids defined at each grid point `c` as `(x-c)'P(x-c) ≤ 1` . +Cells are (possibly overlapping) ellipsoids defined at each grid point `c` as `(x-c)'P(x-c) ≤ 1`. """ struct GridEllipsoidalRectangular{N, T} <: Grid{N, T} orig::SVector{N, T} diff --git a/src/optim/abstraction/ellipsoids_abstraction.jl b/src/optim/abstraction/ellipsoids_abstraction.jl index 580599a0d..84d95d140 100644 --- a/src/optim/abstraction/ellipsoids_abstraction.jl +++ b/src/optim/abstraction/ellipsoids_abstraction.jl @@ -16,7 +16,7 @@ const PR = DI.Problem """ Optimizer{T} <: MOI.AbstractOptimizer -Abstraction-based solver for which the domain is covered with elippsoidal cells, independently of the control task. +Abstraction-based solver for which the domain is covered with ellipsoidal cells, independently of the control task. """ mutable struct Optimizer{T} <: MOI.AbstractOptimizer concrete_problem::Union{Nothing, PR.OptimalControlProblem} diff --git a/src/optim/bemporad_morari.jl b/src/optim/bemporad_morari.jl index 32ddd7fb3..5e327da57 100644 --- a/src/optim/bemporad_morari.jl +++ b/src/optim/bemporad_morari.jl @@ -20,7 +20,7 @@ using FillArrays, MathematicalSystems, HybridSystems, JuMP, SemialgebraicSets, P """ Optimizer{T} <: MOI.AbstractOptimizer -Bemporad Morari solver : Optimal control of hybrid systems via a predictive control scheme using mixed integer quadratic programming (MIQP) online optimization procedures. +Bemporad Morari solver: Optimal control of hybrid systems via a predictive control scheme using mixed integer quadratic programming (MIQP) online optimization procedures. """ mutable struct Optimizer{T} <: MOI.AbstractOptimizer continuous_solver::Any diff --git a/src/optim/branch_and_bound.jl b/src/optim/branch_and_bound.jl index 3799e7fa3..353cb283a 100644 --- a/src/optim/branch_and_bound.jl +++ b/src/optim/branch_and_bound.jl @@ -16,7 +16,7 @@ using HybridSystems """ Optimizer{T} <: MOI.AbstractOptimizer -Branch and bound solver : Optimal control of hybrid systems via a predictive control scheme combining a branch and bound algorithm that can refine Q-functions using Lagrangian duality. +Branch and bound solver: Optimal control of hybrid systems via a predictive control scheme combining a branch and bound algorithm that can refine Q-functions using Lagrangian duality. """ mutable struct Optimizer{T} <: MOI.AbstractOptimizer continuous_solver::Any diff --git a/src/system/controlsystem.jl b/src/system/controlsystem.jl index d0253358d..ad3ec4b62 100644 --- a/src/system/controlsystem.jl +++ b/src/system/controlsystem.jl @@ -3,7 +3,7 @@ The structure ControlSystem{N, T} -is the abstract type which defines a control system. +is the abstract type that defines a control system. """ abstract type ControlSystem{N, T} end using IntervalArithmetic @@ -170,7 +170,7 @@ end """ SimpleSystem{N, T, F <: Function, F2} <: ControlSystem{N, T} -is one implementation of the `ControlSystem` type +is one implementation of the `ControlSystem` type. """ struct SimpleSystem{N, T, F <: Function, F2} <: ControlSystem{N, T} tstep::Float64 diff --git a/src/system/trajectory.jl b/src/system/trajectory.jl index ef3613761..ab3fa3378 100644 --- a/src/system/trajectory.jl +++ b/src/system/trajectory.jl @@ -9,8 +9,7 @@ using Polyhedra """ DiscreteTrajectory{Q, TT} -`q_0` is the starting mode and `transitions` is a sequence of discrete -transitions in the system. +`q_0` is the starting mode and `transitions` is a sequence of discrete transitions in the system. """ struct DiscreteTrajectory{Q, TT} q_0::Q @@ -36,8 +35,7 @@ end """ ContinuousTrajectory{T, XVT<:AbstractVector{T}, UVT<:AbstractVector{T}} -`x` is a sequence of points in the state space and `u` is a sequence of points -in the input space. +`x` is a sequence of points in the state space and `u` is a sequence of points in the input space. """ struct ContinuousTrajectory{T, XVT <: AbstractVector{T}, UVT <: AbstractVector{T}} x::Vector{XVT} From 92b38b20218b2143242ac041f5042db615c4bf99 Mon Sep 17 00:00:00 2001 From: Adrien Banse <45042779+adrienbanse@users.noreply.github.com> Date: Mon, 23 Oct 2023 08:52:14 +0200 Subject: [PATCH 9/9] subclass -> subtype --- docs/src/reference/Optim.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/reference/Optim.md b/docs/src/reference/Optim.md index bbc48f63b..80734928c 100644 --- a/docs/src/reference/Optim.md +++ b/docs/src/reference/Optim.md @@ -1,6 +1,6 @@ # Optim -This folder contains all the different (abstraction-based or not) solvers that can be used. Note that all the solvers are defined using the MathOptInterface framework: for each solver, we define a subclass of [`AbstractOptimizer`](https://jump.dev/MathOptInterface.jl/stable/reference/models/#MathOptInterface.AbstractOptimizer) and implement the [`Optimize!`](https://jump.dev/MathOptInterface.jl/stable/reference/models/#MathOptInterface.optimize!) function. +This folder contains all the different (abstraction-based or not) solvers that can be used. Note that all the solvers are defined using the MathOptInterface framework: for each solver, we define a subtype of [`AbstractOptimizer`](https://jump.dev/MathOptInterface.jl/stable/reference/models/#MathOptInterface.AbstractOptimizer) and implement the [`Optimize!`](https://jump.dev/MathOptInterface.jl/stable/reference/models/#MathOptInterface.optimize!) function. ## Abstraction-based solvers ```@docs