Automatic Control Knowledge Repository

You currently have javascript disabled. Some features will be unavailable. Please consider enabling javascript.

Details for: "Los Angeles University Hospital SLICOT Working note 2002-2"

Name: Los Angeles University Hospital SLICOT Working note 2002-2 (Key: CO158)
Path: ackrep_data/system_models/compleib_models/LAH View on GitHub
Type: system_model
Short Description: 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
Created: 2022-10-10 15:58:17
Compatible Environment: default_conda_environment (Key: CDAMA)
Source Code [ / ] 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 = []

Related Problems:
Extensive Material:
Download pdf
Result: Success.
Last Build: Checkout CI Build
Runtime: 7.3 (estimated: 10s)