LAH Los Angeles University Hospital SLICOT Working note 2002-2 Y. Chahlaoui, P. Van Dooren --> Ex. 2.11 W. Draijer, M. Steinbuch, O.H. Bosgra and "A survey of model reduction methods for large--scale systems" A. C. Antoulas, D. C. Sorensen and S. Gugercin, 2000
simulation.py
# This file was autogenerated from the template: simulation.py.template (2022-10-10 15:58:17).
import numpy as np
import system_model
from scipy.integrate import solve_ivp, odeint
from ackrep_core import ResultContainer
from ackrep_core.system_model_management import save_plot_in_dir
import matplotlib.pyplot as plt
import os
from ipydex import Container
# link to documentation with examples: https://ackrep-doc.readthedocs.io/en/latest/devdoc/contributing_data.html
def simulate():
"""
simulate the system model with scipy.integrate.solve_ivp
:return: result of solve_ivp, might contains input function
"""
model = system_model.Model()
rhs_xx_pp_symb = model.get_rhs_symbolic()
rhs = model.get_rhs_func()
# initial state values
xx0 = np.ones(model.sys_dim)
t_end = 10
tt = np.linspace(0, t_end, 1000)
simulation_data = solve_ivp(rhs, (0, t_end), xx0, t_eval=tt)
# using odeint for models with large state vectors
# res = odeint(rhs, y0=xx0, t=tt, tfirst=True)
# simulation_data = Container()
# simulation_data.y = res.transpose()
# simulation_data.t = tt
# postprocessing: calc output
ny = 1
C = model.get_parameter_value("C")
D21 = model.get_parameter_value("D21")
output = np.zeros((ny, len(tt)))
for i in range(len(tt)):
output[:,i] = np.matmul(C, simulation_data.y[:,i]) # + np.matmul(D21, w)
simulation_data.output = output
save_plot(simulation_data)
return simulation_data
def save_plot(simulation_data):
"""
plot your data and save the plot
access to data via: simulation_data.t array of time values
simulation_data.y array of data components
simulation_data.uu array of input values
:param simulation_data: simulation_data of system_model
:return: None
"""
for i in range(simulation_data.output.shape[0]):
plt.plot(simulation_data.t, simulation_data.output[i], label=f"$y_{i}$")
plt.legend()
plt.tight_layout()
save_plot_in_dir()
def evaluate_simulation(simulation_data):
"""
assert that the simulation results are as expected
:param simulation_data: simulation_data of system_model
:return:
"""
expected_final_state = np.array([-1.04204510e-02, -3.01820367e-02, 7.50406978e-03, 1.09821509e-03,
-2.17322620e-02, 2.13222039e-03, -3.09367996e-03, -1.08623196e-02,
5.07750347e-04, -9.88255896e-04, -9.95200221e-04, -5.18756220e-03,
-7.38736468e-03, -7.53517609e-03, 1.27142426e-02, 3.57141693e-03,
1.15198772e-02, -1.42006138e-02, 1.20077382e-02, 1.21709951e-02,
1.94812540e-03, -1.71850153e-03, 5.19041221e-04, -2.45202476e-04,
-3.10265445e-01, -2.84015897e-02, 1.13835626e-02, 1.62711807e-01,
-1.08268988e-01, 2.29079983e-02, -7.56664313e-02, -1.18739717e-01,
5.79852794e-03, -4.20124668e-02, 1.36141250e-01, -9.00868123e-02,
-9.07558931e-04, 1.75544200e-01, 1.58722750e-01, 1.25106901e-01,
-1.04055266e-01, 1.59161199e-01, -9.17062017e-02, 1.29125538e-01,
2.58137806e-02, -1.12375303e-02, 1.51851910e-02, -2.71152835e-03])
rc = ResultContainer(score=1.0)
simulated_final_state = simulation_data.y[:, -1]
rc.final_state_errors = [
simulated_final_state[i] - expected_final_state[i] for i in np.arange(0, len(simulated_final_state))
]
rc.success = np.allclose(expected_final_state, simulated_final_state, rtol=0, atol=1e-2)
return rc
system_model.py
# This file was autogenerated from the template: system_model.py.template (2022-10-10 15:58:17).
import sympy as sp
import numpy as np
import symbtools as st
import importlib
import sys, os
#from ipydex import IPS, activate_ips_on_exception
from ackrep_core.system_model_management import GenericModel, import_parameters
# Import parameter_file
params = import_parameters()
#link to documentation with examples: https://ackrep-doc.readthedocs.io/en/latest/devdoc/contributing_data.html
class Model(GenericModel):
def initialize(self):
"""
this function is called by the constructor of GenericModel
:return: None
"""
# Define number of inputs -- MODEL DEPENDENT
self.u_dim = 1
# Set "sys_dim" to constant value, if system dimension is constant
self.sys_dim = 48
# check existence of params file
self.has_params = True
self.params = params
# ----------- SET DEFAULT INPUT FUNCTION ---------- #
def uu_default_func(self):
"""
define input function
:return:(function with 2 args - t, xx_nv) default input function
"""
def uu_rhs(t, xx_nv):
"""
sequence of numerical input values
:param t:(scalar or vector) time
:param xx_nv:(vector or array of vectors) numeric state vector
:return:(list) numeric inputs
"""
u = np.zeros(self.u_dim)
return u
return uu_rhs
# ----------- SYMBOLIC RHS FUNCTION ---------- #
def get_rhs_symbolic(self):
"""
define symbolic rhs function
:return: matrix of symbolic rhs-functions
"""
if self.dxx_dt_symb is not None:
return self.dxx_dt_symb
x = self.xx_symb
A, B, B1, C1, C, D11, D12, D21 = self.pp_symb # parameters
w = np.zeros(1) # noise
u = self.uu_symb # inputs
# define symbolic rhs functions
self.dxx_dt_symb = np.matmul(A,x) + np.matmul(B1,w) + np.matmul(B,u)
return self.dxx_dt_symb
parameters.py
# This file was autogenerated from the template: parameters.py.template (2022-10-10 15:58:17).
import sys
import os
import numpy as np
import sympy as sp
import tabulate as tab
#link to documentation with examples: https://ackrep-doc.readthedocs.io/en/latest/devdoc/contributing_data.html
# set model name
model_name = 'Los Angeles University Hospital SLICOT Working note 2002-2'
# ---------- create symbolic parameters
A = sp.MatrixSymbol('A', 48, 48)
B = sp.MatrixSymbol('B', 48, 1)
B1 = sp.MatrixSymbol('B1', 48, 1)
C1 = sp.MatrixSymbol('C1', 3, 48)
C = sp.MatrixSymbol('C', 1, 48)
D11 = sp.MatrixSymbol('D11', 3, 1)
D12 = sp.MatrixSymbol('D12', 3, 1)
D21 = sp.MatrixSymbol('D21', 1, 1)
pp_symb = [A, B, B1, C1, C, D11, D12, D21]
# ---------- create auxiliary symbolic parameters
# set numerical values of auxiliary parameters
# trailing "_nv" stands for "numerical value"
A_nv = sp.Matrix(np.array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 1.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
1.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 1.00000000e+00],
[-6.06164046e+02, 3.46695357e+01, -5.04318723e+00,
-7.34040296e+02, 1.24549975e+02, -3.02909834e+02,
-9.82100342e+01, -2.20397480e+00, -1.06677922e+01,
-4.18639981e+01, 8.17839556e+00, 5.13604383e+01,
-1.09557477e+01, -2.30858554e+00, -1.19980251e+01,
-4.20033078e+01, 4.94176921e+00, -1.52161540e+00,
-1.03503608e+01, 8.69692467e+00, 1.49602137e+01,
3.78850089e+01, -2.45460553e+01, -1.92995740e+01,
-1.13328370e+00, 3.65226969e-02, -5.31275647e-03,
-7.73276332e-01, 1.31207441e-01, -3.19101014e-01,
-1.03459573e-01, -2.32178208e-03, -1.12380088e-02,
-4.41017189e-02, 8.61554855e-03, 5.41057650e-02,
-1.15413561e-02, -2.43198439e-03, -1.26393454e-02,
-4.42484756e-02, 5.20591741e-03, -1.60294905e-03,
-1.09036099e-02, 9.16179414e-03, 1.57598699e-02,
3.99100452e-02, -2.58580948e-02, -2.03311779e-02],
[ 3.35100192e+01, -6.64524860e+02, 7.97727202e+01,
2.07449582e+02, 8.29030037e+02, 9.40547240e+01,
-4.31328119e+00, -1.36484497e+02, 1.62760005e+01,
2.82430667e+01, -7.69355705e+01, -5.54521750e-01,
3.09314943e+01, 5.19044583e+01, 1.18704649e+01,
9.69475812e+00, -1.56126585e+01, 1.51402520e+01,
7.61328297e+00, -5.71224517e+00, 3.78410547e+00,
-2.11717326e+01, -2.90137351e+01, 1.02446042e+01,
3.53012026e-02, -1.19476403e+00, 8.40367443e-02,
2.18538214e-01, 8.73343487e-01, 9.90821518e-02,
-4.54383537e-03, -1.43779893e-01, 1.71459882e-02,
2.97527202e-02, -8.10479427e-02, -5.84162142e-04,
3.25848500e-02, 5.46788632e-02, 1.25049669e-02,
1.02129638e-02, -1.64471894e-02, 1.59495316e-02,
8.02022942e-03, -6.01757704e-03, 3.98637406e-03,
-2.23034078e-02, -3.05645816e-02, 1.07922004e-02],
[-3.45768646e+00, 7.65718830e+01, -7.99408768e+02,
-3.47777338e+02, -1.42585708e+02, 8.67697802e+02,
-1.65083264e+02, 3.69917278e+01, 9.12559575e+01,
-6.62656834e+01, 2.64344943e+01, 3.95193023e+01,
6.73732918e+01, -3.21768523e+01, 1.71642395e+01,
1.33449692e+02, 3.43778156e+01, 6.56518873e+00,
2.78685849e+01, -5.14728370e+01, 4.19792827e+01,
-4.49280357e+01, 3.44171012e+01, 3.08238894e+01,
-3.64250728e-03, 8.06648161e-02, -1.33685772e+00,
-3.66366792e-01, -1.50207225e-01, 9.14078125e-01,
-1.73907327e-01, 3.89690150e-02, 9.61337859e-02,
-6.98077281e-02, 2.78474755e-02, 4.16316950e-02,
7.09745397e-02, -3.38967747e-02, 1.80817057e-02,
1.40582873e-01, 3.62153845e-02, 6.91611230e-03,
2.93582205e-02, -5.42241714e-02, 4.42231666e-02,
-4.73295367e-02, 3.62567701e-02, 3.24714929e-02],
[-7.34858668e+02, 2.06799324e+02, -3.48316906e+02,
-1.91038648e+03, -1.35405871e+02, -2.18045902e+02,
-1.13001311e+03, 2.63611455e+02, -1.78598760e+02,
-2.85024416e+02, 6.51246311e+01, 1.25087695e+02,
-7.81636117e+01, -2.02878883e+00, 1.14138064e+01,
-5.44813227e+01, -1.76245656e+01, -1.42733023e+01,
-1.33341465e+01, 1.15139416e+01, 8.80761936e+01,
5.63041916e+01, -1.25295656e+01, 1.94972182e+01,
-7.74138453e-01, 2.17853197e-01, -3.66935195e-01,
-2.50721967e+00, -1.42643607e-01, -2.29700922e-01,
-1.19041475e+00, 2.77702059e-01, -1.88145246e-01,
-3.00259590e-01, 6.86056834e-02, 1.31773904e-01,
-8.23416260e-02, -2.13723197e-03, 1.20238986e-02,
-5.73934672e-02, -1.85666363e-02, -1.50362408e-02,
-1.40468852e-02, 1.21293863e-02, 9.27840564e-02,
5.93137725e-02, -1.31992982e-02, 2.05393863e-02],
[ 1.26412531e+02, 8.30412162e+02, -1.42112367e+02,
-1.34843053e+02, -1.96871855e+03, 5.45612541e+01,
1.41801977e+02, 1.18390789e+03, 1.18233555e+02,
-3.28974447e+01, 2.95191486e+02, -1.37271445e+01,
-6.98091086e+00, -1.50488750e+02, -1.66307951e+01,
7.65029436e+01, 2.54529590e+01, 2.68480779e+01,
8.69603238e+00, -2.01803115e+01, -1.65110307e+01,
8.53303781e+00, 1.12091055e+02, 9.10243207e+00,
1.33169549e-01, 8.74799488e-01, -1.49708576e-01,
-1.42050707e-01, -2.56866967e+00, 5.74776711e-02,
1.49381598e-01, 1.24719037e+00, 1.24553391e-01,
-3.46558842e-02, 3.10970113e-01, -1.44608904e-02,
-7.35405564e-03, -1.58532695e-01, -1.75197469e-02,
8.05921916e-02, 2.68134744e-02, 2.82831660e-02,
9.16085410e-03, -2.12589928e-02, -1.73935809e-02,
8.98914713e-03, 1.18082561e-01, 9.58897674e-03],
[-3.08616344e+02, 8.91396373e+01, 8.45849370e+02,
-2.20153958e+02, 4.94938405e+01, -2.32678886e+03,
1.32762196e+02, 6.71693115e+01, -1.40060895e+03,
2.41684452e+01, 2.42784601e+01, -8.52664777e+01,
-2.94404264e+02, 1.27924746e+02, -2.44556350e+01,
-3.79055709e+02, -1.00156357e+02, -4.65368599e+01,
-6.74113486e+01, 1.69298037e+02, -1.00190547e+02,
2.00073348e+02, -1.26908781e+02, -4.40445112e+01,
-3.25112557e-01, 9.39043434e-02, 8.91061848e-01,
-2.31921663e-01, 5.21393937e-02, -2.94587964e+00,
1.39858618e-01, 7.07596560e-02, -1.47547451e+00,
2.54603004e-02, 2.55761960e-02, -8.98241551e-02,
-3.10140808e-01, 1.34762596e-01, -2.57628418e-02,
-3.99317056e-01, -1.05509934e-01, -4.90243560e-02,
-7.10146311e-02, 1.78347388e-01, -1.05545950e-01,
2.10767702e-01, -1.33692330e-01, -4.63987859e-02],
[-9.71351292e+01, -3.26441943e+00, -1.66031933e+02,
-1.13013541e+03, 1.40174383e+02, 1.49903206e+02,
-2.04219761e+03, 7.71528258e+01, 1.22698852e+02,
-1.22355656e+03, -6.65052641e+01, 2.49182383e+02,
-1.66315005e+01, 2.62739569e+00, 5.63991349e+01,
-4.68711598e+01, -1.18395215e+02, -6.20111196e+01,
-2.16584526e+00, -3.02686478e+01, 1.30250134e+02,
5.21906938e+00, -2.49314325e+01, 6.33034278e+00,
-1.02327215e-01, -3.43890967e-03, -1.74906699e-01,
-1.19054354e+00, 1.47667005e-01, 1.57915856e-01,
-2.64607636e+00, 8.12768115e-02, 1.29257368e-01,
-1.28895828e+00, -7.00601139e-02, 2.62501722e-01,
-1.75204900e-02, 2.76783569e-03, 5.94137904e-02,
-4.93765244e-02, -1.24723694e-01, -6.53257483e-02,
-2.28161435e-03, -3.18865722e-02, 1.37212287e-01,
5.49803990e-03, -2.62640718e-02, 6.66871330e-03],
[-2.54354593e+00, -1.38285349e+02, 3.45959273e+01,
2.64024048e+02, 1.18501569e+03, 5.89313675e+01,
7.70776201e+01, -2.12443483e+03, -5.41781455e+01,
2.40202431e+02, -1.27961589e+03, 1.40332421e+01,
3.73134947e+01, 2.38992689e+02, 1.76482507e+00,
-9.64675311e+01, 3.33242833e+01, -1.03988498e+02,
-1.29687569e+02, 3.59614718e+01, 3.49162957e+01,
-1.00898077e+01, -9.98399713e+01, -1.37130880e+01,
-2.67950392e-03, -1.45677005e-01, 3.64451541e-02,
2.78136708e-01, 1.24835732e+00, 6.20813761e-02,
8.11975856e-02, -2.73270938e+00, -5.70740842e-02,
2.53041770e-01, -1.34801416e+00, 1.47833493e-02,
3.93079818e-02, 2.51767368e-01, 1.85915876e-03,
-1.01623933e-01, 3.51055378e-02, -1.09546909e-01,
-1.36619646e-01, 3.78836900e-02, 3.67826469e-02,
-1.06291301e-02, -1.05176632e-01, -1.44460823e-02],
[-1.10679098e+01, -4.38464654e+00, 5.45760433e+01,
-1.67434912e+02, 1.19064546e+02, -1.41311506e+03,
1.16298198e+02, -5.09782870e+01, -2.66881675e+03,
5.81198486e+01, 6.12207494e+01, -2.99507899e+02,
-1.45538323e+03, 6.00587217e+02, -1.49624212e+01,
-6.09808685e+02, -1.79982716e+02, -1.40887507e+02,
-6.74247278e+01, 2.61439701e+02, -2.15803846e+02,
3.74461379e+02, -2.67833941e+02, -1.67394892e+02,
-1.16595137e-02, -4.61901537e-03, 5.74932506e-02,
-1.76384668e-01, 1.25428803e-01, -1.48864916e+00,
1.22514585e-01, -5.37031870e-02, -3.30618964e+00,
6.12264798e-02, 6.44931307e-02, -3.15517241e-01,
-1.53317657e+00, 6.32689907e-01, -1.57621950e-02,
-6.42404278e-01, -1.89603180e-01, -1.48418246e-01,
-7.10287250e-02, 2.75414216e-01, -2.27339027e-01,
3.94477149e-01, -2.82150247e-01, -1.76342513e-01],
[-4.22193447e+01, 2.90279619e+01, -5.98327562e+01,
-2.84778948e+02, -3.19600671e+01, 1.61889247e+01,
-1.22060039e+03, 2.38171175e+02, 4.59650411e+01,
-2.29088431e+03, 2.19741657e+02, 1.32929150e+03,
-1.04549040e+02, -2.31448730e+02, 1.96734209e+02,
-9.12934397e+01, -4.18100736e+02, -2.03170821e+02,
7.71466585e+01, -6.44069667e+01, 1.27602418e+02,
-6.64219688e+01, 1.76468685e+01, 1.47724314e+01,
-4.44760602e-02, 3.05795691e-02, -6.30309462e-02,
-3.00000996e-01, -3.36684021e-02, 1.70542574e-02,
-1.28584411e+00, 2.50901941e-01, 4.84219717e-02,
-2.90805593e+00, 2.31487327e-01, 1.40034498e+00,
-1.10137413e-01, -2.43820165e-01, 2.07250079e-01,
-9.61732679e-02, -4.40449127e-01, -2.14030738e-01,
8.12703161e-02, -6.78496586e-02, 1.34423044e-01,
-6.99723665e-02, 1.85901321e-02, 1.55620497e-02],
[ 5.31468202e+00, -7.73203883e+01, 3.30979446e+01,
6.28730276e+01, 2.95947676e+02, 1.12385876e+01,
-6.68077706e+01, -1.27922315e+03, 5.71980175e+01,
2.21066217e+02, -2.38757737e+03, 1.20012731e+02,
5.72577360e+02, 1.22909130e+03, 1.24631784e+02,
-5.60893829e+01, 1.80303962e+02, -3.12478262e+02,
-4.45949798e+02, -2.42738128e+01, 8.63425447e+01,
-2.83165683e+00, -4.55740466e+01, -3.33462312e+01,
5.59876328e-03, -8.14533271e-02, 3.48671016e-02,
6.62337269e-02, 3.11766722e-01, 1.18393144e-02,
-7.03787904e-02, -1.34760039e+00, 6.02553753e-02,
2.32882686e-01, -3.00991744e+00, 1.26427670e-01,
6.03182859e-01, 1.29478890e+00, 1.31293620e-01,
-5.90874820e-02, 1.89941599e-01, -3.29180904e-01,
-4.69786778e-01, -2.55713005e-02, 9.09577439e-02,
-2.98301501e-03, -4.80100779e-02, -3.51286591e-02],
[ 4.84094460e+01, -3.73349351e+00, 3.23849515e+01,
1.23401387e+02, -1.05088582e+01, -1.00460593e+02,
2.51004511e+02, 1.51145526e+01, -3.06959698e+02,
1.32789426e+03, 1.19588413e+02, -2.05964171e+03,
-3.16770813e+02, 3.09660914e+02, -8.70945690e+02,
-1.76047471e+02, 6.12796700e+02, 3.11810725e+02,
-2.30274249e+01, 2.01612569e+02, -1.71236869e+02,
1.69572888e+02, -9.18731433e+01, -4.40014627e+01,
5.09970354e-02, -3.93305683e-03, 3.41159970e-02,
1.29997459e-01, -1.10705795e-02, -1.05830430e-01,
2.64421246e-01, 1.59224580e-02, -3.23367356e-01,
1.39887305e+00, 1.25980674e-01, -2.66445292e+00,
-3.33702899e-01, 3.26212958e-01, -9.17499621e-01,
-1.85457589e-01, 6.45552004e-01, 3.28477681e-01,
-2.42582909e-02, 2.12389199e-01, -1.80389851e-01,
1.78636927e-01, -9.67839623e-02, -4.63534358e-02],
[-1.87114847e+01, 1.67723416e+01, 3.13372726e+01,
-8.67993523e+01, -1.82612434e+00, -3.26224285e+02,
-2.68747587e+01, 4.84226028e+01, -1.44406164e+03,
-1.11754996e+02, 5.80838427e+02, -3.16971445e+02,
-2.61837715e+03, 2.13689544e+02, -2.27057644e+02,
-1.56025281e+03, -4.75121374e+02, 2.87077352e+02,
6.23445039e+01, 3.49712199e+02, -3.07689801e+02,
5.51858391e+02, -4.13537117e+02, -2.78790676e+02,
-1.97116541e-02, 1.76688598e-02, 3.30123174e-02,
-9.14389680e-02, -1.92373466e-03, -3.43661680e-01,
-2.83112726e-02, 5.10108954e-02, -1.52124982e+00,
-1.17728541e-01, 6.11885495e-01, -3.33914256e-01,
-3.25305395e+00, 2.25111715e-01, -2.39194363e-01,
-1.64365167e+00, -5.00517637e-01, 3.02422256e-01,
6.56769523e-02, 3.68405075e-01, -3.24136484e-01,
5.81356413e-01, -4.35641573e-01, -2.93692641e-01],
[ 2.16050427e+00, 5.91520534e+01, -1.93970683e+01,
2.43569388e+00, -1.53319018e+02, 1.43738904e+02,
5.16718562e+00, 2.35263274e+02, 6.06807310e+02,
-2.29217687e+02, 1.22580342e+03, 3.08876534e+02,
2.20468598e+02, -2.06073423e+03, -4.10243737e+01,
8.47464057e+02, -5.49357174e+02, 7.04763281e+02,
5.75932363e+02, -1.82761715e+02, 6.27699858e+01,
-2.46618285e+02, 2.38446577e+02, 1.59346797e+02,
2.27598790e-03, 6.23138584e-02, -2.04338833e-02,
2.56588698e-03, -1.61514249e-01, 1.51422057e-01,
5.44338285e-03, 2.47838605e-01, 6.39242470e-01,
-2.41469865e-01, 1.29132527e+00, 3.25386655e-01,
2.32253125e-01, -2.66560384e+00, -4.32172149e-02,
8.92762847e-01, -5.78721502e-01, 7.42434377e-01,
6.06717196e-01, -1.92530726e-01, 6.61251772e-02,
-2.59800562e-01, 2.51192064e-01, 1.67864228e-01],
[-1.11083828e+01, 1.16502083e+01, 6.89960296e+00,
1.07451850e+01, -1.41652147e+01, -2.42239594e+01,
5.85999510e+01, 1.04731991e+00, -2.34107196e+01,
1.94708079e+02, 1.24737270e+02, -8.74489519e+02,
-2.32167613e+02, -3.65383385e+01, -9.82436515e+02,
-1.64622018e+02, 6.58461162e+02, 6.12287968e+02,
8.18579199e+01, 3.40625707e+02, -2.02906835e+02,
8.11963377e+01, -5.60243322e+01, -1.52794570e+01,
-1.17021496e-02, 1.22729373e-02, 7.26840154e-03,
1.13195383e-02, -1.49223759e-02, -2.55187826e-02,
6.17322450e-02, 1.10330145e-03, -2.46620733e-02,
2.05115645e-01, 1.31404746e-01, -9.21232862e-01,
-2.44577473e-01, -3.84913920e-02, -1.52966872e+00,
-1.73421420e-01, 6.93657346e-01, 6.45016067e-01,
8.62334056e-02, 3.58832891e-01, -2.13752645e-01,
8.55364545e-02, -5.90189538e-02, -1.60961768e-02],
[-4.51603783e+01, 3.46772823e-01, 8.72659096e+01,
-5.89888296e+01, 8.18600468e+01, -3.93992519e+02,
-4.36167798e+01, -8.71050749e+01, -5.85654071e+02,
-9.57752715e+01, -5.56205487e+01, -1.75404237e+02,
-1.55015303e+03, 8.49008588e+02, -1.50236837e+02,
-2.83097537e+03, -7.14726453e+02, -3.06411711e+02,
-2.76742040e+02, 1.23556313e+03, -2.13255511e+02,
9.00367024e+02, -7.08017056e+02, -4.08512804e+02,
-4.75742984e-02, 3.65308581e-04, 9.19304635e-02,
-6.21419100e-02, 8.62356448e-02, -4.15052268e-01,
-4.59481908e-02, -9.17610263e-02, -6.16958549e-01,
-1.00894670e-01, -5.85935872e-02, -1.84779970e-01,
-1.63301207e+00, 8.94389950e-01, -1.58267322e-01,
-3.47701597e+00, -7.52930158e-01, -3.22790077e-01,
-2.91534502e-01, 1.30160664e+00, -2.24654482e-01,
9.48493577e-01, -7.45862091e-01, -4.30348698e-01],
[ 3.50587423e+00, -1.90015182e+01, 2.45852885e+01,
-1.73408631e+01, 2.56996558e+01, -1.00435851e+02,
-1.21826056e+02, 3.72858954e+01, -1.53776528e+02,
-4.17654958e+02, 1.81103975e+02, 6.15653481e+02,
-4.80914650e+02, -5.50196004e+02, 6.63429214e+02,
-7.03068536e+02, -2.92244552e+03, -6.29581787e+02,
9.82783377e+02, -7.25847186e+01, 5.17719256e+02,
5.73364476e+02, -3.41032430e+01, -9.22937185e+01,
3.69327078e-03, -2.00171907e-02, 2.58994251e-02,
-1.82677699e-02, 2.70733579e-02, -1.05804365e-01,
-1.28337923e-01, 3.92789069e-02, -1.61996217e-01,
-4.39979516e-01, 1.90784371e-01, 6.48561495e-01,
-5.06620576e-01, -5.79605167e-01, 6.98890943e-01,
-7.40649088e-01, -3.57337540e+00, -6.63234296e-01,
1.03531528e+00, -7.64645255e-02, 5.45392469e-01,
6.04012045e-01, -3.59261353e-02, -9.72270140e-02],
[-6.54097089e+00, 1.16886324e+01, 1.44464820e+01,
-1.68409220e+01, 2.72526336e+01, -5.05057232e+01,
-6.39499664e+01, -1.02319708e+02, -1.40126521e+02,
-2.04161755e+02, -3.09407631e+02, 3.16394752e+02,
2.87249988e+02, 7.00158042e+02, 6.15107412e+02,
-2.92970758e+02, -6.28325308e+02, -1.96569728e+03,
-1.18182534e+03, -1.60135147e+02, 5.04084327e+02,
1.06839130e+01, -3.28238485e+02, -6.77285982e+01,
-6.89060021e-03, 1.23134153e-02, 1.52186778e-02,
-1.77411059e-02, 2.87093458e-02, -5.32053635e-02,
-6.73682320e-02, -1.07788916e-01, -1.47616588e-01,
-2.15074642e-01, -3.25946138e-01, 3.33306737e-01,
3.02604120e-01, 7.37582987e-01, 6.47986250e-01,
-3.08630679e-01, -6.61910655e-01, -2.56548696e+00,
-1.24499645e+00, -1.68694720e-01, 5.31028726e-01,
1.12549911e-02, -3.45783543e-01, -7.13488385e-02],
[-1.14112002e+01, 5.93830658e+00, 2.68337117e+01,
-1.53591468e+01, 6.13459763e+00, -5.11364540e+01,
-1.60716980e+00, -1.27632244e+02, -6.46616635e+01,
7.60686659e+01, -4.44215388e+02, -2.00623270e+01,
7.77994477e+01, 5.70732101e+02, 8.45580350e+01,
-2.63819605e+02, 9.83067581e+02, -1.18440860e+03,
-2.65338138e+03, 2.40050023e+02, 1.70288589e+01,
-4.33291234e+02, -7.21564494e+02, -8.51712392e+01,
-1.20211534e-02, 6.25572194e-03, 2.82680317e-02,
-1.61801267e-02, 6.46250517e-03, -5.38698083e-02,
-1.69307648e-03, -1.34454461e-01, -6.81179674e-02,
8.01347001e-02, -4.67959659e-01, -2.11347021e-02,
8.19579960e-02, 6.01238963e-01, 8.90778478e-02,
-2.77921333e-01, 1.03561466e+00, -1.24771779e+00,
-3.28992924e+00, 2.52881214e-01, 1.79390883e-02,
-4.56451589e-01, -7.60133667e-01, -8.97238287e-02],
[ 1.06611508e+01, 7.56293391e-01, -3.13702443e+01,
1.87569530e+01, -2.94139450e+01, 1.93909260e+02,
-3.43953558e+01, 3.29084307e+01, 2.71894308e+02,
-5.44287978e+01, -3.31576548e+01, 1.99942849e+02,
3.54878114e+02, -1.81870161e+02, 3.33882630e+02,
1.24828800e+03, -5.90839886e+01, -1.57942615e+02,
2.39255013e+02, -1.52886607e+03, 7.72831178e+02,
-8.58918643e+02, 7.34272402e+02, 3.72630353e+02,
1.12310124e-02, 7.96718890e-04, -3.30470518e-02,
1.97595529e-02, -3.09861843e-02, 2.04274131e-01,
-3.62338618e-02, 3.46674573e-02, 2.86427650e-01,
-5.73381350e-02, -3.49300032e-02, 2.10630229e-01,
3.73847118e-01, -1.91591513e-01, 3.51729378e-01,
1.31501170e+00, -6.22421554e-02, -1.66384989e-01,
2.52043713e-01, -2.10530613e+00, 8.14140685e-01,
-9.04829684e-01, 7.73520827e-01, 3.92548249e-01],
[ 2.11449815e+01, -6.73621354e-01, 2.53394610e+01,
8.26641188e+01, -1.81427929e+01, -1.08579163e+02,
1.31042272e+02, 4.06754471e+01, -2.05497727e+02,
1.25370345e+02, 9.20378423e+01, -1.69715033e+02,
-2.94360768e+02, 5.77723711e+01, -2.00480807e+02,
-2.11366074e+02, 5.12504142e+02, 5.00793481e+02,
1.50059000e+01, 7.85702000e+02, -3.68560934e+03,
2.48167858e+02, -1.25373684e+02, -4.28072869e+02,
2.22752263e-02, -7.09627887e-04, 2.66939098e-02,
8.70826963e-02, -1.91125645e-02, -1.14382957e-01,
1.38046766e-01, 4.28496376e-02, -2.16482023e-01,
1.32071663e-01, 9.69574632e-02, -1.78786669e-01,
-3.10094989e-01, 6.08604303e-02, -2.11196937e-01,
-2.22664048e-01, 5.39898605e-01, 5.27561975e-01,
1.58079976e-02, 8.27699475e-01, -4.37733199e+00,
2.61432968e-01, -1.32075178e-01, -4.50954290e-01],
[ 3.04375205e+01, -1.03121139e+01, -1.45585138e+01,
7.13203011e+01, 9.40739827e+00, 2.17118643e+02,
3.40824218e+00, -2.26095252e+01, 3.66850931e+02,
-6.24374102e+01, -1.73366212e+01, 1.70525180e+02,
5.51588115e+02, -2.46565912e+02, 7.06310827e+01,
9.18768748e+02, 5.91408512e+02, 1.77454604e+01,
-4.24268685e+02, -8.74953421e+02, 2.55267033e+02,
-4.29437829e+03, 5.10730573e+02, 1.03311342e+03,
3.20644717e-02, -1.08633188e-02, -1.53366976e-02,
7.51325259e-02, 9.91024393e-03, 2.28724104e-01,
3.59042011e-03, -2.38180531e-02, 3.86459907e-01,
-6.57748260e-02, -1.82633013e-02, 1.79640121e-01,
5.81071708e-01, -2.59745396e-01, 7.44064690e-02,
9.67878941e-01, 6.23020601e-01, 1.86939934e-02,
-4.46946766e-01, -9.21721546e-01, 2.68911608e-01,
-5.01864095e+00, 5.38030228e-01, 1.08833556e+00],
[-1.80268600e+01, -3.74703096e+01, 1.18352386e+01,
-2.59805360e+01, 1.10255764e+02, -1.33089320e+02,
-2.11133556e+01, -8.94276077e+01, -2.65963948e+02,
1.14864995e+01, -3.15448809e+01, -8.87753070e+01,
-3.89129487e+02, 2.28949341e+02, -4.70853489e+01,
-7.03447903e+02, -4.56393163e+01, -3.33533692e+02,
-7.24091177e+02, 7.48637105e+02, -1.19884906e+02,
4.88527930e+02, -3.96251491e+03, -8.75810799e+02,
-1.89904347e-02, -3.94731784e-02, 1.24678578e-02,
-2.73692518e-02, 1.16149171e-01, -1.40203232e-01,
-2.22419101e-02, -9.42077084e-02, -2.80180299e-01,
1.21004777e-02, -3.32310227e-02, -9.35205388e-02,
-4.09929300e-01, 2.41187175e-01, -4.96021625e-02,
-7.41048729e-01, -4.80788364e-02, -3.51361786e-01,
-7.62795404e-01, 7.88653404e-01, -1.26293016e-01,
5.14640806e-01, -4.66903877e+00, -9.22624767e-01],
[ 1.27084610e+01, 4.86691934e+00, -6.43559588e+00,
9.49628650e+00, 3.55367995e+00, -7.43522726e+01,
1.35367552e+01, -1.62211943e+01, -1.58431126e+02,
2.60775069e+00, -3.19341781e+01, -4.80945693e+01,
-2.52144843e+02, 1.58721437e+02, -2.52361704e+01,
-4.16392057e+02, -1.03090788e+02, -7.51079835e+01,
-9.01181568e+01, 3.75822244e+02, -4.25248601e+02,
1.00680804e+03, -8.78110965e+02, -4.45557000e+03,
1.33877556e-02, 5.12706650e-03, -6.77959256e-03,
1.00038835e-02, 3.74363182e-03, -7.83265636e-02,
1.42603242e-02, -1.70882523e-02, -1.66899614e-01,
2.74714061e-03, -3.36411291e-02, -5.06653268e-02,
-2.65622532e-01, 1.67205440e-01, -2.65850981e-02,
-4.38649132e-01, -1.08601212e-01, -7.91226695e-02,
-9.49351669e-02, 3.95910754e-01, -4.47979048e-01,
1.06062410e+00, -9.25047908e-01, -5.18844885e+00]]))
B_nv = sp.Matrix(np.array([[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0.01369675],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ]]))
B1_nv = sp.Matrix(np.array([[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0.01369675],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ],
[0. ]]))
C1_nv = sp.Matrix(np.array([[1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]))
C_nv = sp.Matrix(np.array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]))
D11_nv = sp.Matrix(np.array([[0.],
[0.],
[0.]]))
D12_nv = sp.Matrix(np.array([[0.],
[0.],
[1.]]))
D21_nv = sp.Matrix(np.array([0.05]))
# ---------- create symbolic parameter functions
# parameter values can be constant/fixed values OR set in relation to other parameters (for example: a = 2*b)
# list of symbolic parameter functions
# tailing "_sf" stands for "symbolic parameter function"
pp_sf = [A_nv, B_nv, B1_nv, C1_nv, C_nv, D11_nv, D12_nv, D21_nv]
# ---------- list for substitution
# -- entries are tuples like: (independent symbolic parameter, numerical value)
pp_subs_list = []
# OPTONAL: Dictionary which defines how certain variables shall be written
# in the table - key: Symbolic Variable, Value: LaTeX Representation/Code
# useful for example for complex variables: {Z: r"\underline{Z}"}
latex_names = {}
# ---------- Define LaTeX table
# Define table header
# DON'T CHANGE FOLLOWING ENTRIES: "Symbol", "Value"
tabular_header = ["Symbol", "Value"]
# Define column text alignments
col_alignment = ["center", "left"]
# Define Entries of all columns before the Symbol-Column
# --- Entries need to be latex code
col_1 = []
# contains all lists of the columns before the "Symbol" Column
# --- Empty list, if there are no columns before the "Symbol" Column
start_columns_list = []
# Define Entries of the columns after the Value-Column
# --- Entries need to be latex code
col_4 = []
# contains all lists of columns after the FIX ENTRIES
# --- Empty list, if there are no columns after the "Value" column
end_columns_list = []