def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-84.06650978872563, -166.25679989197553, -511.424455086027, 0.0], \
        [2.0, 0.0, 0.0, 0.0], \
        [0.0, 0.5, 1.0, 0.0], \
        [0.0, 0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 0.0, 1.0])

    inputs = None
    end_point = [
        1.2463487493252325, -6.0245290313575826, 1.7479444224909024, 1.0
    ]
    start_point = [1.0, 1.9, 1.9, 0.0]

    step = 0.01
    max_time = 1.0

    normal_vec = [0.0, 1.0, 0.0, 0.0]
    normal_val = -6.0

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
Beispiel #2
0
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-31.638584039112736, 0.0, 0.0, 0.0, 0.0], \
        [0.0, -31.638584039112736, 0.0, 0.0, 0.0], \
        [0.0, 0.0, -31.638584039112736, 0.0, 0.0], \
        [0.0, 0.0, 0.0, -31.638584039112736, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 0.0, 0.0, 1.0])

    inputs = None
    end_point = [
        -0.423129007893161, -1.0, 0.423129007893161, -0.9873010184173756,
        0.04000000000000001
    ]
    start_point = [-1.5, -3.5450181198135824, 1.5, -3.5, 0.0]

    step = 0.01
    max_time = 0.04

    normal_vec = [-1.0, 0.0, 0.0, 0.0, 0.0]
    normal_val = 1.0

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [1.0, 0.0, 0.1, 0.0, 0.0], \
        [0.0, 1.0, 0.0, 0.1, 0.0], \
        [-221.3271161412532, -0.015681415800135746, -12.043764810929071, -0.0007856714017244991, 0.0], \
        [-0.015681415808892363, -221.32711614125986, -0.0007856714017244991, -12.043764810929042, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 0.0, 0.0, 1.0])

    inputs = None
    end_point = [
        -2.112084066805579, -3.8592309590732325, 42.2551937230812,
        75.41848759196112, 0.3400000000000001
    ]
    start_point = [-2.5, -4.5, 0.0, 0.0, 0.33000000000000007]

    step = 0.01
    max_time = 0.01

    normal_vec = [0.0, 0.0, 0.0, -1.0, 0.0]
    normal_val = -75.0

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-48.250914153711165, -88.11823924497908, -279.9793116452655, 0.0], \
        [2.0, 0.0, 0.0, 0.0], \
        [0.0, 0.5, 1.0, 0.0], \
        [0.0, 0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 0.0, 1.0])

    inputs = None
    end_point = [-10.191665959604975, -2.202013660910655, 2.3384774674620603, 0.20000000000000007]
    start_point = [0.9, 1.9, 1.9, 0.05]

    step = 0.01
    max_time = 0.15

    normal_vec = [1.0, 0.0, 0.0, 0.0]
    normal_val = -10.0

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time, start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time, step)
Beispiel #5
0
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-6.187440271807526, -5.099019513592796, 0.0], \
        [1.0, 0.0, 0.0], \
        [0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 1.0])

    inputs = None
    end_point = [-1.001900389548896, 1.111222896051579, 0.6799999999999999]
    start_point = [1.5, 1.5, 0.0]

    step = 0.01
    max_time = 0.68

    normal_vec = [1.0, 0.0, 0.0]
    normal_val = -1.0

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-0.9980723499451429, 0.0], \
        [0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 1.0])

    inputs = None
    end_point = [0.49999999999999994, 1.7999999999999998]
    start_point = [3.0143459440671965, 0.0]

    step = 0.01
    max_time = 1.8

    normal_vec = [-1.0, 0.0]
    normal_val = -0.4

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
Beispiel #7
0
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-326.9221330429018, -29.152537560606703, 289.61792082675913, -0.017236721081578463, 0.0], \
        [0.0, 1.0, 0.0, 0.1, 0.0], \
        [-327.9221330429018, -29.152537560606703, 290.4049208267591, -0.008336721081578463, 0.0], \
        [-1.9025707686533722, -239.10349133759644, 1.8942340475717936, -12.596368604543185, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 0.0, 0.0, 1.0])

    inputs = None
    end_point = [
        -5.510287888041185, 1.3870271764205684, -6.064828739538344,
        -28.15283100235093, 0.38000000000000006
    ]
    start_point = [0.7, 1.7, 0.0, 0.0, 0.11000000000000006]

    step = 0.01
    max_time = 0.27

    normal_vec = [1.0, 0.0, 0.0, 0.0, 0.0]
    normal_val = -5.5

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-11.032679571719711, -10.049875621120911, 0.0], \
        [1.0, 0.0, 0.0], \
        [0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 1.0])

    inputs = None
    end_point = [1.25, -1.2527657744563567, 0.6599999999999999]
    start_point = [-1.8605027988677774, -2.0, 0.0]

    step = 0.01
    max_time = 0.66

    normal_vec = [-1.0, 0.0, 0.0]
    normal_val = -1.25

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time, start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time, step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-21.024984394500784, -20.024984394500812, 0.0], \
        [1.0, 0.0, 0.0], \
        [0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 1.0])

    inputs = None
    end_point = [1.5, -1.5018511000130823, 0.38]
    start_point = [-1.7341477739795437, -2.0, 0.0]

    step = 0.01
    max_time = 0.38

    normal_vec = [-1.0, 0.0, 0.0]
    normal_val = -1.5

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-2560.253332008155, -2594.566218119885, -4453.962172758664, -2559.999999626852, 0.0], \
        [0.25, 0.0, 0.0, 0.0, 0.0], \
        [0.0, 0.0019531, 0.0, 0.0, 0.0], \
        [0.0, 0.0, 0.0019531, 0.0, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 0.0, 0.0, 1.0])

    inputs = None
    end_point = [
        4.11605282560395, 0.0, -1.5016049401325655, -1.5035181199244991,
        1.1999999999999997
    ]
    start_point = [-1.5, -1.4415340505447332, -1.5, -1.5, 0.4]

    step = 0.1
    max_time = 0.8

    normal_vec = [-1.0, 0.0, 0.0, 0.0, 0.0]
    normal_val = -3.8

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-6.482371250480014, -8.334425154762455, -23.010672385900353, 0.0], \
        [2.0, 0.0, 0.0, 0.0], \
        [0.0, 0.5, 1.0, 0.0], \
        [0.0, 0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 0.0, 1.0])

    inputs = None
    end_point = [
        1.584831602886784, -7.931551242773427, 2.2635366085573976, 1.44
    ]
    start_point = [1.0, 1.9, 1.9, 0.0]

    step = 0.01
    max_time = 1.44

    normal_vec = [0.0, 1.0, 0.0, 0.0]
    normal_val = -7.9

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-38.963393242493886, -30.01666203960731, 0.0], \
        [1.0, 0.0, 0.0], \
        [0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 1.0])

    inputs = None
    end_point = [1.25, -1.5898384324074084, 0.35]
    start_point = [-1.9221157656366756, -2.0, 0.0]

    step = 0.01
    max_time = 0.35000000000000003

    normal_vec = [-1.0, 0.0, 0.0]
    normal_val = -1.25

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [5.1950117647058823e-17, -3.3414588235294116e-17, 5.879341176470588e-32, 0.0], \
        [2.7756e-17, 0.0, 0.0, 0.0], \
        [0.0, 2.7756e-17, 1.0, 0.0], \
        [0.0, 0.0, 0.0, 1.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 0.0, 0.1])

    inputs = None
    end_point = [0.0, 0.0, 0.0, 0.30000000000000004]
    start_point = [0.0, 0.0, 0.0, 0.2]

    step = 0.1
    max_time = 0.1

    normal_vec = [1.0, 0.0, -1.0, 0.0]
    normal_val = 0.5

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
Beispiel #14
0
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [1.0, 0.0, 0.1, 0.0, 0.0], \
        [0.0, 1.0, 0.0, 0.1, 0.0], \
        [-221.3271161412532, -0.015681415800135746, -12.043764810929071, -0.0007856714017244991, 0.0], \
        [-0.015681415808892363, -221.32711614125986, -0.0007856714017244991, -12.043764810929042, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 0.0, 0.0, 1.0])

    inputs = None
    end_point = [2.0042403612912083, -1.6702094801800533, -40.039280048059815, 33.36623455936371, 0.6]
    start_point = [3.0, -2.5, 0.0, 0.0, 0.0]

    step = 0.01
    max_time = 0.6

    normal_vec = [0.0, 0.0, 1.0, 0.0, 0.0]
    normal_val = -40.0

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time, start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time, step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [-8.673382951280335, -5.103178418082997], \
        [-7.673382951280335, -7.103178418082997], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0])

    inputs = None
    end_point = [-0.10947145371949124, 0.15215728439468335]
    start_point = [0.5, 1.5]

    step = 0.1
    max_time = 0.8

    normal_vec = [1.0, 0.0]
    normal_val = -0.1

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time, start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time, step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [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, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \
        [-10.000000000000032, -1.54680666158521e-14, -11.020430183643988, 0.010888867131332497, 9.59517878695475e-16, 9.669395917006247e-16, 9.630721321448275e-17, 9.69657775512003e-17, 4.950503096145088e-16, 4.950503096139487e-16, 4.945261012842385e-17, 4.945261012837389e-17, 0.0], \
        [1.332891045799367e-14, -10.000000000000107, 0.010888867131332497, -11.020430183644002, 3.699083170731383e-15, 4.281153997358848e-15, 2.4906135519719127e-16, 4.140393297883257e-16, 2.1969104404401808e-15, 2.1969104404437224e-15, 2.1945841339394027e-16, 2.1945841339478733e-16, 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, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], \
        [9.856859154908716e-17, 9.181845681241549e-16, 9.630721321448275e-17, 2.4906135519719127e-16, -10.000000000000178, -1.8161741641847806e-14, -11.020430183644027, 0.0108888671313523, -1.4377239713706148e-14, -7.638929681691529e-15, 9.337754953849822e-15, 1.0221850578118637e-14, 0.0], \
        [9.242732597139534e-17, 1.0604161374444446e-15, 9.69657775512003e-17, 4.140393297883257e-16, 4.806583592669649e-14, -10.000000000000101, 0.0108888671313523, -11.020430183644041, 1.3686003404957113e-14, -2.10850942473273e-14, -2.746240454753405e-16, 8.487000610968736e-15, 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, 1.0, 0.0], \
        [4.925452284304997e-17, -4.625234655263619e-17, 4.945261012842385e-17, 2.1945841339394027e-16, -4.335411294328682e-14, -1.4924827822872955e-14, 9.337754953849822e-15, -2.746240454753405e-16, -9.99999999999991, 7.222644550410389e-14, -11.02043018364403, 0.010888867131393837, 0.0], \
        [4.9254522842981615e-17, -4.625234655313389e-17, 4.945261012837389e-17, 2.1945841339478733e-16, -2.106673436650488e-14, 4.4986045416534453e-14, 1.0221850578118637e-14, 8.487000610968736e-15, -9.056703733238273e-14, -10.000000000000066, 0.010888867131393837, -11.020430183644029, 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], \
        ])

    b_matrix = None
    c_vector = 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])

    inputs = None
    end_point = [
        -2.002688779243272, -2.0330271452519986, 2.520400360212275,
        2.496026711726407, -0.9822741037167211, -1.9298646537463473,
        1.1680361366675982, 2.3675397480069513, 0.9871612455305133,
        -1.9312187020480893, -1.1636094981983285, 2.3658954465011113,
        0.6500000000000001
    ]
    start_point = [
        -4.1, -4.1, -0.1, -0.1, -1.9, -3.9, 0.0, 0.0, 1.9, -3.9, 0.0, 0.0,
        0.5900000000000001
    ]

    step = 0.01
    max_time = 0.06

    normal_vec = [
        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
    ]
    normal_val = -2.5

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [0.0, 0.0, 1.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], \
        [-10.000000000000032, -1.54680666158521e-14, -11.020430183643988, 0.010888867131332497, 1.1758956841400194e-17, -2.681334294705814e-18, -1.2265727568661034e-16, -5.663138695988891e-17, 0.0], \
        [1.332891045799367e-14, -10.000000000000107, 0.010888867131332497, -11.020430183644002, 7.173679678112233e-15, -2.3588588295196548e-15, 9.140860417400094e-16, -1.3564985061079296e-16, 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, 1.0, 0.0], \
        [-1.2216992914100441e-16, 5.562137113516671e-16, -1.2265727568661034e-16, 9.140860417400094e-16, -9.999588296679438, -0.09074082273736088, -11.019944491391922, -0.10000000000000711, 0.0], \
        [-5.697098204390891e-17, -3.0924416589482436e-16, -5.663138695988891e-17, -1.3564985061079296e-16, 0.09074082273734198, -9.99958829667937, 0.0999999999999929, -11.019944491391902, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0])

    inputs = None
    end_point = [
        -1.3302991921498555, -2.5433378940298152, 1.5112511930095933,
        2.96304179544807, 1.2238300179903323, -2.420056511204202,
        -1.3449446645307062, 2.812923208131315, 0.5000000000000001
    ]
    start_point = [
        -2.1, -4.1, 0.0, 0.0, 1.9, -3.9, 0.0, 0.0, 0.41000000000000003
    ]

    step = 0.01
    max_time = 0.09

    normal_vec = [0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    normal_val = -1.5

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \
        [-86.11423879641357, -21.840553473714483, -10.722444969366537, -8.673091723173066, -2.740266364494604, -1.741361445943642, -0.7784492896474342, -0.6013984944540751, 0.0], \
        [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0], \
        [-56.52405817973059, -12.230808449985936, -29.693880872372617, -25.214567024131032, 20.33053280555561, 13.083597539284073, 3.892115637732249, 3.0519376151457633, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0], \
        [-8.368464343135816, -1.8483632802425252, 9.420772052702391, 7.640130605982378, -52.12372144789427, -34.89792655583118, 19.28182419838541, 15.030735326300817, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0], \
        [-2.0424103306092434, -0.4748271652768956, 1.2445502889253426, 1.0133916223123869, 13.301977280574436, 8.531678388340424, -61.156510902965664, -48.909432054064354, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \
        ])

    b_matrix = None
    c_vector = np.array([0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0])

    inputs = None
    end_point = [
        2.104466187878418, 0.16808746427037088, -0.012725400399928458,
        -3.553929733958532, 0.4164933716035923, -2.0898841622499464,
        0.6122238865653279, -1.2813291801055693, 0.27
    ]
    start_point = [0.1, 20.1, 0.9, -0.1, 0.9, -0.1, 0.9, -0.1, 0.26]

    step = 0.01
    max_time = 0.01

    normal_vec = [-1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    normal_val = -2.1

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [1.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.7398527455133954, 0.12878176824169474, -0.14335448056556063, -0.15201513320138912, -0.09838658296580742, -0.10445806629267902, -0.06789271794111401, -0.07217010038652096, -0.04654055168140933, -0.04952900288431522, -0.030957387576507095, -0.032977630610529066, -0.018945167761774726, -0.020196845302816707, -0.008999092003161475, -0.009598253991366799, 0.0], \
        [0.0, 0.0, 1.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.14335448056556366, -0.1520151332013899, -0.7848206431131413, 0.08122470133298632, 0.11286061554086828, 0.11972716729523128, 0.07703441670610789, 0.08181696879047422, 0.05230955383621259, 0.05561872811273531, 0.034528331866680015, 0.03674821757660346, 0.021011311817893372, 0.02237903929907932, 0.009946075758615369, 0.01059859131145022, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 1.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.09838658296580904, -0.1044580662926792, 0.11286061554086789, 0.11972716729523077, -0.8061728093728401, 0.05858360383078043, 0.09727745143596125, 0.10317579502144421, 0.06502219689137619, 0.0690361834827616, 0.04236347807759871, 0.045020136801285096, 0.02552923986352144, 0.027149963585236775, 0.012012219814731028, 0.012780785307712329, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \
        [-0.06789271794111541, -0.07217010038652111, 0.07703441670610811, 0.08181696879047375, 0.09727745143596067, 0.10317579502144426, -0.8181850291875731, 0.04580281852306811, 0.08733137567734871, 0.09257720370999456, 0.05602310488821086, 0.05943792949139442, 0.03336438607443353, 0.035421882809917926, 0.015583164104906113, 0.01655137227378666, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \
        [-0.04654055168141091, -0.04952900288431556, 0.052309553836213454, 0.05561872811273522, 0.06502219689137556, 0.0690361834827618, 0.08733137567735033, 0.09257720370999484, -0.8271841211907325, 0.03620456453170151, 0.07833228367418844, 0.08297894971862792, 0.04607702912959753, 0.04883933817994462, 0.021352166259700416, 0.0226410975022055, 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.1, 0.0, 0.0, 0.0, 0.0, 0.0], \
        [-0.030957387576507414, -0.03297763061052904, 0.03452833186667862, 0.03674821757660287, 0.0423634780775974, 0.04502013680128471, 0.05602310488821126, 0.05943792949139427, 0.07833228367418438, 0.08297894971862713, -0.8371301969493494, 0.02560597322025071, 0.066320063859452, 0.07019816441091466, 0.03049386502469296, 0.032287965906157935, 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, 1.0, 0.1, 0.0, 0.0, 0.0], \
        [-0.018945167761775898, -0.020196845302817387, 0.02101131181789511, 0.022379039299079848, 0.025529239863523723, 0.0271499635852374, 0.033364386074436134, 0.03542188280991862, 0.04607702912959946, 0.04883933817994507, 0.06632006385945571, 0.07019816441091549, -0.8527133610542489, 0.009054600946465485, 0.04496789759975499, 0.04755706690871002, 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, 1.0, 0.1, 0.0], \
        [-0.008999092003161372, -0.009598253991366589, 0.009946075758615518, 0.010598591311449988, 0.012012219814730277, 0.012780785307712058, 0.015583164104905158, 0.016551372273786374, 0.0213521662596986, 0.022641097502205148, 0.030493865024693572, 0.032287965906158046, 0.04496789759975214, 0.0475570669087096, -0.8832072260789473, -0.023233364959693192, 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, 1.0], \
        ])

    b_matrix = None
    c_vector = np.array([
        0.0, 24.44809191554264, 0.0, 4.014555952020528, 0.0, 5.090060905231704,
        0.0, 1.6502182195308839, 0.0, 2.9307986767641054, 0.0,
        1.338698411904521, 0.0, 2.569980752671552, 0.0, -0.0743089342801515,
        0.1
    ])

    inputs = None
    end_point = [
        9.64731943533341, 20.956463760214767, 0.399370084999837,
        -0.04240458556736204, 0.7960650380239983, 2.0439810127914964,
        1.4319925712964743, -1.045794844512328, 0.8103887177682444,
        1.3748471620791471, 1.0296048716988262, 0.02592152905641454,
        1.3107822926671198, 1.3247191627217891, 1.2681553999459014,
        -1.2072666301868957, 0.5
    ]
    start_point = [
        -391523.5499574004, 3767670.4564567353, -771915.6027122414,
        7463781.407527302, 565918.8368017239, -5515468.985631794,
        -260589.60580096807, 2551378.4070632784, 95865.89434888813,
        -933825.4352903864, -638.4802675038062, 9459.07137494447,
        -45453.45988122923, 437213.90553780465, 33609.11351488754,
        -327060.7223724352, 0.4
    ]

    step = 0.1
    max_time = 0.1

    normal_vec = [
        -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
    ]
    normal_val = 1.0

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)
def check_instance():
    'define parameters for one instance and call checking function'

    # dynamics x' = Ax + Bu + c
    a_matrix = np.array([\
        [1.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.7364211439882522, 0.13252765763319507, -0.14691402450501645, -0.1558972652522463, -0.10221233412366962, -0.10862360376206111, -0.07214496911697381, -0.07678950597200243, -0.05141635491578325, -0.05481161179002967, -0.0367105324143106, -0.03919275912325535, -0.025914664052822764, -0.027703870780313583, -0.01765116004114218, -0.018890941070317448, -0.010991461896175572, -0.011773394522545694, -0.005276656709026192, -0.0056549975703793645, 0.0], \
        [0.0, 0.0, 1.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.14691402450501778, -0.15589726525224765, -0.7811228343695897, 0.0852539961430121, 0.11684665949832362, 0.1240631674621891, 0.08148371992248332, 0.08664570958008988, 0.05743914661550396, 0.06117065330522929, 0.04062048655429743, 0.0433227234470887, 0.0284470284026285, 0.030379829413259504, 0.019254965907855855, 0.020586324232542214, 0.011936354853992675, 0.012772544118151322, 0.005714805187146462, 0.006118396952166184, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 1.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.10221233412367196, -0.10862360376206329, 0.11684665949832486, 0.12406316746219005, -0.8018514485707757, 0.0632761019610405, 0.1021408369968477, 0.10844431479541501, 0.0706878515609955, 0.07515682123714842, 0.0491756426038182, 0.05235772359523277, 0.033960788409327695, 0.03620517689931683, 0.022732223215479606, 0.024261432461093427, 0.013978309198831413, 0.014931326662163113, 0.0066596981449724, 0.0071175465477725346, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.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.07214496911697567, -0.07678950597200383, 0.0814837199224825, 0.08664570958009003, 0.10214083699684715, 0.10844431479541437, -0.8126473169322637, 0.051787213618098016, 0.09387733298515809, 0.09963138508541719, 0.06402815341602941, 0.0680392746893761, 0.04346083741667858, 0.046239326643067034, 0.028684131700304153, 0.030550179328937492, 0.01745556650645372, 0.018606434890713713, 0.008263504011677901, 0.008812929709995997, 0.0], \
        [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.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.05141635491578424, -0.05481161179003031, 0.057439146615502534, 0.0611706533052287, 0.0706878515609948, 0.07515682123714748, 0.09387733298515832, 0.09963138508541652, -0.8193070150772225, 0.0446696670703266, 0.08816252779801276, 0.09351298813325064, 0.05875149670699354, 0.06238427711899525, 0.03818418070764947, 0.04058432907268704, 0.02296932651315642, 0.024431782376770964, 0.01079586836148637, 0.011488888342941728, 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.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \
        [-0.036710532414311166, -0.03919275912325545, 0.04062048655429549, 0.04332272344708788, 0.04917564260381646, 0.05235772359523147, 0.06402815341602697, 0.06803927468937511, 0.08816252779801205, 0.09351298813325012, -0.8245836717862596, 0.039014669499945476, 0.08288587108898972, 0.08785799056287123, 0.05303669151984813, 0.05626588016682916, 0.03152448256267667, 0.033466782524914425, 0.0147058225014751, 0.015618852666774584, 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, 1.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], \
        [-0.025914664052824905, -0.027703870780314444, 0.02844702840262923, 0.030379829413259705, 0.03396078840932875, 0.03620517689931677, 0.043460837416680144, 0.0462393266430672, 0.058751496706993686, 0.062384277118995496, 0.08288587108899059, 0.08785799056287188, -0.8302984769734, 0.032896272547780825, 0.0762261729440163, 0.08074044401509946, 0.04477318750816636, 0.04745295045683327, 0.02072861420119692, 0.02197789418197377, 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, 1.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0], \
        [-0.01765116004114275, -0.018890941070317746, 0.01925496590785472, 0.020586324232541944, 0.022732223215479623, 0.024261432461093045, 0.028684131700302266, 0.030550179328937086, 0.03818418070764928, 0.040584329072687074, 0.0530366915198476, 0.0562658801668294, 0.07622617294401568, 0.08074044401509904, -0.838561980985083, 0.024083342837783905, 0.0654303045825385, 0.06925155567215828, 0.030067365006688385, 0.03183409779005812, 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, 1.0, 0.1, 0.0, 0.0, 0.0], \
        [-0.010991461896176653, -0.011773394522546755, 0.011936354853994198, 0.012772544118152209, 0.013978309198833022, 0.014931326662163768, 0.017455566506456372, 0.018606434890714563, 0.02296932651315781, 0.02443178237677179, 0.031524482562678306, 0.03346678252491555, 0.044773187508168895, 0.04745295045683404, 0.06543030458253951, 0.06925155567215904, -0.8532678034865614, 0.008464490171009253, 0.04470169038134424, 0.04727366149018517, 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, 1.0, 0.1, 0.0], \
        [-0.0052766567090260915, -0.0056549975703791295, 0.005714805187147627, 0.0061183969521660065, 0.006659698144971888, 0.007117546547772037, 0.008263504011677475, 0.008812929709995653, 0.010795868361487364, 0.011488888342941726, 0.014705822501476042, 0.015618852666774626, 0.020728614201196482, 0.021977894181973462, 0.030067365006686757, 0.03183409779005787, 0.04470169038134347, 0.04727366149018493, -0.8833351684932544, -0.023369607619049715, 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, 1.0], \
        ])

    b_matrix = None
    c_vector = np.array([
        0.0, 26.893775362629206, 0.0, 5.458571408608686, 0.0,
        4.334305675666371, 0.0, 3.500352000040478, 0.0, 0.37370335001384625,
        0.0, 1.8049602198424597, 0.0, 4.432189622032592, 0.0,
        -0.7719516653377108, 0.0, 2.5608706851621927, 0.0, 0.9225512381051206,
        0.1
    ])

    inputs = None
    end_point = [
        10.946569820233819, 23.048231243630333, 1.0748245344463014,
        0.2735075276863892, 1.0364271360861226, 0.7833728519634686,
        1.1365806008164916, 0.9049654881831937, 1.5518096784952247,
        -1.947109771602022, 1.0306546392961455, 0.4178743996647081,
        0.7735480910148194, 3.57655888339033, 1.2570945088510468,
        -2.0036684499742856, 0.8479042441932355, 1.9056921902544786,
        1.424615168176332, -0.31648430057536503, 0.5
    ]
    start_point = [
        -474758.03479094105, 4567062.831683615, -916386.18947728,
        8856115.933357762, 613198.610515903, -5976842.706662878,
        -195362.56894325837, 1924304.0263067135, -862.2668048980713,
        5440.551765061515, 96323.7205516818, -940042.4102793513,
        -188145.08017268762, 1829070.3202831247, 236679.44850771784,
        -2297111.47988929, -196879.2131431965, 1912721.069759596,
        99814.30915511627, -973416.2126536097, 0.4
    ]

    step = 0.1
    max_time = 0.1

    normal_vec = [
        -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
    ]
    normal_val = 0.0

    sim_states, sim_times = check(a_matrix, b_matrix, c_vector, step, max_time,
                                  start_point, inputs, end_point)

    if len(sys.argv) < 2 or sys.argv[1] != "noplot":
        plot(sim_states, sim_times, inputs, normal_vec, normal_val, max_time,
             step)