Reproducing example

The packages for this example are documented in the Project.toml.

Accessing example

This can also be accessed as a plain script.

Description

This example shows a simple use case for NormalizingFlowFilters.

First, we import the necessary packages.

using Pkg: Pkg
Pkg.activate(@__DIR__)
Pkg.instantiate()

using CairoMakie
using NormalizingFlowFilters
using Random: randn, seed!
using Statistics: mean, std, cov
using Test
using Pkg: Pkg

@static if VERSION >= v"1.10"
    using PairPlots: PairPlots, pairplot
end

function display_interactive(fig)
    if isinteractive()
        display(fig)
    else
        fig
    end
end

smalltest = get(ENV, "NormalizingFlowFilters_smalltest", "false")
if !(smalltest in ("true", "false"))
    error("Invalid environment variable value NormalizingFlowFilters_smalltest: $smalltest")
end
smalltest = smalltest == "true"
false

Then define the filter.

N = smalltest ? 2^4 : 2^11
Nx = 3
seed!(0x84fb4b2c)
glow_config = ConditionalGlowOptions(; chan_x=Nx, chan_y=Nx)
network = NetworkConditionalGlow(2, glow_config)

optimizer_config = OptimizerOptions(; lr=1e-3)
optimizer = create_optimizer(optimizer_config)

device = cpu
training_config = TrainingOptions(;
    n_epochs=smalltest ? 10 : 45,
    num_post_samples=1,
    noise_lev_y=1e-3,
    noise_lev_x=1e-3,
    batch_size=smalltest ? 2^2 : 2^9,
    validation_perc=2^(-1),
)

filter = NormalizingFlowFilter(network, optimizer; device, training_config)
NormalizingFlowFilters.NormalizingFlowFilter(InvertibleNetworks.NetworkConditionalGlow, InvertibleNetworks.NetworkConditionalGlow, Flux.Optimise.Optimiser(Any[Flux.Optimise.ClipNorm{Float32}(3.0f0), Flux.Optimise.Adam(0.001, (0.9, 0.999), 1.0e-8, IdDict{Any, Any}())]), Flux.cpu, NormalizingFlowFilters.TrainingOptions(45, 512, 0.001, 0.001, 1, 0.5, 2))

We generate an ensemble.

# N ensemble members from a unit normal.
prior_state = randn(Float64, Nx, N)
prior_state .-= mean(prior_state; dims=2)
prior_state ./= std(prior_state; dims=2)

function to_table(a; prefix=:x)
    return (; (Symbol(prefix, i) => row for (i, row) in enumerate(eachrow(a)))...)
end
combine_tables(a, b) = (; a..., b...)
table_prior_state = to_table(prior_state)

@static if VERSION >= v"1.10"
    kde_bandwidth =
        training_config.noise_lev_x /
        PairPlots.KernelDensity.default_bandwidth(prior_state[1, :])
    table_prior_state_mean = to_table(mean(prior_state; dims=2)[:, 1])
    fig = pairplot(
        table_prior_state => (
            PairPlots.Hist(; colormap=:Blues),
            PairPlots.MarginDensity(;
                bandwidth=kde_bandwidth, color=RGBf((49, 130, 189) ./ 255...)
            ),
            PairPlots.TrendLine(; color=:red),
            PairPlots.Correlation(),
            PairPlots.Scatter(),
        ),
        PairPlots.Truth(
            table_prior_state_mean; label="Mean Values", color=(:black, 0.5), linewidth=4
        ),
    )
    supertitle = Label(fig[0, :], "prior state"; fontsize=30)
    resize_to_layout!(fig)
    display_interactive(fig)
end

Apply observation operator.

# Identity observation operator with some noise.
prior_obs = 0.5 .* deepcopy(prior_state) .+ 0.5 .* randn(Float64, size(prior_state))

table_prior_obs = to_table(prior_obs; prefix=:y)

@static if VERSION >= v"1.10"
    table_prior_obs_mean = to_table(mean(prior_obs; dims=2)[:, 1]; prefix=:y)
    fig = pairplot(
        table_prior_obs => (
            PairPlots.Hist(; colormap=:Blues),
            PairPlots.MarginDensity(;
                bandwidth=kde_bandwidth, color=RGBf((49, 130, 189) ./ 255...)
            ),
            PairPlots.TrendLine(; color=:red),
            PairPlots.Correlation(),
            PairPlots.Scatter(),
        ),
        PairPlots.Truth(
            table_prior_obs_mean; label="Mean Values", color=(:black, 0.5), linewidth=4
        ),
    )
    supertitle = Label(fig[0, :], "prior observation"; fontsize=30)
    resize_to_layout!(fig)
    display_interactive(fig)
end

Look at how observations correlate to data.

@static if VERSION >= v"1.10"
    combo_table = combine_tables(table_prior_state, table_prior_obs)
    combo_table_mean = combine_tables(table_prior_state_mean, table_prior_obs_mean)
    fig = pairplot(
        combo_table => (
            PairPlots.Hist(; colormap=:Blues),
            PairPlots.MarginDensity(;
                bandwidth=kde_bandwidth, color=RGBf((49, 130, 189) ./ 255...)
            ),
            PairPlots.TrendLine(; color=:red),
            PairPlots.Correlation(),
            PairPlots.Scatter(),
        ),
        PairPlots.Truth(
            combo_table_mean; label="Mean Values", color=(:black, 0.5), linewidth=4
        ),
    )
    supertitle = Label(fig[0, :], "prior state-observation"; fontsize=30)
    resize_to_layout!(fig)
    display_interactive(fig)
end

Then we assimilate an observation. Here, we just pick an arbitrary one.

y_obs = zeros(Nx)
log_data = Dict{Symbol,Any}()
posterior = assimilate_data(filter, prior_state, prior_obs, y_obs, log_data)
3×2048 Matrix{Float32}:
 1.0495     0.106115   -0.139734  -0.258606   1.27227    1.09832   -0.0260479   0.537882   1.09659     0.123439   -1.00718   -0.703977   1.84712    0.105464  -0.446833  -1.25863   -0.480365   0.607836  0.119576  -0.0847813   1.049      0.0893785  -0.539319   1.09989   -0.0479418  -1.68779    0.107189  -0.838627  -1.34571    1.60062   -0.146302    0.837187   -0.267169  -1.58602   0.88615   1.19569    0.143375  -0.399061  -0.912459  -1.10007   -1.03905   -1.38835    0.715076  -0.174862   0.485713  -0.599656  -0.242941    0.496977   0.723763  -0.647916  -0.560364   0.899553   -0.614644  -0.0171181  -0.298857   0.687247  -1.01075   -0.567347   0.728556   1.10049   -1.03332   -0.721213   0.655752  1.91446  -0.281179  -1.45636   -1.49397  -1.37412   -0.601753    0.483482  -0.300313   0.0911757  -1.55244    0.188929   0.238306  -0.687606  -0.309212  -0.0610444   0.200808  -0.909504  -0.976449   0.493777  -0.807406  -1.12096   -0.435598   0.814127   0.388279  -1.37115    0.886006  -1.31529   -0.357851  -0.871     0.476094  -0.439822   1.38111   -0.451795  -0.215687  -1.00834    1.08753  0.0350957  -0.787908   1.23784   0.358694  -0.663131   -0.2503   0.36699    0.38239   -1.54299    0.0625861  -1.00445   -0.00922651   1.26707   0.313315  -0.658674   0.647361  -0.777936   0.0143748  0.789717   0.981862   0.153309   0.134593     0.502681   0.310718  -0.8912     1.45548   0.160926  -0.527139  -0.821154  0.248379  0.66918    0.0843901  -0.554377   0.324652  -0.00667898  -0.108107   0.683061  -0.472714   0.195599  -1.4869     0.966376   0.354047    0.383971  -0.25414     1.39715   -0.228039  1.48699    0.204681  -0.792578  -0.178094  -0.0642397  -0.7351     0.961622   0.648202   1.11808    0.329248   1.34224  -0.760385   -0.0552901  -0.825024  1.38073    0.138478   0.521143  0.919334  0.105415  -0.413811   -0.261102   1.39982  1.05168   -0.271251  -0.702037  -0.899515  0.0792869   0.405168   0.856523   0.479213   -0.322658   -0.105473   1.22966    0.642266  -0.333669  0.532345   -0.993288  -1.05401    -0.154259   0.950884  -2.04751    0.565112  0.101566   0.877695    1.51892  1.71924   -0.474739   1.1        0.608867    0.175793  -0.677388   0.495701  1.44447    0.58639   -1.91199   0.512618  -0.653124  -0.163527   0.186806  -0.280992   0.362385    0.0771407  -0.246414  -0.305285   -0.875778   0.0229047   0.118534   -0.716015   0.184988   0.245342   0.134395   0.189395  -0.254358   0.975224   1.12362   0.0438448  -0.923537  -0.911743   -1.13122  -0.202311   1.8756     -1.09467   0.421279  -0.651124   0.836688   -0.509772  -0.943695   0.0769392  -1.72087    1.29402    0.263185  -0.334816  -0.772104  0.107706  -0.428549   0.216274  0.12767    0.435592  -1.24184    0.300245  -0.448869  -0.52464   1.64854   -2.5668     0.970086   0.826527  -0.126967  -0.633725  -1.55346   -0.939384   0.757822    1.02828    1.19227  -0.876463   0.212214  -0.242675  -1.03275   0.803834   0.129364   0.462323   -0.515642  -0.0527387  -0.825352  -2.18675  -0.260594  0.278547  -0.950166   -0.731968  -1.65239    0.0596441   0.704014   -0.295121   0.394391   1.13985   0.820746  -0.0401746  -0.312038    0.927812  0.0748415  -0.467017  -2.08491   0.491174  -1.49381    2.34305    -1.4358     1.42099   -2.46142   -0.959477  -0.605335  -0.0850034  0.297914  -0.98129   -1.32622   -0.385003   0.712002     0.0241078  -1.15579   -0.789601   0.430343  -0.164843   0.257498  -0.729349  -0.496839  -0.513731   -0.865611   0.153582   0.494233  0.591194  0.307755  0.740445    -1.13279    -2.35548    0.590851  -0.139715   0.174887   1.5602   -0.266254  -0.174849  -0.00882995  -0.945928  -0.166883  -1.38691   0.198527  -0.258119  -1.06585    0.417062   -0.697358  -0.100769  -0.489877   0.417468  -0.658017   0.289382   0.448109  0.000319571   0.577381  0.573647  -0.167278   -0.226079  1.5478    1.20394   -0.0526055    0.902774   0.307843  -0.764671    -1.19467     0.030872   0.379227  -1.82524   -1.23846    0.0247533  0.0162912  -0.955216  -1.25222    1.29938    1.04098   0.136256  -0.788789  -0.407224  0.432994   0.812614  -0.138479  -0.60006   -1.07775    -0.792563  -1.74867  -1.4707      -0.328361  -0.22659   -0.442078  -0.0677071  -0.731971  1.41998   -1.54346    0.233781  -0.0880531   0.901353  -1.34225   -0.756773   -0.182606   1.03178     0.61686    0.46504   0.511055    0.369297   0.269895  -1.72316   -0.48317    0.375355  -1.36458   1.94944     0.0802841  -0.295683   1.10045   -0.757593  0.179411   0.132911  -0.15508    1.08845   -0.718173   0.175231  -0.0775876  -0.241722  -0.450012   1.4227    -0.141731   0.251286  -1.07825   0.62189   -0.258166  -1.14123   -0.404159  1.22476   0.0207772   0.470431   -0.248308  -0.416824   0.414343   0.0840015  -0.603211   0.238226   1.39492    0.115747  0.181939  -0.560786  -1.35939    1.12474    1.09757     -1.55361    0.670014  -0.656913  -1.39567   -0.661713   0.310635  -0.567338   0.503673    0.625909  -0.359892  -0.709058  -0.000800108  -0.582275  -0.172852  -1.27247    0.0403551  -0.589395   0.765009   1.1516      0.976518  -0.98209    -0.383907   0.208448   -0.0136549  -1.06399    0.4341    0.264118  -0.514467    -0.215738  -0.10443    0.0784241   0.95746   2.8207    -0.48      -0.706934  -1.59716     1.14108    -0.623583  -0.436063   0.636638  1.26069   -0.0213365  -0.369782  -0.230046   0.362724   0.607673  -0.138458  -0.110158  -1.58552    0.894746  -0.400626   0.671852  1.0161    -0.00852964   1.41534   -0.766629   0.952216  -0.572322   1.31338    -0.553626   0.194855  0.150382    0.995178  0.103883   0.984669    0.44655    0.608168   0.898504    1.37749   -0.668744  -1.83417   -0.385214   0.462759   1.08069   -1.54612    0.748486  -0.329886  -1.30484   0.654928   1.03804   -0.0365783   0.164072   0.791216  -0.475967  3.54068  -1.09502    1.06142    0.996766    -0.638812  1.64508    0.65617   -0.564786   0.491558  -1.27998   0.350481  -0.853227   0.557129   0.765319   1.36087   -0.417588  -1.63108     0.21474   0.299473  -0.71333    0.109331  -0.77581   -0.0170867  -1.28776   -0.106581   1.37755    0.498093  -1.01843   -0.833847  0.404621   0.119544  0.53179   -0.140301    0.436517  -2.06358   0.528671  -1.13603   0.890381   1.10018    0.581538  0.030833  -0.87075    0.596619  -1.04209   -0.0329625  -0.519951   0.241507  1.31972     0.360348  -0.208578  -0.411007   0.295955  -0.23506     0.788748  -1.37466    0.162367    0.0433288   1.17561     0.120126  1.52292    -0.137969  0.852356  -1.27111    0.280224   0.814285    0.588312   0.560738  -0.880255   1.02483    0.474733   0.714547   0.0219463   0.146429  0.886412  -0.546175  -0.108709   0.40222    0.558194  -0.192887   0.787901  -0.585996   0.482502   0.340554   0.950996  -0.067148   0.780736  1.55814    0.956219   0.259331  0.424021  -0.928822  -1.11161    0.445359   0.754325  -0.108461  -0.9399    -0.144056  -0.206907  0.183528  -0.691409  -0.822225  -0.752477   -1.25673    0.432965   0.413872  -0.767364   0.900314  -0.242344   -0.0821123  -0.0985877   1.18754   0.1951    -0.0273278   1.74219   -0.271605  -0.0470292  -0.418683  -0.185433   0.192539   0.616691  -0.519337  -0.89494  -0.406604   0.205991  0.334709  -0.658042   1.2019     -0.116875  -0.00470144   0.169986   1.74069     0.112133  -0.493109   0.0284911   0.709544  1.23435    1.93968   -1.05921   -0.345028   0.101078   -0.520211    0.0197368  -0.893162   0.275839  -0.172946    0.0749474   0.787153  -0.064195  -0.0923886   0.801427   0.424249  -0.289809  0.651191   0.247163     0.555648  -0.0283967  0.0268726  -0.177039  -0.475606    0.167762   0.556636  -2.11937    0.509559  -0.239122   -0.935765  -1.12643      -0.704589   0.335921  0.362455    0.534903   -1.50922   -0.700387  -0.47429   -0.576057   0.3631     0.510941  -0.243643  -0.376645    0.172232   0.0648055   0.246811   -1.35784     0.841016   -0.467316  0.349716  -1.59806     0.451069   0.552574  1.26953    0.335973  -0.475224   -0.8006    -0.407148   0.566926  -0.330033   0.298085    0.162563   0.614031   -0.204561   0.486073   0.741466   1.71365   -1.12257   -0.765894  -0.628303  -0.259836  -0.811946   0.802558   1.03151    -0.464198  -0.883828  -0.155208   0.786792  1.32675     1.03339    0.0696849  -1.53709    0.811188  -0.0988306   0.992312   1.29034   -0.235215  0.147973   0.737557  -1.33835    1.02259    0.739453   0.683626  -0.338081   0.0401706  -0.282385   0.698365   0.74207     0.987452   0.784331  -0.174056   1.11115   -0.341754   0.893346    -0.550203   0.35719  -0.682124   1.65799   -0.918513  -2.31482    0.345057  -1.43378  -0.980542   -1.18817    -0.0658779   0.70303    1.07183   -0.859187    0.152923   0.624311  0.242426  1.44292    0.347248    0.971626    0.65435    0.165482  -0.740458   1.08123    1.16351   -0.80697   -0.794036  -0.0201182   0.09143    0.51598  -0.592476   0.153494   1.75512   -0.121715  -1.39863   0.430805  -1.02852    0.528002     0.23197   0.972984   0.20207   -0.473977     0.262502   0.350151   0.437585  -1.02349    0.232067  1.15301   0.184764  0.00252206   0.0865871  -1.26057    1.09195   -0.231778  -0.294253   1.61976    0.786753   0.184194  -0.808605  -0.439722  1.79105    -2.13697   -0.905271   1.73567   0.323521   -1.40831   -0.27552   -1.50025   -0.0201872   1.10289    -0.358649  -1.11284   -0.596255  0.494149  -1.72842   -0.853323   0.551184   -1.35743   -0.141134   0.866464   1.99869   -0.952912  0.6311    1.24396    1.14305   -0.50474   -0.988326  0.0601866   0.145664  -1.30098    1.20464  -0.5009    -0.420918  -0.361456  -0.258401   0.169689  0.90823    -1.19698  -0.137903  -1.63852    0.0540762  0.40898    0.529664  -0.595451  -0.883938  0.372429  -0.771745  -1.02166    -0.215806  -0.257109  -0.209861  -0.230168  -0.0879366   0.0172836   0.581896   0.709789  -0.548175  -0.240455  -0.383774  0.486473  -1.6954     0.284297  -0.671743  -0.207131    0.767567  -1.01705   -1.59079    -0.755931   1.0332    -0.495962  -0.211914  -0.566424  0.495449  -0.566496  -1.78921   -1.32098    0.486505   0.0359703  -0.203693   -0.53005   -0.45352   0.326554  -0.373496  -1.12921    0.822914  -0.961713   1.1862    -1.36554   1.34335    1.23194    0.262843   0.00424318  0.408957  -1.08748    2.56244     0.71165   -0.430302  -0.57464    1.24872  1.10283   -1.18263    0.165874  -0.123648  -1.60101   -1.30377   -0.804104  -1.16995   -0.333238  -0.102078  -0.673163   0.737985   0.841149   1.35218  -0.305176  -0.318699   0.0396947   1.44797  -0.0526571   0.648566    0.115192  0.370208   0.612819  -0.44857    -0.0251495   1.04705    -0.690094  -0.00634888  0.408977  -0.411055  -0.156361     0.306933  -1.78772   -0.548954  -0.206587   -0.339406  -1.92191    1.1676     -0.860623   0.575043   -1.25801    0.348201   0.523492   0.639733  -0.619345  -0.848795   0.75892   -0.724954    0.605129   0.980063   0.783137  -1.93033     0.133031  1.69196   -0.741147  -0.211651  -0.477191   0.53343    0.916981    0.356395   0.14072   -1.06422   -0.763755  -0.465298  -0.114934  -0.544025  -0.0636355   0.817149  1.28135      0.659873  0.392761  -0.154343  0.0558545   0.603669   0.357     0.3782     0.756445  0.0667235  -1.40313   -1.17983   -0.043158  -0.542114   0.1519    -0.731865   0.153908  0.70332     1.26881    0.0992614  -0.215281   -0.185382  -0.58519    0.782509   0.409834   1.27394   -0.556949    0.489528   0.586937  -0.940409  -0.44775     0.532671  0.51645   1.14897    -0.462082   0.678631   0.254933  -1.41609     1.29837    1.3406    -0.876897  -0.355529  0.783863   0.134222  -0.255671  -0.909446   -0.868198  -1.45835    0.27801    0.258064  -0.327537  -0.473787   2.1838    -1.27992   -1.12085     0.688166   0.584791  -0.744946   0.433221  -1.54726    1.45966   -0.613315  -0.566315  -0.906204   0.848312  -0.137748  0.287659  -0.487595  0.00293518  -0.428013  0.541641  -0.872473   -0.746234  -0.17834   -0.147031  -1.70594    -0.494723   0.962622  -1.48046    1.53375   -0.34134   -0.929019  -1.12617  -0.763831  -0.507675  -0.412475   0.677359    0.336633  -1.51491   -0.326684   -0.87192    0.547663    1.24562    0.675536  -0.46653   -0.437418   1.25688   0.479875  -0.330112   0.626876  -2.51088    1.05625    -1.10591   -1.28174   0.517053   0.508189  -1.04374   1.21602    1.24067   0.682485  -0.390518  -0.180837  -0.332733   0.0521217  -0.90816   0.0850682  -0.119446   -1.27784      0.110591   1.04205    1.21794   -0.234183  -0.962969  -0.747748   0.331419  -0.661822   0.397036  -1.55328    0.815441   -0.430509  -1.01325   -0.0147257   0.539937   -0.0715936   0.132148   0.284919    1.31172   -1.87113    0.580597  0.865478    0.276399  -0.274542   1.62775   -0.556278   0.145821    1.6089     0.550171  -1.18039     0.459336  -1.12043   -0.219382  0.111159   0.861389  -0.126893   1.45268    1.13244     0.460803  -0.824038  0.695654   0.846496  -0.594713  -0.306791  1.05807   -0.969188  -0.266384  0.80973   -0.711667  0.366439  1.00526    0.257973  0.537649  1.71662   -0.997667   0.245958  0.0860172   0.6759    -0.27211    1.09734    0.575643  -0.534739  -1.41618    0.572496   -0.487461  2.03122   -0.269933   0.974338  -1.52554    -0.180068   0.28427    0.0761089  -0.725542    -2.25058   -1.56538    0.915918  -0.499248   0.508548  -0.684894   0.304859  -0.698831    1.35741     0.111808  -0.108968   -1.22261   -0.283184   0.725888  -0.768998  0.51281   1.97883  -0.878689   -0.30745      0.774387   0.0411836  -0.581005   0.0726356  1.86338   1.35224   1.92005     0.793072  -0.990202   0.0610972   0.272645  -0.742768  0.0282272  -0.714242  -1.65534  -0.526462  -0.658192   -0.420211  0.810838  -0.874271   0.602101   0.696128  0.580948  1.09254    1.58057  -0.123227  -0.919      0.239776  -0.642397   0.486618   0.912469  0.996506   0.117537    1.31738   -0.825985   0.528643  0.334889  -0.0908169   0.243733   1.2393    -2.2749    -0.875267  0.906274  -0.00660182  -0.136768   1.37386    0.0952352  0.864041   0.989945   0.089043  0.534524   0.791735    0.732004  -1.33244    -0.366924   -0.721173   0.350178  0.35842    0.535024  -0.0208177   1.21436    0.571995  -1.19079     0.0162737  -0.146734   0.394121  -0.0138103  -0.113051  -0.859601   -0.653537  -0.296168   0.970456    0.0814256  -1.188      0.534642  -0.707018  -0.757391  -0.465819   0.527957   0.0121985   0.228265  -0.152046  -0.468979   0.0356175   0.110129   0.736456   0.0935481  -0.310345   1.26257   -0.392667    0.048928  1.66298    0.826949    0.492692    0.779204    1.02243    0.46471    -0.40344    0.455884  0.217133   0.631369   1.31109     -1.61702    -0.278105  -0.445053   0.11169   0.21389    0.101793  -0.0918013   0.0277076  -0.103012   0.0516    1.44246    0.219509   0.590299   -1.74459   1.20739  -1.21865     0.931221   0.396       -0.0709641  -0.256636  -0.52384   -0.380914   1.45768     0.134578   1.10355   0.246171  0.6239    1.14087   -0.00835735  0.603652  -0.583691   -0.139661  -0.90782   -1.67486    0.694679  -0.690075   0.36422   -0.724205   0.897393   -0.187398  -0.3013    -0.0667611   0.770473  -1.58388     0.0226513  -1.6243    -0.54436   -0.762747   0.319362  -0.330902  -0.794659   0.170629  0.471458  -0.554458  0.00335602  0.213904  0.0200594   0.820654  0.637031   -0.243794  -0.0906179  -0.0709878  -1.17684     0.602919   0.559266  -1.20441   -0.275646  -0.402084  -0.527606   0.430348  -1.20553     1.43611   -0.745303  0.230596   -0.228866  0.805798  -0.561583  -1.09716   -0.0608236  0.809657   0.833729   0.873559     -0.112256   0.00136862  -1.85281   -0.317641   1.45009    0.807253   -0.225633   0.440716  -0.266664  -1.27221   -0.374555   -1.34678    0.175282   0.015924   0.685839    0.00425071  0.616633   0.713005   0.522347  -0.635622  -2.21975   -0.159855  -0.720291   0.442115  -0.545677   1.58313    0.352571   0.458606   1.68284  0.524526  -0.572253  -0.405938    0.400178   0.880222   0.621273  -0.429685  -0.23886   -0.24026   -0.916084  0.652364   0.709084  -0.919761  -0.191179  -0.00608231  -0.315593  -0.335146  -1.1323    -1.29242     0.739692  0.839064   -0.983088  -0.579395  -0.304465  -0.838276   0.40751   -1.23441   -0.532722  -1.01159     -0.330263   0.479946  -0.921704  -0.720821    0.0532569  -0.744857  -0.00335569  -1.60075    0.111894   -0.826925   0.0763175   0.636629  -0.408089  -0.42668    0.944121    0.516485   0.370127  -0.749928  -0.752494  2.52939    1.01891   0.175278  -0.506885   -0.34928    0.459668   0.276018   0.260082   0.276051     0.43108    1.61998   -0.514309  -0.335919   0.633224  -1.29896   -1.55788   -0.172026    0.546226  -0.720593   0.247044  1.5225     1.03263   -0.317891  -1.48039   0.554035  0.82682      0.644751  -1.09073     0.123606  -2.34834    -0.112469    0.248843  0.88411   1.9314     0.0952538  -1.81189   -0.701062   0.516986    0.930323  -1.11237   1.16748   -0.755659   2.09483   -1.12075   0.0590567  -0.551229   0.398456  -0.502356   -0.775138  -0.147642  -0.309146   0.174571     0.543661   0.624851  0.649184  -1.62266   -0.368047    0.616178  -0.979398   0.510361  0.477295    0.724332   0.618226   0.109913  1.66659    0.398179  -0.680703   0.1966    -0.137228   0.370071   0.997792    -0.365023  -0.471789  -1.55567    0.771434  -0.673783  -0.322605  -0.586263   0.00984076  0.974574   0.50596    -0.153577  -1.41792    -0.0994101  -0.601935  0.406701   -0.0662954  -0.23411   -0.146237  -0.395623  -1.13298  -0.45399     0.413262  -0.101904  -0.487044   0.134247   0.77091    0.125413  -1.01086    0.962308   0.74336   1.48335   0.152455  -0.817012   1.10725    0.661922   0.953523  -0.35035   -0.981576  -0.577554   1.17075   -0.311305  0.231904  1.76158   -0.134312   0.363003   1.15816    -0.918227   0.221947  -0.832729  -0.190231   -0.233194   0.148507   0.154465   0.16006    1.07004    -0.513759    0.37189    -1.1256   -0.694857  -0.878201  -1.17922   -0.00980894   0.151898  -0.0797486  -0.494872   0.168055   -0.290843  -0.941421  -0.337247  -0.915421   1.22209    0.44056     0.860904   0.0551022  -0.450242   0.193515  0.254143  -0.687139  -0.684494  0.628965  -0.146494  -0.527836  -1.02457   -0.989902   0.184657  -0.181154  -0.485789  -1.08167     1.14754    2.06273   -0.276217   -0.690057   -0.124731  -0.0381349  -1.37836   1.04952   -0.683212  -0.787335    0.136382  0.129652   0.653301   0.0157896  -1.20174   -0.558056  -1.24036   0.561798  0.315952  -0.0497223   0.293181  -0.458742   1.39745   -0.162671    -0.980907  0.995479   0.634742  -0.95993  -1.01332   0.764064  -0.110764   0.0140236  -0.107019  0.303221   0.294773  -0.01217   1.19144  1.58084   -0.265715   0.467876  -0.949815   0.113923  0.550284   -0.387977  -0.0681114   0.477297  -0.247742   0.692808  1.89241   -0.483912   0.146161    0.0680172  -0.948192  -0.552133  -0.649563   1.14418   -0.391505  -0.467004  1.09201    0.0897627  -0.248244  -0.34789   -0.818767  -0.316273  -0.0707444   0.453752   0.119494  -0.12292    -0.76027    -0.487307  -0.490632   1.10863   -1.10577   -0.500399   0.567158   -0.159168  -0.686245  1.08343    0.626426  -1.58911    0.733121   1.36312   -0.0811214  -0.0855387  0.676523   0.828378   1.07457   -0.165798   0.373611  -1.18531   -0.558437  -0.867743  0.304357  -2.21054    0.748433   0.23527   -0.0430251   1.45655      1.01893   -0.55035   -0.0523034   1.14313   -0.197605   2.92078   -0.287452  -0.640573  0.847891   0.281479  0.483698   1.66835     0.185305  0.621851   0.738103    0.661858    0.716695  0.0737116  -0.0855495  -0.646828   0.568429   0.924304   -1.10738    0.131762  -0.74255    0.709502  -0.376797  0.840794  -1.69474    1.46797   -0.359723  -1.3985     0.729887   -1.44305   0.478333   -0.349249  -0.38944   -1.11184    0.40144    1.34396   0.631396  -1.14985   -0.42513   0.817294  -0.894292   0.978768  0.436568    0.265876  -0.609743   0.0319903   0.57747   0.925826  -0.540624  0.624475   0.582143   -0.215531  -0.355711   0.149263  -0.0209338  -0.455655   -0.872932   1.1923    -0.665527  -0.248446   0.251652  -0.577137  -0.84215   -0.959025  -1.37096   0.705629   0.585323   0.768008  -1.38797    0.403845   -2.18245  -0.150917  -0.0236703  -0.282207  -0.111906  0.968439   0.903258  0.605855    1.30171   -1.2237    -2.05244   -0.989705  -0.721102  -0.516637  -0.707424   -0.345697   0.303711  0.837873  -0.698985  -1.5195    0.0395899  -0.545954   0.263488  -1.30311   0.982729   0.70261   -0.516215   0.674684  -1.11127   -0.211464  -0.0210403   0.597399  -0.476546   -0.462512    -0.223793  -0.0498276  -0.162514   -1.08971   0.352766  0.0980814   0.504016   0.362135   0.264987    0.20032    0.713643  1.03867    0.303444   -0.271829  -0.896434  -0.500906  -0.401006  -0.596391  -0.266316  -0.727082  -0.249556  -0.550082    1.03675  -0.248675   -0.342018    0.0442257  -1.06921  -0.0235501   0.302242  1.09543   -1.16615    0.728079  -1.01787   -1.66039   -0.156156  -0.203423  -0.0668468   0.174175  -0.679559    0.481945   0.951092  0.567658   -0.388204  -1.08937   -0.641011  -0.444655  -1.2176    -0.813469  -0.801792    -0.0215492    0.714564  -0.599512  -0.623358   0.437767  -0.768872  -0.225479   -0.975503  0.258041  -1.77913   0.018142  -0.750247  -0.789683    1.52381   0.706652   0.630409   0.79006    0.23079    0.334404  -0.5604    -0.683892  -0.0622384    0.722478   1.56285   -0.596398   0.490803  0.461165   1.29162   -0.775462  -0.160048  1.12681    0.272381   0.573494  -1.34864   -0.0178951  1.14598   -0.0894715   0.597356   -0.616768  -0.663648  -0.650774   0.958895   1.36203   0.216004  -0.285318   0.90183   -0.912445   0.489423  -1.52806    -1.30009    0.781921  0.494671    0.336138   1.57547    1.05482    0.030854   0.205632   0.183012  -0.581066    0.533754  -0.286581   0.253785    0.462409  -0.540757  -0.0381848  -0.29727    0.39297  -0.627729   -0.434476   -0.727604   0.450163  -0.969131  0.145171   0.182356   1.05372   -0.560173  -0.0999707  1.50901   -0.296216   0.672442   1.20498    1.11327   -0.295056   0.462234   0.343937    1.38121    0.243454  0.620182  -0.693105   0.996825   0.220609  -0.364692  1.55978    0.209422  -1.83447   -2.52873   -0.622173   0.899031  -0.51194  -1.51715   0.00641235   0.415849   0.441837  -0.269455   0.895507  -0.527291  0.599285  -0.135441   0.100741  0.344623   0.592381   0.413401   0.504915   0.497445  -0.387113  -1.70954     0.691894  -0.573476   0.098696  -0.624331   0.517001  -0.211979  -0.248072   1.7666    -0.373133  -0.67491  -1.41531   -0.540268   1.52892  -0.791155   -0.636362  -0.97567    0.128492  -0.248409   0.849527  0.655563  -0.232415  0.348167   0.705103   0.475714   0.895492   -0.272467  -0.951941  0.330244   0.521917  -0.235122   0.218821  -0.937465    0.872994  -0.78664    1.00972    0.523868   0.179342  -0.785298   0.840107  1.32963   0.465179   0.503089   0.630193   0.487867   0.775829   -0.84073    0.845772  -0.164354   -0.589216  -0.161396  -0.02601    0.194847  0.537749  1.48123   0.897262  -0.0953356  0.110433  -0.590488  -0.272306  1.29541    -0.777649   0.90377   -1.14762   0.154403   0.899267
 0.637527  -0.359865   -0.725683  -0.969901  -0.730191  -1.46662    0.0592575  -0.327862  -0.0578942  -0.0134448   0.301235  -0.238503  -0.764839  -0.340979   2.65489   -1.02972   -1.54289   -0.441129  1.39026    0.506396   -0.457037  -0.308886   -1.00317    0.111572   0.545975    0.713323   0.613083  -0.530789   1.24958    0.770605   0.0768118  -0.0742275  -0.527151  -0.964584  0.100466  0.278138   0.107912   0.434346   0.527093  -0.136409   0.320655  -0.847283  -1.2219    -1.68107    0.684508   1.04834   -1.50732     0.256805   0.449655  -0.564789  -0.768054   0.545882   -0.639223  -1.24036    -0.806248  -0.756294  -0.143291   1.1618     0.371719  -0.335114   1.11401   -0.480193   0.389807  1.29278  -0.53631   -0.939131   1.1554   -0.76682   -0.0941501   0.173515  -0.592663  -0.626159   -0.976737   0.34164    1.1001    -0.641476  -0.922561  -0.272094   -0.512642   0.658754  -0.434904  -0.985034   0.390383   0.707978   0.843517  -0.459895  -0.695409   1.29497   -0.198405   1.37307    1.5549    -0.32636  -0.771927  -0.915304  -0.308495   0.439446  -0.161177   0.271028  -1.07872  0.211086    0.838276  -0.6526   -0.314209  -0.293765    1.0854   0.472986   1.12127    0.544028   0.372088    1.16792    0.267785     0.663516  0.97602   -0.515074  -0.177226  -0.965516  -0.32729    0.354806   0.132232   0.334529  -0.00111414   0.255111   0.109341   0.184659   0.413662  0.51405   -0.591979   0.587156  0.778398  0.903613   0.0571353   1.83145   -0.250901  -0.76454     -1.49009    1.62035   -0.381233   0.492096  -0.143627  -0.160399  -0.0720878  -0.996142  -0.0725986   1.01801    1.50021   1.2025    -0.915382   0.653987   2.167     -0.477689    0.986683  -1.34731   -1.03736    1.06331    0.514308  -1.51859  -0.0384554   1.5351      0.522566  0.189619   1.51215   -1.12932   0.185157  1.22338    0.0977575   1.93712    2.11206  0.886594  -1.00167   -0.929218   0.188237  1.09542    -0.604081  -1.16092   -0.278745    0.0312027  -1.71932    0.392468  -0.209716  -1.32306   0.0815663  -0.453614   0.0905413  -1.36051    0.192339   0.399944  -0.287498  0.0571183  1.18412    -1.04691  0.510582   0.473193  -0.938602  -0.0132737  -0.180119   0.383737  -0.845981  0.695953  -0.999301  -0.102529  1.59612    0.456656  -0.0336493  1.28396   -1.28393   -0.232785   -1.16139     1.13702    0.442202   -0.285239  -0.925823    1.11294    -0.33542    0.763012  -0.127115  -0.519276   0.878817  -0.870142   0.20326   -0.57498   0.703231    0.801299  -0.810312   -2.19397  -0.566326   0.222642    1.52485   1.25595   -1.17423   -0.0804167  -0.613303  -0.0992656  0.170718    0.432178  -0.298527   2.42167   -0.603868   0.802621  0.402636  -0.838906   0.162565  0.633916  -0.155836   0.951505   0.575157   0.754589  -0.812102  0.392639  -0.388347  -0.0190477  0.892184  -1.26034   -0.648617   0.593776  -1.24637   -0.0730015  -0.251237  -1.10405  -0.349305  -1.17588    1.3853     2.12608   0.375565  -0.120741   0.0242997   0.141903   1.19262    -0.622815  -1.69169   0.224295  0.665086   0.522018   -1.57239    0.70011    0.605705   -0.0566115   0.27396   -1.60917    0.148069  0.621178  -0.58528     0.0560856  -0.522529  2.13882    -0.338247   1.53985  -0.224687   0.189455   0.043967    0.172276  -0.667909   0.151128   0.825737  -0.923396  -0.445077   0.132802  -0.133638  -0.507544  -0.141451   0.618534    -0.240037    1.10051   -0.139716  -1.10381    0.795801  -0.212235   1.23479   -1.12571    0.0212857  -0.312877  -0.250134  -1.22561   0.733636  0.655014  0.00125656   0.0400726  -0.570882  -0.201697   0.47982    0.702661  -1.09106  -1.13821    0.556385  -0.0394162   -0.95086    0.285002   0.133457  0.809775   1.15935    0.220252   0.446407   -1.58332    0.29223    0.674022   0.444962   1.55668   -1.83598    0.151651  0.0758012    -0.799316  0.30408   -1.04792    -0.517482  0.391888  0.27509   -0.00119891   0.156996  -0.842926   0.944481     0.0492138   0.589231  -0.77511   -0.614387   0.223801  -0.463349   0.427461    0.518918   0.467025  -1.4591    -0.59787  -0.413129   0.666154   1.12181   0.259944  -0.762054  -1.56346   -1.30804    0.0452915  -0.210268  -1.1386   -0.00623478  -0.480446   1.17109    0.363198  -0.875941   -0.179727  0.809583   0.989463  -0.774295  -0.484468   -0.888898   1.20389    0.452832   -0.0362273  0.0439668  -0.0261032  0.843624  0.680472   -0.449092   0.303509   0.290743   0.688821  -1.20516   -0.495898  0.849368   -0.315329   -0.483961   0.141016  -0.700804  1.29296   -0.363443  -0.257055  -0.911753   0.366666   0.27014    0.340917    0.150426   1.18098    0.262802   0.0236041  1.03987   -0.254975  0.236018  -1.48524    0.419896   1.37915   0.883386  0.524715    0.0164917   1.43424    0.81123    1.56796   -0.278182   -0.197976  -0.268798  -0.525202  -0.265587  0.438348  -0.694531  -0.520995   0.585355  -0.411438    -0.094284  -0.241376  -0.304545   0.206955   0.670356  -0.762302  -0.469098  -2.39134     0.441627   1.6036     0.977595   0.534883      0.937234   0.172338  -0.193354   0.200292   -0.141166  -0.871299   0.141481   -0.586408  -0.0709237   0.60958   -0.0531776   1.26841    -0.259235  -0.584425  0.581758   0.836559    -0.66599    0.369064  -0.493048    0.737118  0.106543   0.580398  -0.572916  -0.650498   -0.0142105   2.77171   -0.570418  -0.489712  0.616694  -0.332959   -0.3756    -1.23812   -0.639531   0.754277   1.79321   -1.1283     0.354562   1.46939    0.553198  -0.464426  1.25255    0.488374    -2.0269     0.988303   0.365381  -0.626292  -0.0767672  -1.14589   -0.570244  0.588872    1.14497   0.393272   0.4349     -0.523847  -0.419694  -0.980169    0.538643  -0.69163   -0.294679   0.411057  -1.77018   -0.321353  -0.882421  -1.49305    0.20702    1.78383   0.250639  -0.347123  -1.29995     0.859853  -0.148044  -1.38551   1.72513  -0.672229  -0.188798  -1.84936      0.92754   1.82016   -0.910897   0.895492   1.83362   -0.695888  0.322542  -0.509903  -1.89921    2.58399   -0.406163  -1.03947   -0.0298022  -0.574655  0.551143  -0.204398  -0.947156  -0.495773  -0.066628    0.117399  -1.40162    0.457399  -0.154733   1.40163   -0.102224  0.775473  -1.80086   1.23259    1.06701    -0.729798  -0.583522  1.00236    0.811622  0.150677  -0.744407   0.700705  0.981858   0.0094496  0.274143  -0.495438   1.34357     0.964081   1.00272   0.163867   -0.78558   -1.69422    0.36397   -0.315115  -0.0513673   0.70351   -0.699163   0.0212208  -0.304901    0.672639   -0.603044  0.397607   -1.66017   1.10138    0.584417  -1.42513   -0.0674465  -0.456011  -0.414234  -1.72989   -0.282606   0.250784  -0.397821  -0.563571    0.537076  1.42404   -1.36394    0.980798   1.46508    0.444258  -1.34781   -0.384383   0.44961   -0.488324  -1.3922     0.698672  -0.541611  -0.502959  1.31665   -0.304874   0.271663  0.621149   0.421344   0.805893  -1.1808    -0.265041   1.7732     0.753418  -0.274202   0.411292  0.611048  -1.04691   -0.599244   0.192875   -0.540481  -0.063272  -0.868323   0.749566  -1.73584    0.0569594   0.271321   -0.0710581   0.468473  0.886232   0.34751     0.285509  -1.09269    1.15141    -0.38662   -1.33922   -0.093968  -0.111674   0.55371    1.96107   0.437149   1.38728   1.42862   -0.758689  -0.797917   -0.587419   0.50832     -1.04213   -0.813587   -1.22949    0.570258  -0.0217681   1.07251   0.333657  -0.245659   0.773858  -1.72831    0.822564    1.09096    -0.190732   -0.631291   0.936436  -0.154086    1.01534     0.58525    0.36442   -0.147835    1.46673   -0.501718   0.839828  0.792154  -0.00726924  -1.37048    0.199348   1.2331     -0.344445  -1.55226    -0.215392  -0.545518  -0.628872  -0.403361  -0.0275268   0.32975    0.878205      1.10019   -1.04334   1.05477    -0.0034899  -0.465491   0.526408   0.836194  -0.223591   0.838791   0.587497   0.38981   -0.629705    0.513954   0.590376   -1.90978    -0.0770641  -0.0468583  -0.823975  0.107912  -1.61092    -1.01491    0.233569  0.833875   0.863276   0.0494626   0.16636   -0.191346  -0.377805   0.122634  -0.0629902  -0.374683   0.0625664   0.735625   0.104513   0.149448  -0.431657  -0.786612   0.182136   1.39717    0.527169  -0.058397   0.172476  -0.0911992   0.669819   0.266932   1.69528   -1.69773   0.0943209  -0.314103   0.6324     -0.234933   1.97681    0.363345   -0.8581    -1.09491   -0.955203  0.615842   0.662654   1.74132    0.430719  -1.20041   -0.673315   1.09979   -1.13933     0.5595    -0.552245  -0.0728064  -0.340421   1.02112   -0.587989   0.29001    0.136163  -0.00554107   0.366303  -1.36074   0.835351  -1.17158    1.17316    0.128048   0.330863   1.13127  -1.6182      0.429652    0.560153    0.193889   1.49967   -0.0717272  -1.21996   -0.553616  0.694985  0.702496  -0.0265062  -1.2244     -0.98373    1.52714    0.790948   0.332087  -0.457397  -0.481166  -0.4655    -0.00030211  0.463552  -1.65362   0.195135  -0.886169   0.892088  -0.341446   1.7929   -1.24306    0.0894393  0.396911     0.881555  0.203383  -1.06336   -0.992001     0.442165   0.0776014  0.604415  -0.45028    1.57813   0.470776  0.580813  0.777409     0.747512   -1.37693    0.329557  -0.288092  -0.571105  -0.374486   0.108988  -3.28734    0.559272   1.95475   0.0322797  -0.316771   0.667308   0.68809   0.424072    0.101515   0.738219   0.666664   1.52471    -0.0649881  -0.611701  -1.47179   -0.121515  0.35679   -0.553531   0.139208  -0.0832342   1.62367   -1.01968   -0.702518   1.19076    0.140781  0.356584  0.927779  -0.329194  -0.43935    0.988218  0.33868    -1.12709   -0.827615  -0.52376  -0.397833   0.753233  -0.650993   0.498848  -0.22832   1.18099    -1.42668  -0.177686  -1.48954   -0.584137   0.129887   0.433623  -1.89307    1.04739   0.45708    0.996207   0.509366    0.11103   -0.118611  -0.271581   0.604129   0.486854    0.130131   -0.334514  -0.506061  -0.572992  -0.510915   1.05561   0.851949   0.456766  -0.173899   0.973497  -0.0922213  -0.114092   0.319623  -0.648015    0.438359  -0.241099   0.246836   0.461777  -0.168932  0.262766  -1.07254   -0.575744   1.74261   -0.0431855  0.378407    0.067052    0.95505    1.10149   1.24349    0.78198   -1.62758    0.265425   1.20968   -0.458636   0.185089  1.72864   -0.721242  -0.113653  -0.221052    0.830009  -2.11967   -0.871489    0.434767  -0.295798  -0.238914  -1.14639  1.77974   -0.279567  -0.58042   -1.91173   -0.307333   0.522845   0.428339  -0.411931   0.200915   1.17957   -0.935425   1.16616    0.514692   2.48984   0.511873   0.529869   1.47691    -1.07658   0.484018    1.17434    -0.573438  0.327207  -1.29374   -0.118497    0.128258   -0.0541646   0.140895  -0.310799    1.54304    0.335507  -0.00341236  -0.176898   0.516808   0.924072  -0.585164    1.53827   -0.636061   0.79707     0.749291   0.0849201   0.45401    0.321395  -0.506734   0.266006   0.933443  -0.520527  -0.902999   0.0262062   0.465821  -0.118953  -0.717891   1.00978    -0.235442  1.55142   -1.00552    1.17302    0.352612  -0.177874  -0.0886679   0.430984  -0.760004  -0.544292  -0.119538  -0.195881  -0.336758   1.46583   -0.175298   -0.354748  0.00517346  -0.750438  1.70184   -0.562814  0.316054    0.767391  -0.73726  -0.757611  -1.47848   1.03135     0.563206   0.846394   0.256359   1.05533    0.125765   0.39612    0.961345  0.0941988  -0.089885   1.29502    -0.0664698   0.131232  -0.337687  -0.519319   0.602464  -0.2515     0.405772   -0.343602  -0.816761  -1.58452   -1.4561     -0.791155  0.761665  0.0183406  -0.152501   1.38172    1.49586    0.0166777  -0.779346  -0.715295  -1.17785   -0.682978  1.24313   -0.489366  -0.63699    2.16072     0.317093  -0.691063  -0.94982   -1.24091    0.457661   0.532876  -0.522412  -0.501029  -1.40893    -0.252263  -1.08736    0.150993   0.412637  -0.933923  -0.529449   0.265206   1.24491    0.107231  -0.174725  -1.06104   0.840149  -0.492741  0.143618     0.578859  0.722095  -0.537063    0.613736   0.732854   0.37248    1.26095    -1.07727   -0.125156  -0.0124986  3.72356    0.970625   0.890268  -1.41944   0.786373  -1.22733    1.07356   -0.0306217  -1.15217    1.50872    0.0264025  -1.04553   -0.0611709  -0.364872  -0.226548  -0.462537   0.272347  -0.456219  1.12513    0.857045  -1.09741   -1.72311   -0.594458   -0.757815  -1.02019   0.422269  -0.193655  -1.45391   0.873215  -2.19558   0.208964  -1.14516   -0.337381  -0.496854   0.919391   -0.716669  0.0535456  -1.42037    -0.00674319   0.389859   0.458475   0.907221  -1.30985   -1.37256   -1.60047   -0.505552   0.61875   -0.757465   0.822419  -0.0427639   0.853394   2.59507    0.366989   -0.0329008  -1.11645     1.29839   -0.0530192  -1.78498    1.48256   -0.538633  0.0799767  -0.482197  -0.26072   -1.14347    2.3558     1.62998     0.478046   0.931111  -0.27574    -0.782182   1.11068   -0.68444   1.5998     0.78366    0.72309   -0.209365  -1.46072    -1.15748    0.327953  0.128201  -1.01237    0.119727  -0.409066  0.46039    0.465362  -0.863225  1.81852    0.188045  1.54678   1.081     -1.65731   0.128032  0.776946   0.044305  -0.261862  0.77664    -0.625888   0.592774  -1.09744    0.408371   0.735535   0.47138    0.431966    2.12942   0.137491   1.85438    0.283918  -0.0420999  -0.198554  -0.496366  -0.975197   -0.375542    -0.624403   0.756563  -1.10373    0.419574  -0.610385  -0.175683   0.437533   0.0375411   0.408508    0.626044  -0.0817684  -1.10886    0.102924  -0.682584  -0.468982  0.260742  1.20505  -0.0931325  -3.48551f-6   1.40946   -0.478581    0.116987  -1.65442    0.262211  1.0045   -0.816503   -0.727996   0.352518  -0.212634   -1.37593    0.498657  1.83097     0.109531  -1.10808  -1.82525   -0.298209   -0.904125  1.16093   -1.81062   -1.06019    1.05926   0.812536  1.64242   -0.10185   0.86348    0.877266  -1.65349    0.158995  -0.566406  -0.446861  0.894519   0.0224892  -0.592178   0.178883  -0.36615   0.821142   0.129818   -0.673218   0.405269  -0.982089   0.827986  0.583867   0.792764     0.519288  -0.182508  -0.187294   0.148538   0.148229  -0.134444  0.236786  -0.00286504  1.16993   -0.0292858  -0.0268475  -0.163809   0.388514  0.606911   0.421657  -1.01041    -1.96586    0.595688   0.0306445  -0.306848    0.0856431  0.475163  -0.370426    0.432656  -0.157978   -0.595105   0.798497  -0.14252    -1.75776     0.483704  -0.650046  -0.219203   0.269894  -0.296544   0.726319  -1.10005    -1.05458   -0.384325  -0.751842   0.906259    0.884754  -0.583406  -0.116333   -0.526297   0.478642   0.0922134   0.159074  0.905748  -0.0857973   0.219796    0.564487   -1.33538   -0.721668   -0.62154    1.13629   0.128696   0.327185   0.910954    -0.0909574   0.82408    0.162687   0.447605  0.158299  -0.390841  -0.170303   -0.86552     0.778191  -0.797704  0.924205  -0.591296  -1.14351    -0.71493  -1.16298  -0.797103   -1.30819   -1.01202      0.272782    0.29598   -0.41393    1.20965   -0.0744346   0.293698  -0.50632   1.4606    0.705848  0.462944   0.497362    0.566364   0.195013    0.172383   1.3534    -0.260103   0.331054  -0.413742  -0.105584   1.60083   -0.190865    1.26108    0.600156   0.29842     0.391139  -0.979916    0.583038    1.71865   -0.318918  -0.863718  -1.88778   -0.295073   0.189977  -1.08096   0.484877  -0.041101  0.716616    0.816868  1.5822     -1.21446   0.428847   -0.354476   0.720661    0.146732    0.457138   -0.92483    0.570437  -0.426539   0.353611  -0.32648    1.36294   -0.886541  -1.47531     1.2106     0.651053  0.0484874  -0.352498  1.01313    0.108886   0.276069   1.21721    0.102201  -0.867866  -0.000867966   1.35474   -1.80105     -1.35634   -0.343383  -0.104473  -0.501886    0.276894  -2.12895    0.263365  -0.210031   0.0722077  -0.494357  -0.826016   0.04738   -0.0788951  -0.197968    0.654038  -0.259403  -0.161816  -0.06837   -0.367003  -0.434204   1.33595   -1.0673     0.980912  -0.293666  -0.509453  -0.607653  -2.14906  1.25512   -1.01358   -0.496815   -0.242626  -0.0811359  1.26987    0.778309   0.668333   0.440972   1.02723   0.0804751  0.145357  -1.16688   -0.184509  -0.509687     1.11804    1.09097    0.340297  -0.299573   -1.00605   0.789975   -0.543716   0.722413   0.989371  -0.236753  -0.148317   0.778051   0.498868   0.0394637   -0.243142  -0.772922  -1.28798    0.0486041   1.86425    -2.65912    0.500048    -0.157422  -0.0705477  -0.139196  -0.297985    1.85124    0.373456   0.177149   0.228086    0.359065   0.388783  -0.396772  -1.6948    0.970797   0.181237  0.290747  -1.52031    -0.68506   -0.811758   0.240015  -0.414403   1.29677     -0.190585  -0.260233   0.546585  -0.616528   0.827898  -0.151768   0.559119   0.177378   -1.12126    0.601081  -0.423386  0.919735  -0.471893  -0.639297   0.271743  0.275929  0.00411423  -0.512567   1.62531    -1.08894    0.0407104   1.20951     0.083261  0.186921  1.11496   -1.0213      0.443074  -1.28677   -0.0463389  -1.59105    1.30275   0.747916  -0.784124  -0.538739  -0.137652  1.46202     0.48861    1.02897    0.63046    -1.23343    0.700587  -0.322588  -0.830321    -1.52001    0.469396  0.295849  -0.4034    -0.0690368   0.396518   0.331454  -1.1355    0.706598    0.42893   -0.39616   -0.368321  0.394521   1.01557    1.70748   -0.176885  -0.075257   0.331778  -0.444005    -0.277245  -0.825529  -0.521728  -0.445697  -0.748828  -0.150342   0.351846   0.164799    0.207266  -0.0778443   1.17663    0.0229681   1.23127     1.13379   0.0436302  -0.9205      0.799855   0.485607   0.452013   0.19538  -0.265697   -0.107323  -0.888999   0.197604  -0.316598   0.381671   1.54465    0.135771  -1.86636   -0.267492  0.263446  0.141025  -0.726154   0.174653  -0.401031   0.449161  -1.29597   -0.100846  -0.438199  -1.59299    0.934133  1.31116   0.344394  -0.0523931  0.0993925  0.0939554   0.421193   1.36465   -0.119104   0.582674    0.116981   0.0098937  0.960203  -0.341735  -0.0126145  -1.92125     0.0453247  -1.02869   0.514207   0.360616   1.07503   -1.05315     -0.573577   0.463981    0.077496   0.0663531   1.36912    3.10203    0.511559   0.981452  -0.844528   1.28477    -0.162814   0.512551   -0.982048  -0.356783  0.28802    0.175276  -0.605991  1.01705   -0.117121   1.48464    0.082554   0.61235   -0.269601   0.758309   0.197834  -0.827656    1.01687   -0.622935  -0.0323822  -0.0732178  -1.37344   -1.37477    -0.604092  0.67183   -0.41509   -0.999349    1.81558   0.665283  -0.870102   0.0430111  -0.961637   1.57213    0.143391  0.407881  0.653492  -0.304026   -0.83517    0.770364   0.171011  -0.836757     0.996499  1.24882    1.40771   -1.26487   0.938062  0.355974   0.188663   0.502535    0.555201  1.61204    0.288547  -0.457127  1.42444  1.4466     0.41017    0.326314   1.17007    0.070476  0.0522081  -0.676744  -1.07846    -0.613435   1.37781   -0.238841  0.785097  -0.590883   0.193773   -0.873832    0.5512     1.06459   -1.00536    0.57296    1.40707    1.12157   0.803194  -0.444346    0.10359    0.101288  -0.470576  -0.89245    0.0985856  -0.252537  -1.16745    0.775886    0.236075    0.941141  -0.615728   1.22151    1.19283    0.989236   0.862569   -0.406151  -0.197032  0.107075  -0.582008   0.406662  -0.869008   0.216611  -0.350059   -1.04511    0.171218   0.175046  -0.166116   0.603354  -0.63103    0.113555   1.86134    0.987344  0.432045   0.072812   0.121696   1.30131    0.732666   -0.00563634  -0.120952  -1.07795    1.07962     1.20711   -0.852857   0.38136    0.526936   0.806886  0.391821  -0.076005  0.684419   0.0938399   0.662841  0.738178  -0.45679    -0.0271614  -1.45653   0.367831   -0.309576   -0.423332   1.04846   -0.0409559   1.29593    0.476769   0.157602  -0.40861   -0.989431  0.232774  -0.243967   0.366846   1.54215    0.063357  -0.421597    0.289887  0.0425472  -0.135696   0.136779   0.962985  -1.87775    0.117766  0.284254   0.131006   1.27577   0.945107  -0.441025  -0.695019  0.619781    0.515912   0.810868  -1.95445    -1.95534   0.263256   1.10089   0.113315  -0.987867    0.43229    1.00647   -0.74258    1.4781      1.09698     0.627109  -0.664317  -0.911811  -0.0846208  0.253445  -1.35559    0.156378  -0.63603   -0.729997  0.8358    -1.08293   -0.264803  -0.428288  -0.0959054   1.33785   1.337      0.683658    0.85433    1.17326   0.192882  -1.71942   0.0975013  -0.349764  -0.745359   0.722953  -0.14103    2.23872   -0.3326     1.7479     -0.57897    0.724666  0.379428   1.03546   -0.767675  0.497643    0.306459   0.715852  -0.472715  0.42534   -0.462342  -0.357956  -1.14744   -0.94376   -0.308024   1.51047    -1.01731    0.773155   -0.00695883  -0.525468   0.276353    0.329004   -0.107667  0.315876  0.872613   -0.449711   0.53232   -0.0816247   0.961415  -1.10103   0.709205   1.6584     -0.379927   0.342621  -0.432447   1.34157   -0.195359   0.608872   0.257987  -0.199835   0.673125   -1.42295  -0.0731714  -1.01104    -1.81736     1.02627  -0.0143074  -1.16258   1.04042   -0.310591  -0.668209  -0.204118   0.964055   1.24488    1.33339    0.924568   -1.00242    0.173079   -0.317696  -0.213252  0.0649276   0.139825  -0.758695  -0.233177  -0.618067   0.270363  -0.153473  -0.0194956   -0.00825155  -1.14667    0.918923  -0.21228   -0.107386   0.469892  -0.0207839   1.4715    0.249964   0.440701  0.911436  -1.08973   -0.684673    0.353372  0.567109   1.58329   -0.701211   0.336219  -1.19546    1.18838    1.69697    0.180875    -0.59144    0.797112   1.0959    -0.086335  1.37067    0.599286   0.28121    0.272632  0.381403  -0.154128   0.38577   -0.797607  -0.935401   0.675854   1.18365    -1.35117    -1.04304   -1.72905   -0.356352  -0.402078  -0.384559  2.28158   -0.692644   0.949097  -1.24657   -1.9066     0.61356    -0.24244   -0.344234  0.0566467  -0.585388   0.751483  -1.22278   -0.117216   0.358027  -0.653888   0.0866115  -0.356745  -1.04287   -0.196599   -0.23291    0.492832   1.76969    -1.43293    2.22978  -0.0483413   0.514957    1.32617    0.656741  -1.0081    0.617427  -0.084523  -0.422047  -0.579582   0.868701   1.55469    1.81361   -0.363282   0.0896042  0.940627   0.269096   0.866836  -0.0665212  -0.120512  -1.13824   1.01598   -1.50936    0.501537   1.79975    0.127789  0.794613  -0.304346   0.494865   0.884085   1.19631   -0.473904  -0.72776   0.61023   1.2318      -1.18971   -0.23094   -0.642733  -0.121051  -0.433098  1.00934   -0.20304   -0.343414  0.234407   1.80065   -0.211901  -0.436937  -0.927859  -1.18349   -0.0615755  -1.20401   -0.431334  -0.610703   1.30398   -0.869285   0.394956  -0.861319  -0.334173  -0.656268   1.08542  -0.723641   0.166876  -0.5169   -0.12625     1.52373   -0.296887  -1.36143   -1.37323   -0.971754  0.449098  -1.94578   0.948603   0.773405   0.224653   0.739458    1.33573    0.580072  0.523447  -0.644136   1.10992   -0.680709  -1.66422     1.26591    1.46199   -0.631567   1.00191   -0.244615  -0.932341   0.121326  0.486199  0.688946  -0.121005  -0.345592   0.884957   0.465176   -0.0683113  0.220577  -0.0657569   0.221578  -0.643445  -0.202002  -0.121599  0.610621  1.133     0.703097  -0.158088   0.392539   0.130192   0.752761  0.0665634  -0.316927  -2.53941    0.612935  0.277957   0.221202
 0.400258   0.0147262  -0.5463     0.102026   1.22434   -0.343935  -2.4611      0.545562   1.4273     -0.860086    0.971775   0.657614   0.782044  -0.286227   0.42671    0.841451   1.3344     0.625997  0.653809  -1.31513    -1.3214    -0.682569   -0.291507  -0.199943   0.749989   -0.540893  -0.138679   1.12158   -0.684833  -0.348951  -0.411886    0.539713    1.08569    0.948424  1.08664   0.847382  -1.16711    0.498069   0.277221  -0.414817   0.436021  -0.133279  -0.133266   0.0225094  0.448574  -0.719486   0.0175072  -0.504701  -0.750436  -0.153252   0.377546  -0.0360518   0.444191   0.294484    0.611196  -1.1288    -0.314015  -0.538268  -0.11708   -0.580565  -0.782356  -0.314445  -0.818877  1.68638   0.801606  -0.116367  -1.37403  -0.425535   1.06634    -0.12269   -0.27745   -1.5055     -0.589694  -0.495865  -0.310319   0.343943  -0.712498  -0.239118    0.211174  -0.921978  -0.447809   0.4697    -0.219117   0.247985  -0.651652  -1.58006    0.310937  -0.682889   1.01388    0.209203  -1.305     -1.52138  -1.74658   -0.863955   0.13237   -0.543941   0.641553  -0.565569  -1.94926  0.155599   -2.07019   -2.19474  -1.29995   -0.0486868  -1.71481  0.0470264  0.388544   1.89684   -0.0501377   0.206867  -1.11265     -0.428912  0.736804   0.467939  -0.551959   1.87209   -0.950977   0.301568  -0.0943561  0.487625  -0.52095     -1.22897   -0.762035   0.885209  -1.02893   1.07763    2.25317   -1.89031   1.11086   1.36087   -0.324425    1.08433   -1.2348    -2.30403     -0.282569  -0.7152    -0.467444  -0.807211  -0.344476  -0.498543  -2.21346     0.522333   1.19055    -0.761122  -1.9726    0.316726  -0.649586   0.834546  -0.208274   1.20604    -2.6056    -0.947081  -0.922402  -0.0282696  1.94189   -0.24112  -0.830287    1.42536     0.584118  0.280633  -1.4707     0.851164  0.700536  0.247307   0.481743    0.830484  -1.08271  0.26057    0.45741   -0.171008   0.78957   0.403601    0.761852   1.26669    0.0947093   0.823103   -0.495605  -0.621311  -0.345547  -0.170761  0.13764     0.709524   0.0411616   0.230696  -0.631436   0.681806  -0.316507  1.19963    0.0686459   1.20618  0.384247  -0.177273  -1.92425    0.471054    0.924979  -1.46901    0.757296  0.116012   0.108527   0.395063  0.441818  -0.452702   1.31873    0.252687   1.20767    0.0104551  -0.974841   -0.163942   0.0283001  -0.163909  -0.00526629  0.0511969  -0.597131  -1.28015   -0.452101  -0.244912  -0.246664   1.13459   -0.327548  -0.366351  2.03512    -1.27509   -0.0806994   1.5205    1.52113   -0.0111893  -0.699976  0.809153  -1.03154   -0.718476    0.604251   0.547772   0.599994   -0.922208   0.0593729  0.933596   0.432371   0.585118  0.171023   0.624626  -0.26079   0.8781    -1.23862    0.789767  -0.124429  -1.4042     0.753075  0.862179  -0.151321  -0.274879   0.806766  -0.696066   0.14964    1.01603   -0.326292   0.850468   -0.943166   1.10278  -2.50029    1.38916    0.123096  -1.57469  -0.187041   0.61534   -0.199939    0.713252   0.435432   -0.369073  -1.63449  -0.644631  0.387467  -0.0450794  -0.124907   0.502701  -0.0106675  -0.233104    0.456168  -0.344663  -0.459134  0.660358   0.0874337  -0.789003   -0.806319  0.725839   -1.37855    1.2004   -0.264575  -1.11589   -0.0563332  -0.272479   0.069091   0.777933  -0.102025   1.34646   -1.22076    0.44126    0.799695  -0.452979  -0.0575499  0.00512099   0.170226   -0.367928  -0.320644  -2.24229    1.48079   -1.04155   -1.63776   -0.234736   1.14426    -1.22853    1.44036   -0.178818  0.206851  0.763841  0.895223    -0.444288   -0.359901   1.28688    0.158927  -0.30917    1.03975   1.26066    0.82867   -1.67266     -0.494706   1.28668   -1.78848   0.48734   -1.5051     0.263827  -0.0404175  -0.606377  -0.335367   0.269597  -0.573465  -0.102938   0.177824  -0.375403  0.782038      0.949748  0.991096   0.0563235   0.242803  0.647454  0.673193  -1.37029     -2.00142   -0.429433   0.00319028  -0.0352628  -0.790768   0.652011   0.707588  -0.215374  -0.852918   0.55482    -0.164989   0.233316   0.391629   1.22927   0.361682   1.01351   -0.392413  0.528823   0.821135   0.480418   0.289912  -0.131792   -0.203359   1.65205  -1.12797     -1.03338    0.300636   0.9993    -0.305187    0.239751  0.196632   0.134029  -0.308568  -1.11421    -0.393567   0.176177  -0.0286226  -1.13816    0.145168   -0.905816   0.621963  0.0216943  -0.334459  -0.426173  -0.573953  -0.576362   0.508241   0.72052   0.0733149   0.021718    0.866993  -0.231688   1.30358   0.041571   0.235763  -0.65129   -0.204803  -1.09391   -0.875499   0.0536306   1.10366   -0.33817   -2.06234   -1.34585    0.275904   0.971897  0.191267   0.387756  -0.96431    0.764592  0.855919  0.490935   -0.402585   -0.518661  -1.4333    -2.0719    -2.65046     0.389563  -0.633894  -1.40057   -0.383721  1.81652   -1.00266   -0.112318  -0.42954   -0.00577922   0.211295  -0.151564   0.16419    1.39066    1.1001     0.703603  -0.801734   0.0110728  -0.288987  -1.35203    0.328616   0.0385732     0.423188   0.70616   -0.0482865  0.624267   -1.07319    0.57669   -0.0423513  -0.854341  -0.239011    0.159241  -0.153642   -0.155834    0.46634    0.55669   0.375104  -0.00852897   0.621812  -1.56739    0.71946    -0.47719   1.31893    1.1354    -1.35747    0.0794218  -0.418641    1.13533   -0.694551   0.73472   0.311974  -0.186489   -0.528838   0.143384  -0.398881  -0.317552   1.22738    0.065295   0.100928  -0.436159   0.821417  -1.05081   0.507037   0.0750012   -0.356688  -0.66945   -1.01841    0.406058   0.255096   -0.646436   0.845367  0.0332186  -0.605631  1.72718   -0.0100253  -0.608367  -0.888043  -0.00372165  0.667953   0.20674   -0.490386  -0.141607  -0.501379   0.038289  -1.75101   -0.794253   0.317307   0.763395  0.149446  -0.801997  -1.83104    -0.193221  -0.765512   0.502934  0.20484   0.112891   0.388649   0.00436918   0.671183  0.993966   1.07287   -1.24036   -0.881402   1.48024   0.495477   1.14867    0.101981  -0.522999  -0.218246  -0.211377  -1.72599     0.121593  0.464409  -0.667965  -0.16562    1.54417   -1.35604     0.621558  -0.367289  -0.955122  -1.20399   -0.927579  -0.869446  0.660153   0.182818  0.926568  -0.0362388   0.176127  -0.049821  0.815889  -0.172718  0.296846  -1.15841   -0.509693  0.526428  -0.811593   0.188522  -0.127372   0.31012    -1.65892   -0.386757  0.0254104  -0.380163  -2.14933   -0.595121  -0.090426  -0.841638   -0.10621    0.50168   -0.159882   -1.52203    -0.0345813   0.728447  0.0861959  -0.151191  0.418885  -0.535565  -0.622466   0.407734   -0.621861   0.327701  -0.362431  -0.257396  -0.325843  -0.332578  -1.10639    -1.28468   0.121458   0.690256   1.83094   -0.869687  -0.910869   0.252118  -0.724843  -0.987587  -1.52915   -0.355977  -1.86051   -0.746802  -0.594425  0.878626  -1.60767   -0.840642  0.175423   0.3382     0.822281   0.729362  -0.275307   0.551426  -1.32464   -0.79605   -1.49114   0.268481   1.31663    0.574535  -0.0189586   0.702463  -0.811563   1.1512     0.189901   1.02938   -1.11651     1.1479     -0.608027   -0.163306  1.27663   -1.23356    -0.367353   0.686415   0.575526   -1.00636    0.342453   1.69953    1.34037   -1.19757   -1.33662   0.343233  -0.323174  1.39317    0.682282  -0.0633273   0.267906   0.014138    -0.479909   0.0684893   0.465186   0.442375  -1.32241    -1.4348    1.14418   -1.05616   -1.0254    -0.477216  -0.0664782   0.0402938   0.60604     0.852596  -0.170563  -0.0756647  -0.0940364  -1.18539    0.752403  -0.732748   -0.296767   1.01552    1.11031   0.498261  -1.71571     -0.654911   1.5013     1.17651    -1.18543   -0.0864537  -1.18398    0.335962  -1.11039    0.930962   1.38681     0.354261   0.000900356   0.512101   1.03172   0.0272191   0.717388   -2.1522     1.24508   -0.508003  -0.266046  -1.13996   -0.221561   0.678807   0.0419365  -0.197081  -0.530246   -0.0629733   0.353363   -0.208772   -1.25791   0.926706   0.0687503   0.51013   -1.75931   1.18043   -0.149301   1.296      -0.634252  -0.19215   -0.136815  -0.748294  -1.01358    -0.246551  -1.54932     1.22086   -1.53498   -1.28056    0.47852   -0.693648   0.304312  -0.953999   0.259288   0.367946  -1.10844   -0.798221   -0.279038   0.111385   1.97566    0.251323  1.5735      0.441209  -1.24084    -0.121613  -1.25475   -1.17507     0.765256   0.936789   0.606344  0.388895  -0.410508  -0.814117  -1.03406   -1.11135   -0.970867  -0.642736   0.568544    1.68157    0.650214  -1.55343     0.641878  -0.103407  -0.0879035  0.499644   0.125234   0.190604     0.631656   0.7706    0.447548  -0.498497  -0.219339  -0.345604  -0.560708  -1.49291   0.0793258  -0.0511688   0.597093   -0.334206  -0.455822   2.68062    -1.0472    -0.574383  0.159172  0.154229  -0.529153    0.0327678  -0.0988729  0.65835   -0.421358  -0.649355  -0.794023   0.580278   0.492673  -0.0942085   1.00319   -0.24861   0.224016   0.471972  -0.424925  -0.399516   1.16185   0.230714   1.21193    0.00750966  -0.489457  1.05695   -0.688085   0.00937424  -1.21709   -0.459134   0.326748   0.775726  -0.645863  0.547783  0.998711  0.694842    -0.701261    0.712426  -0.583827  -0.136493  -1.08645    0.610366  -0.858116   2.17637    0.157784  -0.892763  1.11708     0.370363   0.274926  -1.16768  -0.0134556   0.434797  -0.57382    0.154975   0.870897    1.44339     0.976969   0.107314  -0.934894  0.722231  -2.06375   -1.37663    0.466777    0.178341  -1.62412   -0.0578368  0.450939   0.259248  0.884039  0.522268   0.779539  -0.551652   0.994447  0.626434   -0.669156   0.429467   1.0433    0.335402   0.526696   0.691452   1.57136   -0.721886  0.0125477   1.14262   1.02421    0.104609   1.11179    0.225554  -0.197748  -0.44365   -0.562074  0.262628   1.44932    0.0424148  -0.242014   0.671795   0.478541  -0.337709   0.0413805  -2.16967     0.432184   0.226119   0.275352   0.435149  -0.251699  0.127107   0.381981   0.766477   1.07102   -0.0138912  -1.05214   -0.474148   0.0194477   0.306193  -0.545285   1.72996    0.518671  -0.789095  1.35095    0.470927   1.03802    0.439096   0.567752   0.0273702  -0.0277603  -0.363124   0.692271  1.15611   -0.722102  -0.799098  -0.932124   1.13968   -1.81081   -0.69791   0.961509   0.882941   0.553479  -0.667574    0.914731  -0.176009   0.0786076  -0.356103  -0.625318   0.6143    -1.2426   0.571062  -0.942156   0.980384  -0.065923   0.949474   0.279705   0.544013  -1.77589    1.19138    0.591024   0.458481  -2.06662   -0.336414  -1.48261  -0.3822     0.819892  -1.03317     0.20804  -0.443374   -0.0762296  -1.15734   0.221604  -0.056837  -0.0914451  -1.22521     0.599851   -0.703004   0.285815    0.837573   0.113858  -0.558867    -0.435291  -0.398809   0.545437   0.0545232   0.546502   1.61768   -0.0400696  -0.258681  -1.334      -0.0455924  0.826806  -0.270611  -0.650895   0.563997  -1.18498    0.267218   1.69203    -0.951803   0.411256   0.499757  -0.0363283   0.36895   0.270768   1.09125    0.382727   0.539117  -1.92149    0.285568   -0.43456    1.60332   -0.121169   0.118203   0.378817   1.28738   -0.336552   0.134799    0.104931  0.0241584    0.458199  0.441687  -1.07593   0.117477   -1.73909    0.34765  -2.05725    0.203797  0.689256    0.484122  -0.077784  -0.805049  -0.746775  -1.47603    1.7392    -0.572793  0.628126    0.116456  -0.571374    2.36283     0.82534   -0.39889    1.66402   -0.118909  -0.671754  -0.0131584  -0.882569  -0.126485   1.77354   -0.0485611  -0.616764  1.34875   0.400166    0.571284  -1.0077    -0.402288  -0.973232   -0.287209  -1.36858    0.464634   0.944992  0.871174   0.17201   -0.430691  -0.0705893   0.632678   0.97361    0.579417   0.521817   0.924455  -1.27304   -0.244613  -0.987241   0.0209168   0.139472   1.89326    0.0286361  0.786873  -0.551995   0.34627    0.305469   1.06081    0.842201  -1.13067    0.757115  0.594667   0.360867  0.222383     0.668981  0.923279   0.0671941   0.953372   0.295914  -0.336713   0.0925702  -0.107906   0.90982   -0.805493   0.176845  -0.831005   0.537931  -1.02851   0.948628   0.503729  -0.631718  -0.207827    0.692366   0.883201  -0.282021   -0.306045  -0.892947    0.115063   0.919766   1.45108   -0.501041   0.897982  0.215934   2.05371   -0.899734  -0.976893  -0.0967358   0.689873  -0.169953  1.92361   -0.681352   0.186442  1.14925    0.875509  0.864352  -0.193629   0.162833  -0.185993  -0.735879    0.102343  0.484657   -0.0131592  -0.707171    -0.436005  -0.448645  -1.07308    1.79151   -1.82552   -1.60465    0.115349   0.340495   0.820255  -1.91901   -0.678937    0.943425  -0.190992  -0.93511     0.0328706   0.601092   -0.686483  -2.11247     0.552268  -0.275717  -1.1269    0.175773   -0.180829   1.33222    0.684012   0.428308  -0.0934778  -0.261591  -0.279972   0.0337431   1.76357    0.105333   1.18371   1.9021    -0.611881   0.161086   0.179333   0.0338932   0.740928   1.20704   0.113628   0.486021   0.178395   1.61653   0.173558   0.358885   0.674891  0.690501   0.394423  1.24621   0.572655  -0.392322  0.667382  0.466599  -1.3749    -0.58261   0.0657779  -1.23186   -1.57052    0.740124  -1.18326    0.307552  -0.537558  -0.0313106   2.22761   0.418596   1.4768    -0.940527   0.0488636  -1.34343   -0.196207  -0.162648   -0.00420247  -0.27209    2.40927   -0.982179   0.578893  -0.524653   0.855404  -0.428557  -0.571042   -0.0900163  -1.15767    2.29656     0.356461   0.997299   0.843617  -0.212096  0.35589   0.54905  -0.744014   -1.74641     -1.38532   -0.805936   -0.129779  -1.06783    0.477666  1.26067  -0.0467453  -0.132314   0.827404   0.0286191   0.827353   1.37595   0.721893   -0.569019  -1.69195   1.25133    0.0237031   0.485667  0.458354  -0.247158  -1.41988   -0.320203  0.795454  0.319705  -1.37698  -0.31513   -0.463514  -0.679253   0.983348  -0.637658  -0.330145  0.475355  -0.566355    1.28926    0.728289   0.174933  0.195263  -1.33642     0.280773  -0.363086  -0.85125   -0.213166  0.960369  -0.571766     1.05095   -2.25356    1.58417    0.488765  -0.346865   0.30972   0.214267  -0.411791    0.317795   0.549759   -0.426644    1.07921   -0.376466  0.384005  -0.281306   1.0313     -0.431819  -0.755674  -0.179458   -0.9401     -0.901986   0.661709  -0.496238   -0.565738  -0.0859175  -1.49572    1.00106    0.0315083   1.33932     0.788138   1.77039    1.62041    1.03857   -1.27339   -0.899352  -1.02719     1.03258    0.36866   -0.18153   -1.34641    -0.725395  -0.180546   0.617256   -0.222924  -0.632516   0.911339   -0.649868  0.153246   0.292457   -0.00556957  0.0353477   0.753854   0.0907439  -0.262907  -0.139584  0.813872  -0.103625  -0.00696011   0.815801   -0.431583  -0.833668  -0.409494  0.529078   0.646775   1.44222    -0.154063   -1.22636   -0.256324  0.439546   1.17809    0.0396044  -0.79349   1.00711   0.0761415  -1.4671    -0.00232365   0.0900353   1.07566   -0.693995  -0.128327  -0.143942   -0.397896  -0.243491  0.869702  1.49564   0.146794   0.373949    0.703144  -0.0685955   1.12935   -0.562512   0.930639  -0.130147  -1.17551    0.46854    0.988972  -0.0424367   0.384594  -0.115781   1.72442    -0.789813   0.0536826  -0.541678    0.354201  -1.13312   -1.81276    1.23508   -0.568287  -1.50987    0.106512  0.632378   0.894361  1.13049     1.38284   0.397015    0.762924  0.0134212   0.321716   0.583874   -0.0169648  -0.0180857  -0.590757  -1.61434   -1.23521   -1.82391   -1.08626    1.22831   -0.228009   0.0163422  -0.410929  -0.486687  0.629399    0.554296  0.114023   0.103993   0.425838   1.2179     1.62423    0.153021  -1.01061      -0.282312   0.855318     0.888864   1.07085   -1.13085    0.0977827  -0.245188   0.948085   1.18137   -0.358881  -1.63441    -0.772568  -2.49573   -0.826197   0.714436    2.10927     0.719178   1.16676   -0.35809   -1.07756    1.38488   -0.169389  -0.261077  -0.195735  -0.968815   0.396996   0.375053   0.108459   1.3699   1.1072     0.176439   0.0714965  -0.59889    0.812036   0.621268  -0.409059   0.890954   0.420451  -0.310915  0.347983   0.796215   0.930683   0.814839   0.0750708   -0.973093   0.826168   0.308912   0.0898575   0.274562  0.0788726  -0.248604  -0.258081  -1.08689   -0.622784   0.103459   1.08256   -0.284091  -0.00211216   0.06761    0.456907   1.06206   -0.382675   -0.22896    -0.924681   0.630525    -1.52224   -0.0890937  -0.311119   2.17238    -0.834947   0.139234  -1.75312   -0.0475341  -0.828566  -0.41834   -0.24692    0.821287  0.816294  -0.683944  0.948858   0.0832119   0.192703   0.272628  -0.507182  -0.844853  -0.00804485   0.404474  -0.246134  -0.905973  -0.384928  -0.494068  -0.513982   0.147393   0.0443136   1.31803   -0.525014   0.476771  0.476769  -1.17716    0.950264  -0.076494  0.514711  1.20153      0.379562   0.0480522  -1.04056   -0.1413     -0.0748758  -0.329776  1.27498   0.581806   0.422431   -0.919681   0.233393   0.207582   -0.918493  -0.643211  0.441254   0.55324    0.307253  -0.354171  0.246026    1.40412   -0.449337   0.0932287   0.676885  -1.67146    1.05605    0.00577887  -2.48422   -0.868183  0.389363   0.206786   0.748482   -0.881538  -0.646095   0.304471  0.0978683  -1.97599    0.707941  -1.20006   0.703693  -0.258922  -0.491472   1.51466    0.697909  -0.958426  -0.00653058   0.109057   0.289534  -0.264443  -0.610217  -0.332008   0.401846  -1.13867   -0.680143    0.775641   0.218889    0.177971  -0.646653   -0.620813    1.03905   0.244559    0.644522    1.1729     1.16205    1.19766    1.04604  -0.0703259   0.471699  -0.380495  -0.244316  -1.1099    -0.805241  -0.640027  -0.722665  -0.673397  -1.15623   1.25184   0.614961   0.0215217  0.930767  -0.0532292  0.536108   0.311602   0.940964   0.576477   0.323785  -0.171799  0.551242  0.371717  -0.639535   0.661326   1.1904      0.273974  -0.323711  -0.498299  -0.0429984   1.43088   -0.519709   0.772045   0.246028   1.06994    -0.0653521  -1.26967    -1.52134   0.364387   0.170904   0.339559  -0.548783     1.20083    0.805049    1.39637   -0.551024   -0.307573  -1.43061   -0.678284  -0.484649   0.210896  -0.0240797  -0.928913  -0.809088    0.2901    -1.3361    0.515649  -0.692858  -0.333793  1.26531    0.221003  -0.465016  -0.937505  -1.31387    1.72938    0.594804  -0.528664   0.0594149  -0.236277  -0.370423  -0.360793   -0.606025   -0.467747  -1.31361     0.340271  0.231779   0.468308   0.0383909  -0.159927  0.643059   0.113078  -0.770846    1.53051   -0.357352  -0.23191   1.38393   0.881073  -0.449215    1.29993   -0.730824  -0.761519   0.00125249  -0.349927  0.901147  -0.512245   0.94012  -0.341806  0.113508  -1.97458   -0.0655225   0.232833  1.1072    -0.551155   0.821524  1.2827   0.661753   0.936445  -1.10896   -0.0383568  0.558944  0.702657   -0.780054   0.170321   -1.00455    0.385714  -0.247155  1.71881   -0.575881  -0.0344357   1.03377    -0.511353   0.869787  -0.369658  -0.341921  -0.77338   -0.668669  0.772206   0.871128   -1.84781   -0.846244   0.295791   0.893015  -0.483609   -0.866613   1.37513    0.0809963   0.0778632  -0.45685    0.960727  -0.584964   0.522798  -1.57052   -0.0252869  -1.37122   -1.19643   0.943335   0.725091   0.910739  -0.886625  -1.02903    0.742703    0.556859   0.138057  -0.373164  -0.675567   1.48737   -1.01952   -0.548968   0.776262   1.21824   0.632254   0.179413  -0.347155  -0.176578  -1.21112     0.598314    -0.136389   0.473231   0.727165   -0.108082  -0.660796  -0.176695  -0.274817   0.587499  0.821606   1.1385    0.594107  -1.33478    -1.8478    1.0624    -0.0738901   0.697909    0.689973  0.864306   -1.99233     1.66536   -1.00922   -0.912392   -0.307011  -0.33911   -0.88598   -1.52183   -1.72979   0.493942  -0.214375  -0.644677   1.35713    2.01114   -0.0123051   0.888878  0.355753    0.361832   1.15631   -1.27251    0.877084  -0.368958  0.666742  -0.173092   0.208703  0.204853   0.119311   0.365301  0.00585019  1.16078   -0.540596   1.19912     1.1091   -0.865799   0.694091  0.133853   0.0352889  -1.03462    0.360353  -0.317775  -0.941909   -0.0332092   0.171371  -1.31617    0.455025  -0.154829   0.206033  -1.28043   -0.111383   1.09696   -0.781916  1.19858    0.369014  -0.332761   0.234402  -0.102415    0.42709  -0.89513    0.0737619   1.15514    0.943269  0.775886   0.771018  0.444406    0.646068   2.044      0.879728   1.45405   -0.25701    0.243084   0.0164813   0.979162  -0.600863  0.821574   0.672201  -1.4877    0.541125    1.61104   -0.134184  -0.172351  0.211135  -1.72837    1.79319    0.605424  -0.446187  -1.09292   -2.05274     0.35455   -0.0823156  -0.532393    -0.100379  -0.125895    0.0732678  -1.66335   0.452748  0.717352    0.883947  -1.30128   -0.320132   -0.139185  -0.702111  0.329159  -0.0349112   0.376414  -1.45247   -1.30618   -0.571621   1.82444    1.62335    0.424706  -0.713359   0.0172964  -0.4845   -0.31439     0.0212558  -0.18229     1.2328    0.203906    0.212237  0.203731   0.217105   1.28609    0.258018   1.76796    0.702754  -0.574488  -1.77472     0.364903  -0.0886961   0.392433  -1.94674   0.884525   -2.2442    -0.787209  -0.109971   1.0566    -0.428514  -0.148076   0.00414756  -0.335507    -0.888484  -0.620897  -0.719228  -0.825525   0.520709   0.574251    0.107683  0.93546   -0.969667  0.731607   0.390385  -0.0239439  -0.133149  0.415462  -0.502895   0.364045  -1.02543   -1.24404    0.937718   0.940159  -0.00219319   0.68723   -0.775112  -1.61866    0.281697  0.797     -0.78858   -1.34527    1.77783   0.843737   0.607323  -0.60592    0.319276   0.523878   1.00203    0.483463   -0.0825665   0.37374   -0.477279  -0.758456   0.462266   0.468484  0.752333   1.89483   -0.378355  -1.03169    0.829312   0.0387006  -0.344427   0.702417  0.720734    1.34439   -0.363162   0.252801   0.393786  -0.303096  -0.433526   0.740959    0.824092  -1.27872    0.0152407   1.0196     0.126695   0.671202    0.140622  -1.35903  -0.914929    0.0397754   0.118266  -0.462091  -0.523362  0.600732   1.0829    -1.83589   -0.797815  -0.046798   0.103265   0.100791  -1.2053    -0.381995   0.239862   0.206837  -0.660852  -0.174238    0.539379   1.94458   0.717659  -1.17834   -1.46109   -0.859035  -0.938716  0.320193   0.395201  -0.219824  -0.327605   1.35351   -0.68991   -1.35299  -0.492513  1.39556     -0.315673  -0.54047   -0.667855   0.234125  -0.812051  0.366362   0.676606   0.269158  3.12748   -0.673722   0.019928  -0.108261   1.37064   -0.839369  -0.941878   -1.1801    -0.550072  -0.681143   0.86039    0.493069  -1.86108    1.57865    0.171859  -0.894223   1.24622  -0.454912  -1.04689   -1.05232  -0.0915122  -0.764881  -0.824266   0.985168  -1.15253    1.32931   0.1896    -0.650013  0.0756801  1.59961   -0.513814  -0.0605022  -1.17164    0.20625   0.946569   0.749507   0.378129  -0.40297   -0.00169963  0.647128   0.716214   0.143602  -0.437542   0.875524  -0.18718   -1.22075   0.395792  0.272191   0.660316  -0.623854  -0.262403  -0.0405872   0.79263    0.458682  -0.630988   -0.524122  -0.598128   0.781008  -0.247746  1.43491   0.354493  1.47071    1.50928    1.02493    1.37521    0.509921  0.328763   -0.95744   -0.687037  -0.640119  1.23151   -0.412385

Visualize conditionally normalized state.

X = prior_state
Y = prior_obs
X = reshape(X, (1, 1, size(X, 1), size(X, 2)))
Y = reshape(Y, (1, 1, size(Y, 1), size(Y, 2)))
Z = normalize_samples(
    filter.network_device,
    X,
    Y,
    size(X);
    device=filter.device,
    num_samples=N,
    batch_size=filter.training_config.batch_size,
)
Z = Z[1, 1, :, :]

table_Z = to_table(Z; prefix=:z)

@static if VERSION >= v"1.10"
    table_Z_mean = to_table(mean(Z; dims=2)[:, 1]; prefix=:z)
    fig = pairplot(
        table_Z => (
            PairPlots.Hist(; colormap=:Blues),
            PairPlots.MarginDensity(;
                bandwidth=kde_bandwidth, color=RGBf((49, 130, 189) ./ 255...)
            ),
            PairPlots.TrendLine(; color=:red),
            PairPlots.Correlation(),
            PairPlots.Scatter(),
        ),
        PairPlots.Truth(
            table_Z_mean; label="Mean Values", color=(:black, 0.5), linewidth=4
        ),
    )
    supertitle = Label(fig[0, :], "latent state"; fontsize=30)
    resize_to_layout!(fig)
    display_interactive(fig)
end

Look at prior mean.

display_interactive(mean(prior_state; dims=2))
3×1 Matrix{Float64}:
 -4.098284211995207e-17
  2.5478751053409354e-18
 -3.881443777498106e-17

Look at prior covariance.

display_interactive(cov(prior_state; dims=2))
3×3 Matrix{Float64}:
 1.0         0.00344515  0.0286265
 0.00344515  1.0         0.0365354
 0.0286265   0.0365354   1.0

Look at latent mean.

display_interactive(mean(Z; dims=2))
3×1 Matrix{Float32}:
 -0.0136672165
 -0.0085750185
  0.037852332

Look at latent covariance.

display_interactive(cov(Z; dims=2))
3×3 Matrix{Float32}:
  0.980779   0.0180562  -0.0464153
  0.0180562  1.1015      0.0305349
 -0.0464153  0.0305349   0.980134

Look at posterior mean.

display_interactive(mean(posterior; dims=2))
3×1 Matrix{Float32}:
 0.00048608182
 0.05078329
 0.012495356

Look at posterior covariance.

display_interactive(cov(posterior; dims=2))
3×3 Matrix{Float32}:
 0.680222    0.00651033  0.0124976
 0.00651033  0.712018    0.00995877
 0.0124976   0.00995877  0.716246

Visualize posterior.

table_posterior = to_table(posterior)

@static if VERSION >= v"1.10"
    table_posterior_mean = to_table(mean(posterior; dims=2)[:, 1])
    fig = pairplot(
        table_posterior => (
            PairPlots.Hist(; colormap=:Blues),
            PairPlots.MarginDensity(;
                bandwidth=kde_bandwidth, color=RGBf((49, 130, 189) ./ 255...)
            ),
            PairPlots.TrendLine(; color=:red),
            PairPlots.Correlation(),
            PairPlots.Scatter(),
        ),
        PairPlots.Truth(
            table_posterior_mean; label="Mean Values", color=(:black, 0.5), linewidth=4
        ),
    )
    supertitle = Label(fig[0, :], "posterior state"; fontsize=30)
    resize_to_layout!(fig)
    display_interactive(fig)
end

The posterior should have mean 0 and some TBD variance.

X = reshape(prior_state, (1, 1, size(prior_state, 1), size(prior_state, 2)))
Y = reshape(prior_obs, (1, 1, size(prior_obs, 1), size(prior_obs, 2)))
y_obs_r = reshape(y_obs, (1, 1, size(y_obs, 1), size(y_obs, 2)))

fresh_samples = draw_posterior_samples(
    filter.network_device,
    y_obs_r,
    size(X);
    device=filter.device,
    num_samples=32,
    batch_size=filter.training_config.batch_size,
    log_data=nothing,
)[
    1, 1, :, :,
]

@test true;

Plot some training metrics.

common_kwargs = (; linewidth=3)

fig = Figure()

ax = Axis(fig[1, 1])

misfit_train = log_data[:network_training][:training][:loss]
misfit_test = log_data[:network_training][:testing][:loss]

# The training metrics are recorded for each batch, but test metrics are computed each
# epoch.
num_batches = length(misfit_train)
num_epochs = length(misfit_test)
batches_per_epochs = div(num_batches, num_epochs)

test_epochs = 1:num_epochs
train_epochs = (1:num_batches) ./ batches_per_epochs

lines_train = lines!(ax, train_epochs, misfit_train; label="train", common_kwargs...)
lines_test = lines!(ax, test_epochs, misfit_test; label="test", common_kwargs...)

ax.xlabel = "epoch number"
ax.ylabel = "loss: 2-norm"
fig[1, end + 1] = Legend(fig, ax; labelsize=14, unique=true)

N_train = round(Int, N * training_config.validation_perc)
N_valid = N - N_train
ax.title = "Training: $N_train, Validation: $N_valid, Batch size: $(training_config.batch_size)"

ax = Axis(fig[2, 1])

x = log_data[:network_training][:training][:logdet]
lines!(ax, train_epochs, x; color=lines_train.color, common_kwargs...)

x = log_data[:network_training][:testing][:logdet]
lines!(ax, test_epochs, x; color=lines_test.color, common_kwargs...)

ax.xlabel = "epoch number"
ax.ylabel = "loss: log determinant"

supertitle = Label(fig[0, :], "Training log"; fontsize=30)
resize_to_layout!(fig)
display_interactive(fig)

This page was generated using Literate.jl.