test_long_zpk_stability_algorithms

wield.control.SISO.test.test_long_zpk_stability_algorithms

This is a pytest module needing documentation

pytest-html report

Functions

gen_FBNS_FOM_filt_zpk([hp_order, lp_order])

This is a pytest needing documentation

sequence_for_test(filt[, filt2, F_Hz, ...])

This is a pytest needing documentation

test_long_ZPK_stability_plot_A()

This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

test_long_ZPK_stability_plot_B()

This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

test_long_ZPK_stability_plot_C()

This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

test_long_ZPK_stability_plot_C_product()

This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

test_long_ZPK_stability_plot_testing()

This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

Details

gen_FBNS_FOM_filt_zpk(hp_order=2, lp_order=2)[source][github]

This is a pytest needing documentation

code
 1def gen_FBNS_FOM_filt_zpk(hp_order=2, lp_order=2):
 2    F_Fq_lo = 10 * 2 * np.pi
 3    F_Fq_hi = 120 * 2 * np.pi
 4    F_p = []
 5    F_z = []
 6    for ord in range(hp_order):
 7        F_p.append(-F_Fq_lo + 0*1j*F_Fq_lo)
 8        F_z.append(-1)
 9
10    for ord in range(lp_order):
11        F_p.append(-F_Fq_hi)
12
13    F_k = 1
14    c_zpk = cheby2(8, 160, 1.25*2*np.pi, btype='high', analog=True, output='zpk')
15    F_z.extend(c_zpk[0])
16    F_p.extend(c_zpk[1])
17    F_k *= c_zpk[2]
18
19    filt = SISO.zpk(F_z, F_p, F_k, angular=True, fiducial_rtol=1e-5, fiducial_atol=1e-10)
20    filtss = filt.asSS
21    filt = filt / abs(filtss.Linf_norm()[0]) 
22    return filt * filt
pytest information

This code is wrapped in a pytest function using conventions detailed in Pytest Conventions. The full name of this test, as known by the documentation, is:

wield.control.SISO.test.test_long_zpk_stability_algorithms.gen_FBNS_FOM_filt_zpk

The full name is useful when building documentation, to link a reference to this page using :func:`name`, or directly include it with an autofunction directive. The collapse nodes below show every instance of the test run. There may only be one, but if the test was run multiple times through pytest parametrizations, the list can be longer.

sequence_for_test(filt, filt2=None, F_Hz=array([1.00000000e-04, 1.01275116e-04, 1.02566492e-04, ..., 9.74977284e+06, 9.87409380e+06, 1.00000000e+07]), transform_ss=<function <lambda>>, do_raise=False)[source][github]

This is a pytest needing documentation

code
 1def sequence_for_test(
 2    filt,
 3    filt2 = None,
 4    F_Hz = np.geomspace(1e-4, 1e7, 2000),
 5    transform_ss = lambda x: x,
 6    do_raise = False
 7):
 8    axB = mplfigB(Nrows=2, Ncols=2)
 9
10    filt_orig = filt
11
12    filt_horner = filt_orig.set_algorithm_choices({'ss2fresponse': {'ss2fresponse_horner': 1000}})
13    zpk2ss_ranks = algorithm_choice.algorithm_choices_defaults['zpk2ss']
14    dprint(zpk2ss_ranks)
15    zpk2ss_names = list(zpk2ss_ranks.keys())
16    # zpk2ss_names = ['zpk2ss_chain_poly']
17    N = len(zpk2ss_names)
18    for idx, k in enumerate(zpk2ss_names):
19        filt = filt_orig.set_algorithm_choices({'zpk2ss': {k: 1000}})
20        try:
21            filtss = transform_ss(filt.asSS)
22            if filt2 is not None:
23                filtss = filtss * transform_ss(filt2.asSS)
24        except Exception:
25            if do_raise:
26                raise
27            continue
28        # filtss = filtss * filtss
29        # print(filtss.A.shape, filtss.E.shape)
30
31        filtss.print_nonzero()
32
33        xfer = filtss.fresponse(f=F_Hz)
34        label = "zpk2ss: {}".format(k)
35        kw = dict(
36            lw = 0.5 + (N-idx) / 2,
37            label=label,
38            alpha=1,
39        )
40        axB.ax0_0.loglog(*xfer.fplot_mag, **kw)
41        axB.ax1_0.semilogx(*xfer.fplot_deg180, **kw)
42
43        filt = filt_horner.set_algorithm_choices({'zpk2ss': {k: 1000}})
44        try:
45            filtss = transform_ss(filt.asSS)
46
47            if filt2 is not None:
48                filtss = filtss * transform_ss(filt2.asSS)
49            # filtss = filtss * filtss
50            # print(filtss.A.shape, filtss.E.shape)
51
52            xfer = filtss.fresponse(f=F_Hz)
53            label = "zpk2ss: {}".format(k)
54            kw = dict(
55                lw = 0.5 + (N-idx) / 2,
56                label=label,
57                alpha=1,
58            )
59            axB.ax0_1.loglog(*xfer.fplot_mag, **kw)
60            axB.ax1_1.semilogx(*xfer.fplot_deg180, **kw)
61        except Exception:
62            if do_raise:
63                raise
64            continue
65
66    if filt2 is None:
67        xfer = (filt_orig).fresponse(f=F_Hz)
68    else:
69        xfer = (filt_orig * filt2).fresponse(f=F_Hz)
70    # xfer = (filt * filt).fresponse(f=F_Hz)
71    axB.ax0_0.loglog(*xfer.fplot_mag, label="ZPK, wield", ls=':')
72    axB.ax1_0.semilogx(*xfer.fplot_deg180, label="ZPK, wield", ls=':')
73    axB.ax0_1.loglog(*xfer.fplot_mag, label="ZPK, wield", ls=':')
74    axB.ax1_1.semilogx(*xfer.fplot_deg180, label="ZPK, wield", ls=':')
75
76    # axB.ax0.set_ylim(1e-25, 10)
77    axB.ax0_0.axhline(np.finfo(float).eps, lw=1, ls='--', color='black')
78    axB.ax0_0.axhline(filtss.ss.Nstates * np.finfo(float).eps, lw=1, ls='--', color='black')
79    axB.ax0_0.axhline(filtss.ss.Nstates**2 * np.finfo(float).eps, lw=1, ls='--', color='black')
80    axB.ax0_1.axhline(np.finfo(float).eps, lw=1, ls='--', color='black')
81    axB.ax0_1.axhline(filtss.ss.Nstates * np.finfo(float).eps, lw=1, ls='--', color='black')
82    axB.ax0_1.axhline(filtss.ss.Nstates**2 * np.finfo(float).eps, lw=1, ls='--', color='black')
83    axB.ax1_0.legend(fontsize=8, loc='lower right')
84    return axB
pytest information

This code is wrapped in a pytest function using conventions detailed in Pytest Conventions. The full name of this test, as known by the documentation, is:

wield.control.SISO.test.test_long_zpk_stability_algorithms.sequence_for_test

The full name is useful when building documentation, to link a reference to this page using :func:`name`, or directly include it with an autofunction directive. The collapse nodes below show every instance of the test run. There may only be one, but if the test was run multiple times through pytest parametrizations, the list can be longer.

test_long_ZPK_stability_plot_A()[source][github]

This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

This one has a modestly greater number of poles than zeros

code
docstring
"""
This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

This one has a modestly greater number of poles than zeros

"""
1def test_long_ZPK_stability_plot_A():
2
3    filt = gen_FBNS_FOM_filt_zpk()
4    axB = sequence_for_test(
5        filt = filt,
6    )
7    axB.save(tjoin('algorithm_compare_zpk2ss'))
8
9    return
pytest information

This code is wrapped in a pytest function using conventions detailed in Pytest Conventions. The full name of this test, as known by the documentation, is:

wield.control.SISO.test.test_long_zpk_stability_algorithms.test_long_ZPK_stability_plot_A

The full name is useful when building documentation, to link a reference to this page using :func:`name`, or directly include it with an autofunction directive. The collapse nodes below show every instance of the test run. There may only be one, but if the test was run multiple times through pytest parametrizations, the list can be longer.

test_long_ZPK_stability_plot_A
output
|   ABCDEFGHIJKLMNOPQRSTUVWX   |       |                             
0  | [[.a.....................2]  | [[m]  | [[1.......................] 
1  |  [2.b....................2]  |  [m]  |  [.1......................] 
2  |  [.2.b...................2]  |  [m]  |  [..1.....................] 
3  |  [..2.b..................2]  |  [m]  |  [...1....................] 
4  |  [...2.b.................2]  |  [m]  |  [....1...................] 
5  |  [....2.b................2]  |  [m]  |  [.....1..................] 
6  |  [.....2.b...............2]  |  [m]  |  [......1.................] 
7  |  [......2.b..............3]  |  [m]  |  [.......1................] 
8  |  [.......2.b.............3]  |  [m]  |  [........1...............] 
9  |  [........2.b............3]  |  [m]  |  [.........1..............] 
10 |  [.........3.b...........3]  |  [m]  |  [..........1.............] 
11 |  [..........3.b..........3]  |  [l]  |  [...........1............] 
12 |  [...........3.b.........3]  |  [k]  |  [............1...........] 
13 |  [............3.b........3]  |  [j]  |  [.............1..........] 
14 |  [.............3.b.......3]  |  [i]  |  [..............1.........] 
15 |  [..............3.b......3]  |  [h]  |  [...............1........] 
16 |  [...............3.c.....2]  |  [g]  |  [................1.......] 
17 |  [................3.c....2]  |  [f]  |  [.................1......] 
18 |  [.................3.c...3]  |  [e]  |  [..................1.....] 
19 |  [..................4.d..3]  |  [d]  |  [...................1....] 
20 |  [...................4.d.3]  |  [a]  |  [....................1...] 
21 |  [....................4.d4]  |  [.]  |  [.....................1..] 
22 |  [.....................4.4]  |  [.]  |  [......................1.] 
23 |  [......................55]] |  [.]] |  [.......................1]]
   |                              |       |                             
   | [[.......................4]] | [[.]] |                             
   |   ABCDEFGHIJKLMNOPQRSTUVWX   |       |                             
0  | [[44......................]  | [[.]  | [[1.......................] 
1  |  [4.a.b.b.a...............]  |  [.]  |  [.1......................] 
2  |  [..333.3.3...............]  |  [.]  |  [..1.....................] 
3  |  [..3.2.2.3...............]  |  [.]  |  [...1....................] 
4  |  [....333.3...............]  |  [.]  |  [....1...................] 
5  |  [....3.3.3...............]  |  [.]  |  [.....1..................] 
6  |  [......333...............]  |  [.]  |  [......1.................] 
7  |  [......3.3...............]  |  [.]  |  [.......1................] 
8  |  [........44..............]  |  [.]  |  [........1...............] 
9  |  [........3.3.4.4.4.3.4.4.]  |  [8]  |  [.........1..............] 
10 |  [..........232.2.2.2.2.2.]  |  [7]  |  [..........1.............] 
11 |  [..........2.2.2.2.2.2.2.]  |  [7]  |  [...........1............] 
12 |  [............333.3.2.3.3.]  |  [7]  |  [............1...........] 
13 |  [............2.2.2.2.2.2.]  |  [7]  |  [.............1..........] 
14 |  [..............333.3.3.3.]  |  [8]  |  [..............1.........] 
15 |  [..............2.2.2.2.2.]  |  [7]  |  [...............1........] 
16 |  [................333.3.3.]  |  [8]  |  [................1.......] 
17 |  [................2.2.2.2.]  |  [7]  |  [.................1......] 
18 |  [..................232.2.]  |  [7]  |  [..................1.....] 
19 |  [..................2.2.2.]  |  [7]  |  [...................1....] 
20 |  [....................333.]  |  [8]  |  [....................1...] 
21 |  [....................2.2.]  |  [7]  |  [.....................1..] 
22 |  [......................33]  |  [8]  |  [......................1.] 
23 |  [......................2.]] |  [7]] |  [.......................1]]
   |                              |       |                             
   | [[a.......................]] | [[.]] |                             
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghi   |       |                                        
0  | [[41.................................]  | [[.]  | [[1..................................] 
1  |  [7.1................................]  |  [.]  |  [.1.................................] 
2  |  [..11.1.............................]  |  [.]  |  [...................................] 
3  |  [...313.............................]  |  [.]  |  [...1...............................] 
4  |  [...5.5.............................]  |  [.]  |  [....1..............................] 
5  |  [.....11.1..........................]  |  [.]  |  [...................................] 
6  |  [......313..........................]  |  [.]  |  [......1............................] 
7  |  [......4.4..........................]  |  [.]  |  [.......1...........................] 
8  |  [........11.1.......................]  |  [.]  |  [...................................] 
9  |  [.........313.......................]  |  [.]  |  [.........1.........................] 
10 |  [.........4.4.......................]  |  [.]  |  [..........1........................] 
11 |  [...........11......................]  |  [.]  |  [...................................] 
12 |  [............41.....................]  |  [.]  |  [............1......................] 
13 |  [............7.1....................]  |  [.]  |  [.............1.....................] 
14 |  [..............11.1.................]  |  [.]  |  [...................................] 
15 |  [...............212.................]  |  [.]  |  [...............1...................] 
16 |  [...............4.4.................]  |  [.]  |  [................1..................] 
17 |  [.................11.1..............]  |  [.]  |  [...................................] 
18 |  [..................313..............]  |  [.]  |  [..................1................] 
19 |  [..................4.4..............]  |  [.]  |  [...................1...............] 
20 |  [....................11.1...........]  |  [.]  |  [...................................] 
21 |  [.....................313...........]  |  [.]  |  [.....................1.............] 
22 |  [.....................4.4...........]  |  [.]  |  [......................1............] 
23 |  [.......................11.1........]  |  [.]  |  [...................................] 
24 |  [........................313........]  |  [.]  |  [........................1..........] 
25 |  [........................5.5........]  |  [.]  |  [.........................1.........] 
26 |  [..........................11.1.....]  |  [.]  |  [...................................] 
27 |  [...........................212.....]  |  [.]  |  [...........................1.......] 
28 |  [...........................4.4.....]  |  [.]  |  [............................1......] 
29 |  [.............................11.1..]  |  [.]  |  [...................................] 
30 |  [..............................313..]  |  [.]  |  [..............................1....] 
31 |  [..............................4.4..]  |  [.]  |  [...............................1...] 
32 |  [................................11.]  |  [D]  |  [...................................] 
33 |  [.................................31]  |  [F]  |  [.................................1.] 
34 |  [.................................4.]] |  [G]] |  [..................................1]]
   |                                         |       |                                        
   | [[1..................................]] | [[.]] |                                        
   |   ABCDEFGHIJKLMNOPQRSTUVWX   |       |                             
0  | [[51......................]  | [[.]  | [[1.......................] 
1  |  [8.1.....................]  |  [.]  |  [.1......................] 
2  |  [B1.1....................]  |  [.]  |  [..1.....................] 
3  |  [E.1.1...................]  |  [2]  |  [...1....................] 
4  |  [H..1.1..................]  |  [3]  |  [....1...................] 
5  |  [K...1.1.................]  |  [5]  |  [.....1..................] 
6  |  [M....1.1................]  |  [6]  |  [......1.................] 
7  |  [M.....1.1...............]  |  [8]  |  [.......1................] 
8  |  [M......1.1..............]  |  [8]  |  [........1...............] 
9  |  [M.......1.1.............]  |  [A]  |  [.........1..............] 
10 |  [M........1.1............]  |  [B]  |  [..........1.............] 
11 |  [N.........1.1...........]  |  [C]  |  [...........1............] 
12 |  [N..........1.1..........]  |  [D]  |  [............1...........] 
13 |  [N...........1.1.........]  |  [E]  |  [.............1..........] 
14 |  [N............1.1........]  |  [F]  |  [..............1.........] 
15 |  [N.............1.1.......]  |  [G]  |  [...............1........] 
16 |  [N..............1.1......]  |  [G]  |  [................1.......] 
17 |  [N...............1.1.....]  |  [H]  |  [.................1......] 
18 |  [O................1.1....]  |  [H]  |  [..................1.....] 
19 |  [O.................1.1...]  |  [I]  |  [...................1....] 
20 |  [O..................1.1..]  |  [I]  |  [....................1...] 
21 |  [O...................1.1.]  |  [J]  |  [.....................1..] 
22 |  [O....................1.1]  |  [J]  |  [......................1.] 
23 |  [O.....................1.]] |  [J]] |  [.......................1]]
   |                              |       |                             
   | [[D.......................]] | [[.]] |                             
   |   ABCDEFGHIJKLMNOPQRSTUVWX   |       |                             
0  | [[.2......................]  | [[7]  | [[1.......................] 
1  |  [33......................]  |  [8]  |  [.1......................] 
2  |  [.2.2....................]  |  [7]  |  [..1.....................] 
3  |  [.333....................]  |  [8]  |  [...1....................] 
4  |  [.2.2.2..................]  |  [7]  |  [....1...................] 
5  |  [.2.232..................]  |  [7]  |  [.....1..................] 
6  |  [.2.2.2.2................]  |  [7]  |  [......1.................] 
7  |  [.3.3.333................]  |  [8]  |  [.......1................] 
8  |  [.2.2.2.2.2..............]  |  [7]  |  [........1...............] 
9  |  [.3.3.3.333..............]  |  [8]  |  [.........1..............] 
10 |  [.2.2.2.2.2.2............]  |  [7]  |  [..........1.............] 
11 |  [.3.3.2.3.333............]  |  [7]  |  [...........1............] 
12 |  [.2.2.2.2.2.2.2..........]  |  [7]  |  [............1...........] 
13 |  [.2.2.2.2.2.232..........]  |  [7]  |  [.............1..........] 
14 |  [.4.4.3.4.4.4.3.3........]  |  [8]  |  [..............1.........] 
15 |  [..............44........]  |  [.]  |  [...............1........] 
16 |  [...............3.3......]  |  [.]  |  [................1.......] 
17 |  [...............333......]  |  [.]  |  [.................1......] 
18 |  [...............3.3.3....]  |  [.]  |  [..................1.....] 
19 |  [...............3.333....]  |  [.]  |  [...................1....] 
20 |  [...............3.2.2.3..]  |  [.]  |  [....................1...] 
21 |  [...............3.3.333..]  |  [.]  |  [.....................1..] 
22 |  [...............a.b.b.a.4]  |  [.]  |  [......................1.] 
23 |  [......................44]] |  [.]] |  [.......................1]]
   |                              |       |                             
   | [[.......................a]] | [[.]] |                             
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghi   |       |                                        
0  | [[.1.................................]  | [[2]  | [[a..................................] 
1  |  [22.................................]  |  [3]  |  [.a.................................] 
2  |  [.3c................................]  |  [4]  |  [...................................] 
3  |  [..2.1..............................]  |  [.]  |  [...1...............................] 
4  |  [..221..............................]  |  [.]  |  [....b..............................] 
5  |  [..4.3c.............................]  |  [.]  |  [...................................] 
6  |  [.....2.1...........................]  |  [.]  |  [......a............................] 
7  |  [.....221...........................]  |  [.]  |  [.......a...........................] 
8  |  [.....3.2a..........................]  |  [.]  |  [...................................] 
9  |  [........2.2........................]  |  [.]  |  [.........a.........................] 
10 |  [........111........................]  |  [.]  |  [..........b........................] 
11 |  [........1.1a.......................]  |  [.]  |  [...................................] 
12 |  [...........a.1.....................]  |  [.]  |  [............a......................] 
13 |  [...........122.....................]  |  [.]  |  [.............a.....................] 
14 |  [...........a.11....................]  |  [.]  |  [...................................] 
15 |  [..............1.1..................]  |  [.]  |  [...............a...................] 
16 |  [..............222..................]  |  [.]  |  [................a..................] 
17 |  [..............1.12.................]  |  [.]  |  [...................................] 
18 |  [.................1.1...............]  |  [.]  |  [..................a................] 
19 |  [.................121...............]  |  [.]  |  [...................a...............] 
20 |  [.................1.11..............]  |  [.]  |  [...................................] 
21 |  [....................a.2............]  |  [.]  |  [.....................a.............] 
22 |  [.....................32............]  |  [.]  |  [......................b............] 
23 |  [......................a1...........]  |  [.]  |  [...................................] 
24 |  [.......................a.1.........]  |  [.]  |  [........................a..........] 
25 |  [.......................122.........]  |  [.]  |  [.........................a.........] 
26 |  [.......................a.11........]  |  [.]  |  [...................................] 
27 |  [..........................a.1......]  |  [.]  |  [...........................a.......] 
28 |  [..........................122......]  |  [.]  |  [............................a......] 
29 |  [..........................a.12.....]  |  [.]  |  [...................................] 
30 |  [.............................1.2...]  |  [.]  |  [..............................a....] 
31 |  [.............................122...]  |  [.]  |  [...............................a...] 
32 |  [.............................a.12..]  |  [.]  |  [...................................] 
33 |  [................................b.3]  |  [.]  |  [.................................a.] 
34 |  [.................................22]] |  [.]] |  [..................................b]]
   |                                         |       |                                        
   | [[..................................b]] | [[.]] |                                        
Captured stderr call
{'zpk2ss_cheby': 80,
 'zpk2ss_chain_poly': 100,
 'zpk2ss_chainE_poly': 60,
 'zpk2ss_cheby_lower': -80,
 'zpk2ss_chain_poly_lower': -100,
 'zpk2ss_chainE_poly_lower': -60}
test_long_ZPK_stability_plot_B()[source][github]

This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

This one has decently greater number of poles than zeros

code
docstring
"""
This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

This one has decently greater number of poles than zeros

"""
1def test_long_ZPK_stability_plot_B():
2
3    filt = gen_FBNS_FOM_filt_zpk(lp_order=4)
4    axB = sequence_for_test(
5        filt = filt,
6    )
7    axB.save(tjoin('algorithm_compare_zpk2ss'))
8    return
pytest information

This code is wrapped in a pytest function using conventions detailed in Pytest Conventions. The full name of this test, as known by the documentation, is:

wield.control.SISO.test.test_long_zpk_stability_algorithms.test_long_ZPK_stability_plot_B

The full name is useful when building documentation, to link a reference to this page using :func:`name`, or directly include it with an autofunction directive. The collapse nodes below show every instance of the test run. There may only be one, but if the test was run multiple times through pytest parametrizations, the list can be longer.

test_long_ZPK_stability_plot_B
output
|   ABCDEFGHIJKLMNOPQRSTUVWXYZab   |       |                                 
0  | [[.a.........................2]  | [[n]  | [[1...........................] 
1  |  [2.b........................2]  |  [n]  |  [.1..........................] 
2  |  [.2.b.......................2]  |  [n]  |  [..1.........................] 
3  |  [..2.b......................2]  |  [n]  |  [...1........................] 
4  |  [...2.b.....................2]  |  [n]  |  [....1.......................] 
5  |  [....2.b....................2]  |  [n]  |  [.....1......................] 
6  |  [.....2.b...................3]  |  [n]  |  [......1.....................] 
7  |  [......2.b..................3]  |  [n]  |  [.......1....................] 
8  |  [.......2.b.................3]  |  [n]  |  [........1...................] 
9  |  [........2.b................3]  |  [m]  |  [.........1..................] 
10 |  [.........2.b...............3]  |  [m]  |  [..........1.................] 
11 |  [..........3.b..............3]  |  [m]  |  [...........1................] 
12 |  [...........3.b.............3]  |  [m]  |  [............1...............] 
13 |  [............3.b............3]  |  [m]  |  [.............1..............] 
14 |  [.............3.c...........3]  |  [m]  |  [..............1.............] 
15 |  [..............3.c..........3]  |  [m]  |  [...............1............] 
16 |  [...............3.c.........3]  |  [m]  |  [................1...........] 
17 |  [................3.c........3]  |  [m]  |  [.................1..........] 
18 |  [.................3.c.......3]  |  [m]  |  [..................1.........] 
19 |  [..................3.c......3]  |  [m]  |  [...................1........] 
20 |  [...................3.c.....3]  |  [l]  |  [....................1.......] 
21 |  [....................3.c....2]  |  [.]  |  [.....................1......] 
22 |  [.....................4.d...3]  |  [.]  |  [......................1.....] 
23 |  [......................4.d..3]  |  [.]  |  [.......................1....] 
24 |  [.......................4.d.3]  |  [.]  |  [........................1...] 
25 |  [........................5.e4]  |  [.]  |  [.........................1..] 
26 |  [.........................5.4]  |  [.]  |  [..........................1.] 
27 |  [..........................55]] |  [.]] |  [...........................1]]
   |                                  |       |                                 
   | [[...........................D]] | [[.]] |                                 
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZab   |       |                                 
0  | [[333.4.......................]  | [[.]  | [[1...........................] 
1  |  [2.2.3.......................]  |  [.]  |  [.1..........................] 
2  |  [..334.......................]  |  [.]  |  [..1.........................] 
3  |  [..2.3.......................]  |  [.]  |  [...1........................] 
4  |  [....44......................]  |  [.]  |  [....1.......................] 
5  |  [....4.3.3.3.................]  |  [.]  |  [.....1......................] 
6  |  [......333.3.................]  |  [.]  |  [......1.....................] 
7  |  [......3.3.3.................]  |  [.]  |  [.......1....................] 
8  |  [........333.................]  |  [.]  |  [........1...................] 
9  |  [........3.3.................]  |  [.]  |  [.........1..................] 
10 |  [..........44................]  |  [.]  |  [..........1.................] 
11 |  [..........4.b.b.b...........]  |  [.]  |  [...........1................] 
12 |  [............232.2...........]  |  [.]  |  [............1...............] 
13 |  [............3.3.3...........]  |  [.]  |  [.............1..............] 
14 |  [..............333...........]  |  [.]  |  [..............1.............] 
15 |  [..............3.3...........]  |  [.]  |  [...............1............] 
16 |  [................44..........]  |  [.]  |  [................1...........] 
17 |  [................3.4.4.5.....]  |  [.]  |  [.................1..........] 
18 |  [..................232.3.....]  |  [.]  |  [..................1.........] 
19 |  [..................2.2.3.....]  |  [.]  |  [...................1........] 
20 |  [....................334.....]  |  [.]  |  [....................1.......] 
21 |  [....................2.3.....]  |  [.]  |  [.....................1......] 
22 |  [......................45....]  |  [.]  |  [......................1.....] 
23 |  [......................3.4.4.]  |  [C]  |  [.......................1....] 
24 |  [........................333.]  |  [B]  |  [........................1...] 
25 |  [........................2.2.]  |  [B]  |  [.........................1..] 
26 |  [..........................33]  |  [B]  |  [..........................1.] 
27 |  [..........................2.]] |  [B]] |  [...........................1]]
   |                                  |       |                                 
   | [[e.e.e.......................]] | [[.]] |                                 
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmno   |       |                                              
0  | [[313......................................]  | [[.]  | [[1........................................] 
1  |  [5.5......................................]  |  [.]  |  [.1.......................................] 
2  |  [..11.1...................................]  |  [.]  |  [.........................................] 
3  |  [...313...................................]  |  [.]  |  [...1.....................................] 
4  |  [...4.4...................................]  |  [.]  |  [....1....................................] 
5  |  [.....11..................................]  |  [.]  |  [.........................................] 
6  |  [......41.................................]  |  [.]  |  [......1..................................] 
7  |  [......7.1................................]  |  [.]  |  [.......1.................................] 
8  |  [........11.1.............................]  |  [.]  |  [.........................................] 
9  |  [.........313.............................]  |  [.]  |  [.........1...............................] 
10 |  [.........5.5.............................]  |  [.]  |  [..........1..............................] 
11 |  [...........11.1..........................]  |  [.]  |  [.........................................] 
12 |  [............313..........................]  |  [.]  |  [............1............................] 
13 |  [............4.4..........................]  |  [.]  |  [.............1...........................] 
14 |  [..............11.........................]  |  [.]  |  [.........................................] 
15 |  [...............41........................]  |  [.]  |  [...............1.........................] 
16 |  [...............7.1.......................]  |  [.]  |  [................1........................] 
17 |  [.................11.1....................]  |  [.]  |  [.........................................] 
18 |  [..................212....................]  |  [.]  |  [..................1......................] 
19 |  [..................4.4....................]  |  [.]  |  [...................1.....................] 
20 |  [....................11.1.................]  |  [.]  |  [.........................................] 
21 |  [.....................313.................]  |  [.]  |  [.....................1...................] 
22 |  [.....................4.4.................]  |  [.]  |  [......................1..................] 
23 |  [.......................11................]  |  [.]  |  [.........................................] 
24 |  [........................41...............]  |  [.]  |  [........................1................] 
25 |  [........................7.1..............]  |  [.]  |  [.........................1...............] 
26 |  [..........................11.1...........]  |  [.]  |  [.........................................] 
27 |  [...........................212...........]  |  [.]  |  [...........................1.............] 
28 |  [...........................4.4...........]  |  [.]  |  [............................1............] 
29 |  [.............................11.1........]  |  [.]  |  [.........................................] 
30 |  [..............................313........]  |  [.]  |  [..............................1..........] 
31 |  [..............................4.4........]  |  [.]  |  [...............................1.........] 
32 |  [................................11.......]  |  [.]  |  [.........................................] 
33 |  [.................................41......]  |  [.]  |  [.................................1.......] 
34 |  [.................................7.1.....]  |  [.]  |  [..................................1......] 
35 |  [...................................11.1..]  |  [.]  |  [.........................................] 
36 |  [....................................313..]  |  [.]  |  [....................................1....] 
37 |  [....................................4.4..]  |  [.]  |  [.....................................1...] 
38 |  [......................................11.]  |  [M]  |  [.........................................] 
39 |  [.......................................31]  |  [M]  |  [.......................................1.] 
40 |  [.......................................4.]] |  [M]] |  [........................................1]]
   |                                               |       |                                              
   | [[1.1......................................]] | [[.]] |                                              
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZab   |       |                                 
0  | [[51..........................]  | [[.]  | [[1...........................] 
1  |  [9.1.........................]  |  [.]  |  [.1..........................] 
2  |  [C1.1........................]  |  [.]  |  [..1.........................] 
3  |  [G.1.1.......................]  |  [.]  |  [...1........................] 
4  |  [J..1.1......................]  |  [.]  |  [....1.......................] 
5  |  [M...1.1.....................]  |  [.]  |  [.....1......................] 
6  |  [M....1.1....................]  |  [.]  |  [......1.....................] 
7  |  [M.....1.1...................]  |  [3]  |  [.......1....................] 
8  |  [M......1.1..................]  |  [4]  |  [........1...................] 
9  |  [M.......1.1.................]  |  [6]  |  [.........1..................] 
10 |  [N........1.1................]  |  [7]  |  [..........1.................] 
11 |  [N.........1.1...............]  |  [9]  |  [...........1................] 
12 |  [N..........1.1..............]  |  [A]  |  [............1...............] 
13 |  [N...........1.1.............]  |  [B]  |  [.............1..............] 
14 |  [N............1.1............]  |  [C]  |  [..............1.............] 
15 |  [O.............1.1...........]  |  [D]  |  [...............1............] 
16 |  [O..............1.1..........]  |  [E]  |  [................1...........] 
17 |  [O...............1.1.........]  |  [F]  |  [.................1..........] 
18 |  [O................1.1........]  |  [G]  |  [..................1.........] 
19 |  [O.................1.1.......]  |  [H]  |  [...................1........] 
20 |  [O..................1.1......]  |  [H]  |  [....................1.......] 
21 |  [P...................1.1.....]  |  [I]  |  [.....................1......] 
22 |  [P....................1.1....]  |  [J]  |  [......................1.....] 
23 |  [P.....................1.1...]  |  [J]  |  [.......................1....] 
24 |  [P......................1.1..]  |  [K]  |  [........................1...] 
25 |  [P.......................1.1.]  |  [K]  |  [.........................1..] 
26 |  [P........................1.1]  |  [K]  |  [..........................1.] 
27 |  [P.........................1.]] |  [K]] |  [...........................1]]
   |                                  |       |                                 
   | [[M...........................]] | [[.]] |                                 
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZab   |       |                                 
0  | [[.2..........................]  | [[B]  | [[1...........................] 
1  |  [33..........................]  |  [B]  |  [.1..........................] 
2  |  [.2.2........................]  |  [B]  |  [..1.........................] 
3  |  [.333........................]  |  [B]  |  [...1........................] 
4  |  [.4.4.3......................]  |  [C]  |  [....1.......................] 
5  |  [....54......................]  |  [.]  |  [.....1......................] 
6  |  [.....3.2....................]  |  [.]  |  [......1.....................] 
7  |  [.....433....................]  |  [.]  |  [.......1....................] 
8  |  [.....3.2.2..................]  |  [.]  |  [........1...................] 
9  |  [.....3.232..................]  |  [.]  |  [.........1..................] 
10 |  [.....5.4.4.3................]  |  [.]  |  [..........1.................] 
11 |  [..........44................]  |  [.]  |  [...........1................] 
12 |  [...........3.3..............]  |  [.]  |  [............1...............] 
13 |  [...........333..............]  |  [.]  |  [.............1..............] 
14 |  [...........3.3.3............]  |  [.]  |  [..............1.............] 
15 |  [...........2.232............]  |  [.]  |  [...............1............] 
16 |  [...........b.b.b.4..........]  |  [.]  |  [................1...........] 
17 |  [................44..........]  |  [.]  |  [.................1..........] 
18 |  [.................3.3........]  |  [.]  |  [..................1.........] 
19 |  [.................333........]  |  [.]  |  [...................1........] 
20 |  [.................3.3.3......]  |  [.]  |  [....................1.......] 
21 |  [.................3.333......]  |  [.]  |  [.....................1......] 
22 |  [.................3.3.3.4....]  |  [.]  |  [......................1.....] 
23 |  [......................44....]  |  [.]  |  [.......................1....] 
24 |  [.......................3.2..]  |  [.]  |  [........................1...] 
25 |  [.......................433..]  |  [.]  |  [.........................1..] 
26 |  [.......................3.2.2]  |  [.]  |  [..........................1.] 
27 |  [.......................4.333]] |  [.]] |  [...........................1]]
   |                                  |       |                                 
   | [[.......................e.e.e]] | [[.]] |                                 
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmno   |       |                                              
0  | [[.a.......................................]  | [[2]  | [[a........................................] 
1  |  [21.......................................]  |  [2]  |  [.b.......................................] 
2  |  [.2c......................................]  |  [3]  |  [.........................................] 
3  |  [..2.1....................................]  |  [.]  |  [...a.....................................] 
4  |  [..322....................................]  |  [.]  |  [....a....................................] 
5  |  [..3.2d...................................]  |  [.]  |  [.........................................] 
6  |  [.....4.a.................................]  |  [.]  |  [......b..................................] 
7  |  [......31.................................]  |  [.]  |  [.......c.................................] 
8  |  [.......4c................................]  |  [.]  |  [.........................................] 
9  |  [........1.1..............................]  |  [.]  |  [.........a...............................] 
10 |  [........222..............................]  |  [.]  |  [..........a..............................] 
11 |  [........1.1a.............................]  |  [.]  |  [.........................................] 
12 |  [...........1.1...........................]  |  [.]  |  [............a............................] 
13 |  [...........121...........................]  |  [.]  |  [.............a...........................] 
14 |  [...........1.12..........................]  |  [.]  |  [.........................................] 
15 |  [..............a.2........................]  |  [.]  |  [...............a.........................] 
16 |  [...............32........................]  |  [.]  |  [................b........................] 
17 |  [................a1.......................]  |  [.]  |  [.........................................] 
18 |  [.................a.1.....................]  |  [.]  |  [..................a......................] 
19 |  [.................122.....................]  |  [.]  |  [...................a.....................] 
20 |  [.................a.12....................]  |  [.]  |  [.........................................] 
21 |  [....................1.1..................]  |  [.]  |  [.....................a...................] 
22 |  [....................121..................]  |  [.]  |  [......................a..................] 
23 |  [....................1.12.................]  |  [.]  |  [.........................................] 
24 |  [.......................a.2...............]  |  [.]  |  [........................b................] 
25 |  [........................22...............]  |  [.]  |  [.........................b...............] 
26 |  [.........................a1..............]  |  [.]  |  [.........................................] 
27 |  [..........................a.1............]  |  [.]  |  [...........................a.............] 
28 |  [..........................122............]  |  [.]  |  [............................a............] 
29 |  [..........................a.12...........]  |  [.]  |  [.........................................] 
30 |  [.............................2.2.........]  |  [.]  |  [..............................a..........] 
31 |  [.............................111.........]  |  [.]  |  [...............................b.........] 
32 |  [.............................1.12........]  |  [.]  |  [.........................................] 
33 |  [................................a.3......]  |  [.]  |  [.................................a.......] 
34 |  [.................................22......]  |  [.]  |  [..................................b......] 
35 |  [..................................a3.....]  |  [.]  |  [.........................................] 
36 |  [...................................1.1...]  |  [.]  |  [....................................a....] 
37 |  [...................................222...]  |  [.]  |  [.....................................a...] 
38 |  [...................................a.a2..]  |  [.]  |  [.........................................] 
39 |  [......................................1.2]  |  [.]  |  [.......................................a.] 
40 |  [......................................122]] |  [.]] |  [........................................a]]
   |                                               |       |                                              
   | [[......................................b.a]] | [[.]] |                                              
Captured stderr call
{'zpk2ss_cheby': 80,
 'zpk2ss_chain_poly': 100,
 'zpk2ss_chainE_poly': 60,
 'zpk2ss_cheby_lower': -80,
 'zpk2ss_chain_poly_lower': -100,
 'zpk2ss_chainE_poly_lower': -60}
test_long_ZPK_stability_plot_C()[source][github]

This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

This one has the same number of plots as zeros.

code
docstring
"""
This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

This one has the same number of plots as zeros.

"""
1def test_long_ZPK_stability_plot_C():
2
3    filt = gen_FBNS_FOM_filt_zpk(lp_order=0)
4    axB = sequence_for_test(
5        filt = filt,
6    )
7    axB.save(tjoin('algorithm_compare_zpk2ss'))
8
9    return
pytest information

This code is wrapped in a pytest function using conventions detailed in Pytest Conventions. The full name of this test, as known by the documentation, is:

wield.control.SISO.test.test_long_zpk_stability_algorithms.test_long_ZPK_stability_plot_C

The full name is useful when building documentation, to link a reference to this page using :func:`name`, or directly include it with an autofunction directive. The collapse nodes below show every instance of the test run. There may only be one, but if the test was run multiple times through pytest parametrizations, the list can be longer.

test_long_ZPK_stability_plot_C
output
|   ABCDEFGHIJKLMNOPQRST   |       |                         
0  | [[.a.................2]  | [[9]  | [[1...................] 
1  |  [2.b................2]  |  [9]  |  [.1..................] 
2  |  [.2.b...............2]  |  [9]  |  [..1.................] 
3  |  [..2.b..............2]  |  [9]  |  [...1................] 
4  |  [...2.b.............2]  |  [9]  |  [....1...............] 
5  |  [....2.b............2]  |  [9]  |  [.....1..............] 
6  |  [.....2.b...........3]  |  [9]  |  [......1.............] 
7  |  [......2.b..........3]  |  [9]  |  [.......1............] 
8  |  [.......2.b.........3]  |  [9]  |  [........1...........] 
9  |  [........2.b........3]  |  [9]  |  [.........1..........] 
10 |  [.........2.b.......3]  |  [9]  |  [..........1.........] 
11 |  [..........2.b......2]  |  [9]  |  [...........1........] 
12 |  [...........3.b.....2]  |  [9]  |  [............1.......] 
13 |  [............2.b....2]  |  [9]  |  [.............1......] 
14 |  [.............3.c...2]  |  [9]  |  [..............1.....] 
15 |  [..............3.c..2]  |  [9]  |  [...............1....] 
16 |  [...............3.c.2]  |  [9]  |  [................1...] 
17 |  [................4.c3]  |  [A]  |  [.................1..] 
18 |  [.................4.3]  |  [A]  |  [..................1.] 
19 |  [..................44]] |  [A]] |  [...................1]]
   |                          |       |                         
   | [[...................g]] | [[1]] |                         
   |   ABCDEFGHIJKLMNOPQRST   |       |                         
0  | [[333.2.2.2.2.2.2.2.2.]  | [[3]  | [[1...................] 
1  |  [3.2.2.2.2.2.2.2.2.2.]  |  [3]  |  [.1..................] 
2  |  [..333.3.3.3.3.3.3.3.]  |  [3]  |  [..1.................] 
3  |  [..3.2.2.2.2.2.2.2.2.]  |  [3]  |  [...1................] 
4  |  [....232.2.2.2.2.2.2.]  |  [3]  |  [....1...............] 
5  |  [....2.2.2.2.2.2.2.2.]  |  [3]  |  [.....1..............] 
6  |  [......232.2.2.2.2.2.]  |  [3]  |  [......1.............] 
7  |  [......2.2.2.2.2.2.2.]  |  [3]  |  [.......1............] 
8  |  [........333.3.3.3.3.]  |  [3]  |  [........1...........] 
9  |  [........2.2.2.2.2.2.]  |  [3]  |  [.........1..........] 
10 |  [..........333.3.3.3.]  |  [3]  |  [..........1.........] 
11 |  [..........2.2.2.2.2.]  |  [3]  |  [...........1........] 
12 |  [............333.3.3.]  |  [3]  |  [............1.......] 
13 |  [............2.2.2.2.]  |  [3]  |  [.............1......] 
14 |  [..............333.3.]  |  [3]  |  [..............1.....] 
15 |  [..............3.3.3.]  |  [3]  |  [...............1....] 
16 |  [................333.]  |  [3]  |  [................1...] 
17 |  [................3.3.]  |  [3]  |  [.................1..] 
18 |  [..................33]  |  [3]  |  [..................1.] 
19 |  [..................3.]] |  [3]] |  [...................1]]
   |                          |       |                         
   | [[1.1.a.a.a.a.a.a.a.a.]] | [[1]] |                         
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZabc   |       |                                  
0  | [[313..........................]  | [[.]  | [[1............................] 
1  |  [5.5..........................]  |  [.]  |  [.1...........................] 
2  |  [..11.1.......................]  |  [.]  |  [.............................] 
3  |  [...313.......................]  |  [.]  |  [...1.........................] 
4  |  [...5.5.......................]  |  [.]  |  [....1........................] 
5  |  [.....11.1....................]  |  [.]  |  [.............................] 
6  |  [......212....................]  |  [.]  |  [......1......................] 
7  |  [......4.4....................]  |  [.]  |  [.......1.....................] 
8  |  [........11.1.................]  |  [.]  |  [.............................] 
9  |  [.........212.................]  |  [.]  |  [.........1...................] 
10 |  [.........4.4.................]  |  [.]  |  [..........1..................] 
11 |  [...........11.1..............]  |  [.]  |  [.............................] 
12 |  [............313..............]  |  [.]  |  [............1................] 
13 |  [............4.4..............]  |  [.]  |  [.............1...............] 
14 |  [..............11.1...........]  |  [.]  |  [.............................] 
15 |  [...............313...........]  |  [.]  |  [...............1.............] 
16 |  [...............4.4...........]  |  [.]  |  [................1............] 
17 |  [.................11.1........]  |  [.]  |  [.............................] 
18 |  [..................313........]  |  [.]  |  [..................1..........] 
19 |  [..................4.4........]  |  [.]  |  [...................1.........] 
20 |  [....................11.1.....]  |  [.]  |  [.............................] 
21 |  [.....................313.....]  |  [.]  |  [.....................1.......] 
22 |  [.....................4.4.....]  |  [.]  |  [......................1......] 
23 |  [.......................11.1..]  |  [.]  |  [.............................] 
24 |  [........................313..]  |  [.]  |  [........................1....] 
25 |  [........................4.4..]  |  [.]  |  [.........................1...] 
26 |  [..........................11.]  |  [1]  |  [.............................] 
27 |  [...........................31]  |  [3]  |  [...........................1.] 
28 |  [...........................4.]] |  [4]] |  [............................1]]
   |                                   |       |                                  
   | [[1.1..........................]] | [[.]] |                                  
   |   ABCDEFGHIJKLMNOPQRST   |       |                         
0  | [[41..................]  | [[4]  | [[1...................] 
1  |  [7.1.................]  |  [7]  |  [.1..................] 
2  |  [91.1................]  |  [9]  |  [..1.................] 
3  |  [C.1.1...............]  |  [C]  |  [...1................] 
4  |  [E..1.1..............]  |  [E]  |  [....1...............] 
5  |  [G...1.1.............]  |  [G]  |  [.....1..............] 
6  |  [J....1.1............]  |  [J]  |  [......1.............] 
7  |  [L.....1.1...........]  |  [L]  |  [.......1............] 
8  |  [M......1.1..........]  |  [M]  |  [........1...........] 
9  |  [M.......1.1.........]  |  [M]  |  [.........1..........] 
10 |  [M........1.1........]  |  [M]  |  [..........1.........] 
11 |  [M.........1.1.......]  |  [M]  |  [...........1........] 
12 |  [M..........1.1......]  |  [M]  |  [............1.......] 
13 |  [M...........1.1.....]  |  [M]  |  [.............1......] 
14 |  [N............1.1....]  |  [N]  |  [..............1.....] 
15 |  [N.............1.1...]  |  [N]  |  [...............1....] 
16 |  [N..............1.1..]  |  [N]  |  [................1...] 
17 |  [N...............1.1.]  |  [N]  |  [.................1..] 
18 |  [N................1.1]  |  [N]  |  [..................1.] 
19 |  [N.................1.]] |  [N]] |  [...................1]]
   |                          |       |                         
   | [[1...................]] | [[1]] |                         
   |   ABCDEFGHIJKLMNOPQRST   |       |                         
0  | [[.3..................]  | [[3]  | [[1...................] 
1  |  [33..................]  |  [3]  |  [.1..................] 
2  |  [.3.3................]  |  [3]  |  [..1.................] 
3  |  [.333................]  |  [3]  |  [...1................] 
4  |  [.3.3.3..............]  |  [3]  |  [....1...............] 
5  |  [.3.333..............]  |  [3]  |  [.....1..............] 
6  |  [.2.2.2.2............]  |  [3]  |  [......1.............] 
7  |  [.3.3.333............]  |  [3]  |  [.......1............] 
8  |  [.2.2.2.2.2..........]  |  [3]  |  [........1...........] 
9  |  [.3.3.3.333..........]  |  [3]  |  [.........1..........] 
10 |  [.2.2.2.2.2.2........]  |  [3]  |  [..........1.........] 
11 |  [.3.3.3.3.333........]  |  [3]  |  [...........1........] 
12 |  [.2.2.2.2.2.2.2......]  |  [3]  |  [............1.......] 
13 |  [.2.2.2.2.2.232......]  |  [3]  |  [.............1......] 
14 |  [.2.2.2.2.2.2.2.2....]  |  [3]  |  [..............1.....] 
15 |  [.2.2.2.2.2.2.232....]  |  [3]  |  [...............1....] 
16 |  [.2.2.2.2.2.2.2.2.3..]  |  [3]  |  [................1...] 
17 |  [.3.3.3.3.3.3.3.333..]  |  [3]  |  [.................1..] 
18 |  [.2.2.2.2.2.2.2.2.2.3]  |  [3]  |  [..................1.] 
19 |  [.2.2.2.2.2.2.2.2.333]] |  [3]] |  [...................1]]
   |                          |       |                         
   | [[.a.a.a.a.a.a.a.a.1.1]] | [[1]] |                         
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZabc   |       |                                  
0  | [[.1...........................]  | [[2]  | [[a............................] 
1  |  [11...........................]  |  [2]  |  [.b...........................] 
2  |  [.11..........................]  |  [2]  |  [.............................] 
3  |  [..1.1........................]  |  [.]  |  [...a.........................] 
4  |  [..222........................]  |  [.]  |  [....a........................] 
5  |  [..1.11.......................]  |  [.]  |  [.............................] 
6  |  [.....1.1.....................]  |  [.]  |  [......a......................] 
7  |  [.....222.....................]  |  [.]  |  [.......a.....................] 
8  |  [.....1.11....................]  |  [.]  |  [.............................] 
9  |  [........1.1..................]  |  [.]  |  [.........a...................] 
10 |  [........222..................]  |  [.]  |  [..........a..................] 
11 |  [........1.11.................]  |  [.]  |  [.............................] 
12 |  [...........1.1...............]  |  [.]  |  [............a................] 
13 |  [...........222...............]  |  [.]  |  [.............a...............] 
14 |  [...........1.11..............]  |  [.]  |  [.............................] 
15 |  [..............1.1............]  |  [.]  |  [...............a.............] 
16 |  [..............222............]  |  [.]  |  [................a............] 
17 |  [..............1.11...........]  |  [.]  |  [.............................] 
18 |  [.................1.1.........]  |  [.]  |  [..................a..........] 
19 |  [.................121.........]  |  [.]  |  [...................a.........] 
20 |  [.................1.11........]  |  [.]  |  [.............................] 
21 |  [....................1.1......]  |  [.]  |  [.....................a.......] 
22 |  [....................121......]  |  [.]  |  [......................a......] 
23 |  [....................1.1a.....]  |  [.]  |  [.............................] 
24 |  [.......................1.2...]  |  [.]  |  [........................a....] 
25 |  [.......................122...]  |  [.]  |  [.........................a...] 
26 |  [.......................a.11..]  |  [.]  |  [.............................] 
27 |  [..........................2.2]  |  [.]  |  [...........................a.] 
28 |  [..........................111]] |  [.]] |  [............................b]]
   |                                   |       |                                  
   | [[..........................a.a]] | [[.]] |                                  
Captured stderr call
{'zpk2ss_cheby': 80,
 'zpk2ss_chain_poly': 100,
 'zpk2ss_chainE_poly': 60,
 'zpk2ss_cheby_lower': -80,
 'zpk2ss_chain_poly_lower': -100,
 'zpk2ss_chainE_poly_lower': -60}
test_long_ZPK_stability_plot_C_product()[source][github]

This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

This one has the same number of plots as zeros.

code
docstring
"""
This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

This one has the same number of plots as zeros.

"""
 1def test_long_ZPK_stability_plot_C_product():
 2
 3    # only works on these which have equal poles and zeros
 4    filt = gen_FBNS_FOM_filt_zpk(lp_order=0)
 5    def transform(ss):
 6        ss = ss.balance(which='ABC')
 7        # ss = ss.balance_and_truncate()
 8        return ss
 9    axB = sequence_for_test(
10        filt = filt**-1,
11        filt2 = filt,
12        transform_ss=transform,
13    )
14    axB.save(tjoin('algorithm_compare_zpk2ss'))
15
16    return
pytest information

This code is wrapped in a pytest function using conventions detailed in Pytest Conventions. The full name of this test, as known by the documentation, is:

wield.control.SISO.test.test_long_zpk_stability_algorithms.test_long_ZPK_stability_plot_C_product

The full name is useful when building documentation, to link a reference to this page using :func:`name`, or directly include it with an autofunction directive. The collapse nodes below show every instance of the test run. There may only be one, but if the test was run multiple times through pytest parametrizations, the list can be longer.

test_long_ZPK_stability_plot_C_product
output
|   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn   |       |                                             
0  | [[333.2.2.3.2.3.2.2.2....................2]  | [[3]  | [[1.......................................] 
1  |  [3.2.2.2.2.2.2.2.2.2....................1]  |  [3]  |  [.1......................................] 
2  |  [..333.3.3.3.3.3.3.3....................2]  |  [3]  |  [..1.....................................] 
3  |  [..3.2.2.3.2.3.2.2.2....................2]  |  [3]  |  [...1....................................] 
4  |  [....232.2.2.2.2.2.2....................2]  |  [3]  |  [....1...................................] 
5  |  [....2.2.3.2.3.2.2.2....................2]  |  [3]  |  [.....1..................................] 
6  |  [......232.2.2.2.2.2....................2]  |  [3]  |  [......1.................................] 
7  |  [......2.3.2.3.2.2.2....................2]  |  [3]  |  [.......1................................] 
8  |  [........332.3.2.2.2....................2]  |  [3]  |  [........1...............................] 
9  |  [........3.2.3.2.2.2....................2]  |  [3]  |  [.........1..............................] 
10 |  [..........333.3.3.3....................2]  |  [3]  |  [..........1.............................] 
11 |  [..........2.3.2.2.2....................2]  |  [3]  |  [...........1............................] 
12 |  [............333.3.3....................2]  |  [3]  |  [............1...........................] 
13 |  [............3.2.2.2....................2]  |  [3]  |  [.............1..........................] 
14 |  [..............333.3....................2]  |  [3]  |  [..............1.........................] 
15 |  [..............3.3.3....................2]  |  [3]  |  [...............1........................] 
16 |  [................333....................2]  |  [3]  |  [................1.......................] 
17 |  [................3.3....................2]  |  [3]  |  [.................1......................] 
18 |  [..................33...................2]  |  [3]  |  [..................1.....................] 
19 |  [..................3....................2]  |  [3]  |  [...................1....................] 
20 |  [.....................a.................m]  |  [5]  |  [....................1...................] 
21 |  [....................2.b................m]  |  [5]  |  [.....................1..................] 
22 |  [.....................2.b...............m]  |  [6]  |  [......................1.................] 
23 |  [......................2.b..............m]  |  [6]  |  [.......................1................] 
24 |  [.......................2.b.............m]  |  [6]  |  [........................1...............] 
25 |  [........................2.b............m]  |  [6]  |  [.........................1..............] 
26 |  [.........................2.b...........m]  |  [6]  |  [..........................1.............] 
27 |  [..........................2.b..........l]  |  [6]  |  [...........................1............] 
28 |  [...........................2.b.........j]  |  [6]  |  [............................1...........] 
29 |  [............................2.b........j]  |  [6]  |  [.............................1..........] 
30 |  [.............................2.b.......i]  |  [6]  |  [..............................1.........] 
31 |  [..............................2.b......h]  |  [6]  |  [...............................1........] 
32 |  [...............................3.b.....f]  |  [6]  |  [................................1.......] 
33 |  [................................3.b....f]  |  [6]  |  [.................................1......] 
34 |  [.................................3.c...d]  |  [6]  |  [..................................1.....] 
35 |  [..................................3.c..c]  |  [6]  |  [...................................1....] 
36 |  [...................................3.c.b]  |  [6]  |  [....................................1...] 
37 |  [....................................3.ca]  |  [6]  |  [.....................................1..] 
38 |  [.....................................3.1]  |  [5]  |  [......................................1.] 
39 |  [......................................32]] |  [5]] |  [.......................................1]]
   |                                              |       |                                             
   | [[1.1.a.a.1.a.1.a.a.a....................a]] | [[1]] |                                             
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn   |       |                                             
0  | [[333.2.2.3.2.3.2.2.2.4.4.3.3.3.3.3.3.3.3.]  | [[3]  | [[1.......................................] 
1  |  [3.2.2.2.2.2.2.2.2.2.4.3.3.3.3.3.3.3.2.2.]  |  [3]  |  [.1......................................] 
2  |  [..333.3.3.3.3.3.3.3.5.4.3.3.3.3.3.3.3.3.]  |  [3]  |  [..1.....................................] 
3  |  [..3.2.2.3.2.3.2.2.2.4.4.3.3.3.3.3.3.3.3.]  |  [3]  |  [...1....................................] 
4  |  [....232.2.2.2.2.2.2.4.3.3.3.3.3.3.3.2.2.]  |  [3]  |  [....1...................................] 
5  |  [....2.2.3.2.3.2.2.2.4.3.3.3.3.3.3.3.3.3.]  |  [3]  |  [.....1..................................] 
6  |  [......232.2.2.2.2.2.4.3.3.3.3.3.3.3.2.2.]  |  [3]  |  [......1.................................] 
7  |  [......2.3.2.3.2.2.2.4.3.3.3.3.3.3.3.3.3.]  |  [3]  |  [.......1................................] 
8  |  [........332.3.2.2.2.4.4.3.3.3.3.3.3.3.3.]  |  [3]  |  [........1...............................] 
9  |  [........3.2.3.2.2.2.4.3.3.3.3.3.3.3.3.3.]  |  [3]  |  [.........1..............................] 
10 |  [..........333.3.3.3.4.4.3.3.3.3.3.3.3.3.]  |  [3]  |  [..........1.............................] 
11 |  [..........2.3.2.2.2.4.3.3.3.3.3.3.3.3.3.]  |  [3]  |  [...........1............................] 
12 |  [............333.3.3.4.4.3.3.3.3.3.3.3.3.]  |  [3]  |  [............1...........................] 
13 |  [............3.2.2.2.4.3.3.3.3.3.3.3.3.3.]  |  [3]  |  [.............1..........................] 
14 |  [..............333.3.5.4.3.3.3.3.3.3.3.3.]  |  [3]  |  [..............1.........................] 
15 |  [..............3.3.3.4.4.3.3.3.3.3.3.3.3.]  |  [3]  |  [...............1........................] 
16 |  [................333.5.4.3.3.3.3.3.3.3.3.]  |  [3]  |  [................1.......................] 
17 |  [................3.3.4.4.3.3.3.3.3.3.3.3.]  |  [3]  |  [.................1......................] 
18 |  [..................335.4.3.3.3.3.3.3.3.3.]  |  [3]  |  [..................1.....................] 
19 |  [..................3.4.4.3.3.3.3.3.3.3.3.]  |  [3]  |  [...................1....................] 
20 |  [.....................22.2.2.2.2.2.2.2.2.]  |  [2]  |  [....................1...................] 
21 |  [....................1.3.2.2.2.2.2.2.2.2.]  |  [2]  |  [.....................1..................] 
22 |  [.......................32.2.2.2.2.2.2.2.]  |  [2]  |  [......................1.................] 
23 |  [......................1.2.2.2.2.2.2.2.2.]  |  [2]  |  [.......................1................] 
24 |  [.........................32.2.2.2.2.2.2.]  |  [2]  |  [........................1...............] 
25 |  [........................1.3.3.3.3.3.2.2.]  |  [3]  |  [.........................1..............] 
26 |  [...........................32.2.2.2.2.2.]  |  [2]  |  [..........................1.............] 
27 |  [..........................1.3.3.3.3.2.2.]  |  [3]  |  [...........................1............] 
28 |  [.............................33.3.3.2.2.]  |  [3]  |  [............................1...........] 
29 |  [............................1.3.3.3.2.2.]  |  [3]  |  [.............................1..........] 
30 |  [...............................33.3.2.2.]  |  [3]  |  [..............................1.........] 
31 |  [..............................1.3.3.2.2.]  |  [3]  |  [...............................1........] 
32 |  [.................................33.3.3.]  |  [3]  |  [................................1.......] 
33 |  [................................a.3.2.2.]  |  [3]  |  [.................................1......] 
34 |  [...................................33.3.]  |  [3]  |  [..................................1.....] 
35 |  [..................................a.2.2.]  |  [3]  |  [...................................1....] 
36 |  [....................................133.]  |  [3]  |  [....................................1...] 
37 |  [....................................b.3.]  |  [3]  |  [.....................................1..] 
38 |  [......................................13]  |  [3]  |  [......................................1.] 
39 |  [......................................b.]] |  [3]] |  [.......................................1]]
   |                                              |       |                                             
   | [[1.1.a.a.1.a.1.a.a.a.2.2.1.1.1.1.1.1.1.1.]] | [[1]] |                                             
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw   |       |                                                      
0  | [[333.2.2.3.2.3.2.2.2.4.2..........................]  | [[.]  | [[1................................................] 
1  |  [3.2.2.2.2.2.2.2.2.2.3.2..........................]  |  [.]  |  [.1...............................................] 
2  |  [..333.3.3.3.3.3.3.3.4.2..........................]  |  [.]  |  [..1..............................................] 
3  |  [..3.2.2.3.2.3.2.2.2.4.2..........................]  |  [.]  |  [...1.............................................] 
4  |  [....232.2.2.2.2.2.2.3.2..........................]  |  [.]  |  [....1............................................] 
5  |  [....2.2.3.2.3.2.2.2.3.2..........................]  |  [.]  |  [.....1...........................................] 
6  |  [......232.2.2.2.2.2.3.2..........................]  |  [.]  |  [......1..........................................] 
7  |  [......2.3.2.3.2.2.2.3.2..........................]  |  [.]  |  [.......1.........................................] 
8  |  [........332.3.2.2.2.4.2..........................]  |  [.]  |  [........1........................................] 
9  |  [........3.2.3.2.2.2.3.2..........................]  |  [.]  |  [.........1.......................................] 
10 |  [..........333.3.3.3.4.2..........................]  |  [.]  |  [..........1......................................] 
11 |  [..........2.3.2.2.2.3.2..........................]  |  [.]  |  [...........1.....................................] 
12 |  [............333.3.3.4.2..........................]  |  [.]  |  [............1....................................] 
13 |  [............3.2.2.2.3.2..........................]  |  [.]  |  [.............1...................................] 
14 |  [..............333.3.4.3..........................]  |  [.]  |  [..............1..................................] 
15 |  [..............3.3.3.4.2..........................]  |  [.]  |  [...............1.................................] 
16 |  [................333.4.3..........................]  |  [.]  |  [................1................................] 
17 |  [................3.3.4.2..........................]  |  [.]  |  [.................1...............................] 
18 |  [..................334.3..........................]  |  [.]  |  [..................1..............................] 
19 |  [..................3.4.2..........................]  |  [.]  |  [...................1.............................] 
20 |  [.....................22..........................]  |  [.]  |  [....................1............................] 
21 |  [....................2.2..........................]  |  [.]  |  [.....................1...........................] 
22 |  [......................12.1.......................]  |  [.]  |  [.................................................] 
23 |  [........................22.......................]  |  [.]  |  [.......................1.........................] 
24 |  [.......................2.2.......................]  |  [.]  |  [........................1........................] 
25 |  [.........................12.1....................]  |  [.]  |  [.................................................] 
26 |  [...........................21....................]  |  [.]  |  [..........................1......................] 
27 |  [..........................2.2....................]  |  [.]  |  [...........................1.....................] 
28 |  [............................12.1.................]  |  [.]  |  [.................................................] 
29 |  [..............................21.................]  |  [.]  |  [.............................1...................] 
30 |  [.............................1.2.................]  |  [.]  |  [..............................1..................] 
31 |  [...............................12.1..............]  |  [.]  |  [.................................................] 
32 |  [.................................21..............]  |  [.]  |  [................................1................] 
33 |  [................................1.2..............]  |  [.]  |  [.................................1...............] 
34 |  [..................................12.1...........]  |  [.]  |  [.................................................] 
35 |  [....................................22...........]  |  [.]  |  [...................................1.............] 
36 |  [...................................1.2...........]  |  [.]  |  [....................................1............] 
37 |  [.....................................12.1........]  |  [.]  |  [.................................................] 
38 |  [.......................................22........]  |  [.]  |  [......................................1..........] 
39 |  [......................................a.2........]  |  [.]  |  [.......................................1.........] 
40 |  [........................................12.1.....]  |  [.]  |  [.................................................] 
41 |  [..........................................22.....]  |  [.]  |  [.........................................1.......] 
42 |  [.........................................a.2.....]  |  [.]  |  [..........................................1......] 
43 |  [...........................................12.1..]  |  [.]  |  [.................................................] 
44 |  [............................................122..]  |  [.]  |  [............................................1....] 
45 |  [............................................a.2..]  |  [.]  |  [.............................................1...] 
46 |  [..............................................12.]  |  [2]  |  [.................................................] 
47 |  [...............................................12]  |  [2]  |  [...............................................1.] 
48 |  [...............................................a.]] |  [3]] |  [................................................1]]
   |                                                       |       |                                                      
   | [[1.1.a.a.1.a.1.a.a.a.2.a..........................]] | [[.]] |                                                      
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn   |       |                                             
0  | [[333.2.2.3.2.3.2.2.2.d...................]  | [[3]  | [[1.......................................] 
1  |  [3.2.2.2.2.2.2.2.2.2.d...................]  |  [3]  |  [.1......................................] 
2  |  [..333.3.3.3.3.3.3.3.c...................]  |  [3]  |  [..1.....................................] 
3  |  [..3.2.2.3.2.3.2.2.2.d...................]  |  [3]  |  [...1....................................] 
4  |  [....232.2.2.2.2.2.2.d...................]  |  [3]  |  [....1...................................] 
5  |  [....2.2.3.2.3.2.2.2.d...................]  |  [3]  |  [.....1..................................] 
6  |  [......232.2.2.2.2.2.d...................]  |  [3]  |  [......1.................................] 
7  |  [......2.3.2.3.2.2.2.d...................]  |  [3]  |  [.......1................................] 
8  |  [........332.3.2.2.2.d...................]  |  [3]  |  [........1...............................] 
9  |  [........3.2.3.2.2.2.d...................]  |  [3]  |  [.........1..............................] 
10 |  [..........333.3.3.3.c...................]  |  [3]  |  [..........1.............................] 
11 |  [..........2.3.2.2.2.d...................]  |  [3]  |  [...........1............................] 
12 |  [............333.3.3.d...................]  |  [3]  |  [............1...........................] 
13 |  [............3.2.2.2.d...................]  |  [3]  |  [.............1..........................] 
14 |  [..............333.3.c...................]  |  [3]  |  [..............1.........................] 
15 |  [..............3.3.3.d...................]  |  [3]  |  [...............1........................] 
16 |  [................333.c...................]  |  [3]  |  [................1.......................] 
17 |  [................3.3.d...................]  |  [3]  |  [.................1......................] 
18 |  [..................33c...................]  |  [3]  |  [..................1.....................] 
19 |  [..................3.d...................]  |  [3]  |  [...................1....................] 
20 |  [....................24..................]  |  [A]  |  [....................1...................] 
21 |  [....................1.3.................]  |  [9]  |  [.....................1..................] 
22 |  [....................bc.3................]  |  [9]  |  [......................1.................] 
23 |  [....................c.c.3...............]  |  [9]  |  [.......................1................] 
24 |  [....................d..b.2..............]  |  [A]  |  [........................1...............] 
25 |  [....................d...b.2.............]  |  [A]  |  [.........................1..............] 
26 |  [....................e....b.3............]  |  [B]  |  [..........................1.............] 
27 |  [....................f.....b.3...........]  |  [B]  |  [...........................1............] 
28 |  [....................g......b.2..........]  |  [A]  |  [............................1...........] 
29 |  [....................h.......b.2.........]  |  [B]  |  [.............................1..........] 
30 |  [....................i........b.2........]  |  [B]  |  [..............................1.........] 
31 |  [....................j.........b.2.......]  |  [B]  |  [...............................1........] 
32 |  [....................k..........b.2......]  |  [B]  |  [................................1.......] 
33 |  [....................l...........b.2.....]  |  [B]  |  [.................................1......] 
34 |  [....................m............b.2....]  |  [B]  |  [..................................1.....] 
35 |  [....................m.............b.2...]  |  [A]  |  [...................................1....] 
36 |  [....................m..............b.2..]  |  [A]  |  [....................................1...] 
37 |  [....................m...............b.2.]  |  [A]  |  [.....................................1..] 
38 |  [....................m................b.2]  |  [A]  |  [......................................1.] 
39 |  [....................m.................a.]] |  [A]] |  [.......................................1]]
   |                                              |       |                                             
   | [[1.1.a.a.1.a.1.a.a.a.f...................]] | [[1]] |                                             
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn   |       |                                             
0  | [[333.2.2.3.2.3.2.2.2..2.2.3.3.3.3.3.3.4.4]  | [[3]  | [[1.......................................] 
1  |  [3.2.2.2.2.2.2.2.2.2..2.2.2.2.2.2.2.3.3.4]  |  [3]  |  [.1......................................] 
2  |  [..333.3.3.3.3.3.3.3..3.3.3.3.3.3.3.3.4.5]  |  [3]  |  [..1.....................................] 
3  |  [..3.2.2.3.2.3.2.2.2..2.2.3.3.3.3.3.3.4.4]  |  [3]  |  [...1....................................] 
4  |  [....232.2.2.2.2.2.2..2.2.2.2.2.2.2.3.3.4]  |  [3]  |  [....1...................................] 
5  |  [....2.2.3.2.3.2.2.2..2.2.3.3.3.3.3.3.3.4]  |  [3]  |  [.....1..................................] 
6  |  [......232.2.2.2.2.2..2.2.2.2.2.2.2.3.3.4]  |  [3]  |  [......1.................................] 
7  |  [......2.3.2.3.2.2.2..2.2.3.3.3.3.3.3.3.4]  |  [3]  |  [.......1................................] 
8  |  [........332.3.2.2.2..2.2.3.3.3.3.3.3.4.4]  |  [3]  |  [........1...............................] 
9  |  [........3.2.3.2.2.2..2.2.3.3.3.3.3.3.3.4]  |  [3]  |  [.........1..............................] 
10 |  [..........333.3.3.3..3.3.3.3.3.3.3.3.4.4]  |  [3]  |  [..........1.............................] 
11 |  [..........2.3.2.2.2..2.2.3.3.3.3.3.3.3.4]  |  [3]  |  [...........1............................] 
12 |  [............333.3.3..3.3.3.3.3.3.3.3.4.4]  |  [3]  |  [............1...........................] 
13 |  [............3.2.2.2..2.2.3.3.3.3.3.3.3.4]  |  [3]  |  [.............1..........................] 
14 |  [..............333.3..3.3.3.3.3.3.3.3.4.5]  |  [3]  |  [..............1.........................] 
15 |  [..............3.3.3..3.3.3.3.3.3.3.3.4.4]  |  [3]  |  [...............1........................] 
16 |  [................333..3.3.3.3.3.3.3.3.4.5]  |  [3]  |  [................1.......................] 
17 |  [................3.3..3.3.3.3.3.3.3.3.4.4]  |  [3]  |  [.................1......................] 
18 |  [..................33.3.3.3.3.3.3.3.3.4.5]  |  [3]  |  [..................1.....................] 
19 |  [..................3..3.3.3.3.3.3.3.3.4.4]  |  [3]  |  [...................1....................] 
20 |  [.....................b..................]  |  [3]  |  [....................1...................] 
21 |  [....................31..................]  |  [3]  |  [.....................1..................] 
22 |  [.....................3.b................]  |  [3]  |  [......................1.................] 
23 |  [.....................331................]  |  [3]  |  [.......................1................] 
24 |  [.....................2.2.a..............]  |  [3]  |  [........................1...............] 
25 |  [.....................3.33...............]  |  [3]  |  [.........................1..............] 
26 |  [.....................2.2.3.a............]  |  [3]  |  [..........................1.............] 
27 |  [.....................3.3.33.............]  |  [3]  |  [...........................1............] 
28 |  [.....................2.2.3.3.1..........]  |  [3]  |  [............................1...........] 
29 |  [.....................2.2.3.33...........]  |  [3]  |  [.............................1..........] 
30 |  [.....................2.2.3.3.3.1........]  |  [3]  |  [..............................1.........] 
31 |  [.....................2.2.3.3.33.........]  |  [3]  |  [...............................1........] 
32 |  [.....................2.2.3.3.3.3.1......]  |  [3]  |  [................................1.......] 
33 |  [.....................2.2.2.2.2.23.......]  |  [2]  |  [.................................1......] 
34 |  [.....................2.2.2.2.2.2.2.1....]  |  [3]  |  [..................................1.....] 
35 |  [.....................2.2.2.2.2.2.23.....]  |  [2]  |  [...................................1....] 
36 |  [.....................2.2.2.2.2.2.2.2.1..]  |  [2]  |  [....................................1...] 
37 |  [.....................2.2.2.2.2.2.2.23...]  |  [2]  |  [.....................................1..] 
38 |  [.....................1.1.1.1.1.1.1.2.2.1]  |  [2]  |  [......................................1.] 
39 |  [.....................1.1.2.2.2.2.2.2.23.]] |  [2]] |  [.......................................1]]
   |                                              |       |                                             
   | [[1.1.a.a.1.a.1.a.a.a..a.a.1.1.1.1.1.1.2.2]] | [[1]] |                                             
   |   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw   |       |                                                      
0  | [[333.2.2.3.2.3.2.2.2...........................2.3]  | [[.]  | [[1................................................] 
1  |  [3.2.2.2.2.2.2.2.2.2...........................1.2]  |  [.]  |  [.1...............................................] 
2  |  [..333.3.3.3.3.3.3.3...........................2.3]  |  [.]  |  [..1..............................................] 
3  |  [..3.2.2.3.2.3.2.2.2...........................2.3]  |  [.]  |  [...1.............................................] 
4  |  [....232.2.2.2.2.2.2...........................1.2]  |  [.]  |  [....1............................................] 
5  |  [....2.2.3.2.3.2.2.2...........................2.3]  |  [.]  |  [.....1...........................................] 
6  |  [......232.2.2.2.2.2...........................1.2]  |  [.]  |  [......1..........................................] 
7  |  [......2.3.2.3.2.2.2...........................2.3]  |  [.]  |  [.......1.........................................] 
8  |  [........332.3.2.2.2...........................2.3]  |  [.]  |  [........1........................................] 
9  |  [........3.2.3.2.2.2...........................2.3]  |  [.]  |  [.........1.......................................] 
10 |  [..........333.3.3.3...........................2.3]  |  [.]  |  [..........1......................................] 
11 |  [..........2.3.2.2.2...........................2.3]  |  [.]  |  [...........1.....................................] 
12 |  [............333.3.3...........................2.3]  |  [.]  |  [............1....................................] 
13 |  [............3.2.2.2...........................2.3]  |  [.]  |  [.............1...................................] 
14 |  [..............333.3...........................2.3]  |  [.]  |  [..............1..................................] 
15 |  [..............3.3.3...........................2.3]  |  [.]  |  [...............1.................................] 
16 |  [................333...........................2.3]  |  [.]  |  [................1................................] 
17 |  [................3.3...........................2.3]  |  [.]  |  [.................1...............................] 
18 |  [..................33..........................2.3]  |  [.]  |  [..................1..............................] 
19 |  [..................3...........................2.3]  |  [.]  |  [...................1.............................] 
20 |  [.....................a...........................]  |  [2]  |  [....................a............................] 
21 |  [....................11...........................]  |  [2]  |  [.....................1...........................] 
22 |  [.....................2a..........................]  |  [1]  |  [.................................................] 
23 |  [......................2.a........................]  |  [.]  |  [.......................1.........................] 
24 |  [......................221........................]  |  [.]  |  [........................1........................] 
25 |  [......................a.2a.......................]  |  [.]  |  [.................................................] 
26 |  [.........................2.a.....................]  |  [.]  |  [..........................1......................] 
27 |  [.........................12......................]  |  [.]  |  [...........................1.....................] 
28 |  [.........................a.2a....................]  |  [.]  |  [.................................................] 
29 |  [............................2.a..................]  |  [.]  |  [.............................1...................] 
30 |  [............................12...................]  |  [.]  |  [..............................1..................] 
31 |  [............................a.2a.................]  |  [.]  |  [.................................................] 
32 |  [...............................2.1...............]  |  [.]  |  [................................1................] 
33 |  [...............................12................]  |  [.]  |  [.................................1...............] 
34 |  [...............................a.2a..............]  |  [.]  |  [.................................................] 
35 |  [..................................2.1............]  |  [.]  |  [...................................1.............] 
36 |  [..................................12.............]  |  [.]  |  [....................................1............] 
37 |  [..................................1.21...........]  |  [.]  |  [.................................................] 
38 |  [.....................................2.1.........]  |  [.]  |  [......................................1..........] 
39 |  [.....................................12..........]  |  [.]  |  [.......................................a.........] 
40 |  [.....................................1.21........]  |  [.]  |  [.................................................] 
41 |  [........................................2.1......]  |  [.]  |  [.........................................1.......] 
42 |  [........................................a2.......]  |  [.]  |  [..........................................a......] 
43 |  [........................................1.2a.....]  |  [.]  |  [.................................................] 
44 |  [...........................................2.1...]  |  [.]  |  [............................................1....] 
45 |  [...........................................12....]  |  [.]  |  [.............................................a...] 
46 |  [...........................................a.11..]  |  [.]  |  [.................................................] 
47 |  [..............................................1.a]  |  [.]  |  [...............................................a.] 
48 |  [..............................................11.]] |  [.]] |  [................................................a]]
   |                                                       |       |                                                      
   | [[1.1.a.a.1.a.1.a.a.a...........................a.1]] | [[.]] |                                                      
Captured stderr call
{'zpk2ss_cheby': 80,
 'zpk2ss_chain_poly': 100,
 'zpk2ss_chainE_poly': 60,
 'zpk2ss_cheby_lower': -80,
 'zpk2ss_chain_poly_lower': -100,
 'zpk2ss_chainE_poly_lower': -60}
test_long_ZPK_stability_plot_testing()[source][github]

This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

This one has the same number of plots as zeros.

code
docstring
"""
This is a test of the numerical stability of a very large ZPK filter that spans 18 orders of magnitude.

This one has the same number of plots as zeros.

"""
 1def test_long_ZPK_stability_plot_testing():
 2
 3    def transform(ss):
 4        ss = ss.balance(which='ABC')
 5        ss = ss.schur_form(exact=True)
 6        ss = ss.balance(which='ABC')
 7        ss = ss.schur_form(exact=True)
 8        return ss
 9
10    filt = gen_FBNS_FOM_filt_zpk(lp_order=0)
11    axB = sequence_for_test(
12        filt = filt,
13        transform_ss=transform,
14        # do_raise=True,
15    )
16    axB.save(tjoin('algorithm_compare_zpk2ss'))
17
18    return
pytest information

This code is wrapped in a pytest function using conventions detailed in Pytest Conventions. The full name of this test, as known by the documentation, is:

wield.control.SISO.test.test_long_zpk_stability_algorithms.test_long_ZPK_stability_plot_testing

The full name is useful when building documentation, to link a reference to this page using :func:`name`, or directly include it with an autofunction directive. The collapse nodes below show every instance of the test run. There may only be one, but if the test was run multiple times through pytest parametrizations, the list can be longer.

test_long_ZPK_stability_plot_testing
output
|   ABCDEFGHIJKLMNOPQRST   |       |                         
0  | [[2333232212c1aacbbbcb]  | [[4]  | [[1...................] 
1  |  [3233332212a111aaaaba]  |  [4]  |  [.1..................] 
2  |  [mm233333221211aaaabb]  |  [4]  |  [..1.................] 
3  |  [mm32332212a1aaacbbbb]  |  [4]  |  [...1................] 
4  |  [mmmm22332322211111a1]  |  [4]  |  [....1...............] 
5  |  [mmmm3233221211aaaaba]  |  [4]  |  [.....1..............] 
6  |  [mmmmmm233323221111a1]  |  [4]  |  [......1.............] 
7  |  [mmmmmm223323222111a1]  |  [4]  |  [.......1............] 
8  |  [mmmmmmmm3233322212a1]  |  [4]  |  [........1...........] 
9  |  [mmmmmmmm3323222211a1]  |  [4]  |  [.........1..........] 
10 |  [mmmmmmmmmm3233222212]  |  [4]  |  [..........1.........] 
11 |  [mmmmmmmmmm33322212a1]  |  [4]  |  [...........1........] 
12 |  [mmmmmmmmmmmm33a22222]  |  [4]  |  [............1.......] 
13 |  [mmmmmmmmmmmmc3312212]  |  [4]  |  [.............1......] 
14 |  [mmmmmmmmmmmmmm332122]  |  [3]  |  [..............1.....] 
15 |  [mmmmmmmmmmmmmmb32322]  |  [3]  |  [...............1....] 
16 |  [mmmmmmmmmmmmmmmm3122]  |  [1]  |  [................1...] 
17 |  [mmmmmmmmmmmmmmmm3322]  |  [2]  |  [.................1..] 
18 |  [mmmmmmmmmmmmmmmmmm32]  |  [a]  |  [..................1.] 
19 |  [mmmmmmmmmmmmmmmmmm23]] |  [1]] |  [...................1]]
   |                          |       |                         
   | [[aaaababbcbcccdddeefe]] | [[1]] |                         
   |   ABCDEFGHIJKLMNOPQRST   |       |                         
0  | [[33322121222222222222]  | [[3]  | [[1...................] 
1  |  [m3222121222122222221]  |  [3]  |  [.1..................] 
2  |  [..333232323232323222]  |  [3]  |  [..1.................] 
3  |  [..m33131223222222222]  |  [3]  |  [...1................] 
4  |  [....2321222122222221]  |  [3]  |  [....1...............] 
5  |  [....3231223222222222]  |  [3]  |  [.....1..............] 
6  |  [......23222122222221]  |  [3]  |  [......1.............] 
7  |  [......32223222222222]  |  [3]  |  [.......1............] 
8  |  [........233232323222]  |  [3]  |  [........1...........] 
9  |  [........322111111111]  |  [2]  |  [.........1..........] 
10 |  [..........2332323222]  |  [3]  |  [..........1.........] 
11 |  [..........2222222221]  |  [2]  |  [...........1........] 
12 |  [............33323222]  |  [3]  |  [............1.......] 
13 |  [............23222222]  |  [3]  |  [.............1......] 
14 |  [..............333222]  |  [3]  |  [..............1.....] 
15 |  [..............232222]  |  [3]  |  [...............1....] 
16 |  [................3322]  |  [3]  |  [................1...] 
17 |  [................1322]  |  [3]  |  [.................1..] 
18 |  [..................33]  |  [4]  |  [..................1.] 
19 |  [..................13]] |  [3]] |  [...................1]]
   |                          |       |                         
   | [[111a1b1b1a1a1a1a1aaa]] | [[1]] |                         
   |   ABCDEFGHIJKLMNOPQRST   |       |                         
0  | [[233222211aaaaaabddfd]  | [[7]  | [[1...................] 
1  |  [22333322111b111abeed]  |  [7]  |  [.1..................] 
2  |  [mm23332111aaaaaacdfe]  |  [7]  |  [..1.................] 
3  |  [mm3223222222211abcdc]  |  [7]  |  [...1................] 
4  |  [mmmm233333222221bddc]  |  [7]  |  [....1...............] 
5  |  [mmmm223333222221ccdc]  |  [7]  |  [.....1..............] 
6  |  [mmmmmm2333233221abcb]  |  [7]  |  [......1.............] 
7  |  [mmmmmm2233333322abcb]  |  [7]  |  [.......1............] 
8  |  [mmmmmmmm332233211aba]  |  [7]  |  [........1...........] 
9  |  [mmmmmmmm233333321aba]  |  [7]  |  [.........1..........] 
10 |  [mmmmmmmmmm3233221aba]  |  [7]  |  [..........1.........] 
11 |  [mmmmmmmmmm33322221b1]  |  [7]  |  [...........1........] 
12 |  [mmmmmmmmmmmm332221ab]  |  [7]  |  [............1.......] 
13 |  [mmmmmmmmmmmmc33311a1]  |  [6]  |  [.............1......] 
14 |  [mmmmmmmmmmmmmm3321aa]  |  [6]  |  [..............1.....] 
15 |  [mmmmmmmmmmmmmmc33212]  |  [6]  |  [...............1....] 
16 |  [mmmmmmmmmmmmmmmm3212]  |  [5]  |  [................1...] 
17 |  [mmmmmmmmmmmmmmmm2322]  |  [5]  |  [.................1..] 
18 |  [mmmmmmmmmmmmmmmmmm32]  |  [4]  |  [..................1.] 
19 |  [mmmmmmmmmmmmmmmmmm13]] |  [5]] |  [...................1]]
   |                          |       |                         
   | [[dcdeeeefffgfgghhjlml]] | [[1]] |                         
   |   ABCDEFGHIJKLMNOPQRST   |       |                         
0  | [[23212212212221212112]  | [[2]  | [[1...................] 
1  |  [32322223222222222222]  |  [3]  |  [.1..................] 
2  |  [mm231212212221212111]  |  [2]  |  [..1.................] 
3  |  [mm322223231222222222]  |  [3]  |  [...1................] 
4  |  [mmmm2312322322222222]  |  [3]  |  [....1...............] 
5  |  [mmmm2223332221212111]  |  [2]  |  [.....1..............] 
6  |  [mmmmmm23322222222222]  |  [3]  |  [......1.............] 
7  |  [mmmmmm22332322222212]  |  [2]  |  [.......1............] 
8  |  [mmmmmmmm332322222222]  |  [3]  |  [........1...........] 
9  |  [mmmmmmmme33332323222]  |  [3]  |  [.........1..........] 
10 |  [mmmmmmmmmm3332323222]  |  [3]  |  [..........1.........] 
11 |  [mmmmmmmmmmf322222222]  |  [3]  |  [...........1........] 
12 |  [mmmmmmmmmmmm33323222]  |  [3]  |  [............1.......] 
13 |  [mmmmmmmmmmmm23222222]  |  [3]  |  [.............1......] 
14 |  [mmmmmmmmmmmmmm333222]  |  [3]  |  [..............1.....] 
15 |  [mmmmmmmmmmmmmm232222]  |  [3]  |  [...............1....] 
16 |  [mmmmmmmmmmmmmmmm3322]  |  [3]  |  [................1...] 
17 |  [mmmmmmmmmmmmmmmm1322]  |  [3]  |  [.................1..] 
18 |  [mmmmmmmmmmmmmmmmmm31]  |  [3]  |  [..................1.] 
19 |  [mmmmmmmmmmmmmmmmmm33]] |  [4]] |  [...................1]]
   |                          |       |                         
   | [[baaaaaa111111a1a1aaa]] | [[1]] |                         
Captured stderr call
{'zpk2ss_cheby': 80,
 'zpk2ss_chain_poly': 100,
 'zpk2ss_chainE_poly': 60,
 'zpk2ss_cheby_lower': -80,
 'zpk2ss_chain_poly_lower': -100,
 'zpk2ss_chainE_poly_lower': -60}