Пример #1
0
    def test2_ag08bd(self):
        """test [A-lambda*E;C]

        B,D must have correct dimensions as before
        """

        Af, Ef, nrank, niz, infz, kronr, infe, kronl = analysis.ag08bd(
            l=test1_l,
            n=test1_n,
            m=0,
            p=test1_p,
            A=test1_A,
            E=test1_E,
            B=np.zeros((test1_l, 1)),
            C=test1_C,
            D=np.zeros((test1_p, 1)),
            equil=test1_equil,
            tol=test1_tol)

        assert_equal(Af, np.zeros((0, 0)))
        assert_equal(Ef, np.zeros((0, 0)))
        assert_equal(nrank, 9)
        assert_equal(niz, 4)
        assert_equal(infz, [0, 2])
        assert_equal(kronr, [])
        assert_equal(infe, [1, 3, 3])
        assert_equal(kronl, [0, 1, 1])
Пример #2
0
    def test3_ag08bd(self):
        """test [A-lambda*E,B]

        C,D must have correct dimensions as before
        """

        Af, Ef, nrank, niz, infz, kronr, infe, kronl = analysis.ag08bd(
            l=test1_l,
            n=test1_n,
            m=test1_m,
            p=0,
            A=test1_A,
            E=test1_E,
            B=test1_B,
            C=np.zeros((1, test1_n)),
            D=np.zeros((1, test1_m)),
            equil=test1_equil,
            tol=test1_tol)

        assert_equal(Af, np.zeros((0, 0)))
        assert_equal(Ef, np.zeros((0, 0)))
        assert_equal(nrank, 9)
        assert_equal(niz, 0)
        assert_equal(infz, [])
        assert_equal(kronr, [2, 2, 2])
        assert_equal(infe, [1, 1, 1])
        assert_equal(kronl, [])
Пример #3
0
    def test4_ag08bd(self):
        """test [A-lambda*E,B;C,D]"""

        Af, Ef, nrank, niz, infz, kronr, infe, kronl = analysis.ag08bd(
            l=test1_l,
            n=test1_n,
            m=test1_m,
            p=test1_p,
            A=test1_A,
            E=test1_E,
            B=test1_B,
            C=test1_C,
            D=test1_D,
            equil=test1_equil,
            tol=test1_tol)

        # Af-lambda*Ef==0. => lambda==1. => Finite Smith zero of S(lambda) == 1.
        assert Af.shape == (1, 1)
        assert_almost_equal(Af, Ef)
        assert_equal(nrank, 11)
        assert_equal(niz, 2)
        assert_equal(infz, [0, 1])
        assert_equal(kronr, [2])
        assert_equal(infe, [1, 1, 1, 1, 3])
        assert_equal(kronl, [1])
Пример #4
0
    def test1_ag08bd(self):
        """test [A-lambda*E]

        B,C,D must have correct dimensions according to l,n,m and p, but cannot
        have zero length in any dimenstion. Then the wrapper will complain.
        The length is then set to one.
        """

        Af, Ef, nrank, niz, infz, kronr, infe, kronl = analysis.ag08bd(
            l=test1_l,
            n=test1_n,
            m=0,
            p=0,
            A=test1_A,
            E=test1_E,
            B=np.zeros((test1_l, 1)),
            C=np.zeros((1, test1_n)),
            D=np.zeros((1, 1)),
            equil=test1_equil,
            tol=test1_tol)

        assert_equal(Af, np.zeros((0, 0)))
        assert_equal(Ef, np.zeros((0, 0)))
        assert_equal(nrank, 9)
        assert_equal(niz, 6)
        assert_equal(infz, [0, 3])
        assert_equal(kronr, [])
        assert_equal(infe, [3, 3, 3])
        assert_equal(kronl, [])
Пример #5
0
    def test4_ag08bd(self):
        #test [A-lambda*E,B;C,D]

        Af,Ef,nrank,niz,infz,kronr,infe,kronl = analysis.ag08bd(l=test1_l,n=test1_n,m=test1_m,p=test1_p,A=test1_A,E=test1_E,B=test1_B,C=test1_C,D=test1_D,equil=test1_equil, tol=test1_tol)

        assert_almost_equal(Af, [[0.77045021]])
        assert_almost_equal(Ef, [[0.77045021]])
        assert_equal(nrank, 11)
        assert_equal(niz, 2)
        assert_equal(infz, [0,1])
        assert_equal(kronr, [2])
        assert_equal(infe, [1,1,1,1,3])
        assert_equal(kronl, [1])
Пример #6
0
    def test3_ag08bd(self):
        #test [A-lambda*E,B]
        #C,D must have correct dimensions as before              

        Af,Ef,nrank,niz,infz,kronr,infe,kronl = analysis.ag08bd(l=test1_l,n=test1_n,m=test1_m,p=0,A=test1_A,E=test1_E,B=test1_B,C=np.zeros((1,test1_n)),D=np.zeros((1,test1_m)),equil=test1_equil, tol=test1_tol)

        assert_equal(Af, np.zeros((0,0)))
        assert_equal(Ef, np.zeros((0,0)))
        assert_equal(nrank, 9)
        assert_equal(niz, 0)
        assert_equal(infz, [])
        assert_equal(kronr, [2,2,2])
        assert_equal(infe, [1,1,1])
        assert_equal(kronl, [])
Пример #7
0
    def test2_ag08bd(self):
        #test [A-lambda*E;C]
        #B,D must have correct dimensions as before

        Af,Ef,nrank,niz,infz,kronr,infe,kronl = analysis.ag08bd(l=test1_l,n=test1_n,m=0,p=test1_p,A=test1_A,E=test1_E,B=np.zeros((test1_l,1)),C=test1_C,D=np.zeros((test1_p,1)),equil=test1_equil, tol=test1_tol)

        assert_equal(Af, np.zeros((0,0)))
        assert_equal(Ef, np.zeros((0,0)))
        assert_equal(nrank, 9)
        assert_equal(niz, 4)
        assert_equal(infz, [0,2])
        assert_equal(kronr, [])
        assert_equal(infe, [1,3,3])
        assert_equal(kronl, [0,1,1])
Пример #8
0
    def test1_ag08bd(self):
        #test [A-lambda*E]
        #B,C,D must have correct dimensions according to l,n,m and p, but cannot have zero length in any dimenstion. Then the wrapper will complain. The length is then set to one. 

        Af,Ef,nrank,niz,infz,kronr,infe,kronl = analysis.ag08bd(l=test1_l,n=test1_n,m=0,p=0,A=test1_A,E=test1_E,B=np.zeros((test1_l,1)),C=np.zeros((1,test1_n)),D=np.zeros((1,1)),equil=test1_equil, tol=test1_tol)

        assert_equal(Af, np.zeros((0,0)))
        assert_equal(Ef, np.zeros((0,0)))
        assert_equal(nrank, 9)
        assert_equal(niz, 6)
        assert_equal(infz, [0,3])
        assert_equal(kronr, [])
        assert_equal(infe, [3,3,3])
        assert_equal(kronl, [])
Пример #9
0
    def test4_ag08bd(self):
        """test [A-lambda*E,B;C,D]"""

        Af, Ef, nrank, niz, infz, kronr, infe, kronl = analysis.ag08bd(
            l=test1_l,
            n=test1_n,
            m=test1_m,
            p=test1_p,
            A=test1_A,
            E=test1_E,
            B=test1_B,
            C=test1_C,
            D=test1_D,
            equil=test1_equil,
            tol=test1_tol)

        assert_almost_equal(Af, [[0.77045021]])
        assert_almost_equal(Ef, [[0.77045021]])
        assert_equal(nrank, 11)
        assert_equal(niz, 2)
        assert_equal(infz, [0, 1])
        assert_equal(kronr, [2])
        assert_equal(infe, [1, 1, 1, 1, 3])
        assert_equal(kronl, [1])