示例#1
0
    def test_innermorphic(self, p, q):
        layout, blades = Cl(p, q)

        A = Frame(layout.randomV(p + q))
        R = layout.randomRotor()
        B = Frame([R * a * ~R for a in A])
        assert A.is_innermorphic_to(B)
示例#2
0
    def test_innermorphic(self):
        for p, q in [(2, 0), (3, 0), (4, 0)]:
            layout, blades = Cl(p, q)

            A = Frame(layout.randomV(p + q))
            R = layout.randomRotor()
            B = Frame([R * a * ~R for a in A])
            self.assertTrue(A.is_innermorphic_to(B))
示例#3
0
    def test_innermorphic(self):
        for p, q in [(2, 0), (3, 0), (4, 0)]:
            layout, blades = Cl(p, q)

            A = Frame(layout.randomV(p+q))
            R = layout.randomRotor()
            B = Frame([R*a*~R for a in A])
            self.assertTrue(A.is_innermorphic_to(B))
示例#4
0
    def checkit(self, p, q, rng):  # noqa: F811
        # p, q =4,0
        N = p + q
        # eps(1e-4)
        layout, blades = Cl(p, q)

        # create frame
        A = layout.randomV(n=N, rng=rng)
        # create Rotor
        R = 5. * layout.randomRotor(rng=rng)
        # create rotated frame
        B = [R * a * ~R for a in A]

        # find versor from both frames
        R_found, rs = of2v(A, B)

        # Rotor is determiend correctly, within a sign
        self.assertTrue(R == R_found or R == -R_found)

        # Determined Versor implements desired transformation
        self.assertTrue([R_found * a * ~R_found for a in A] == B)
示例#5
0
    def checkit(self, p, q):
        # p, q =4,0
        N = p + q
        # eps(1e-4)
        layout, blades = Cl(p, q)

        # create frame
        A = layout.randomV(n=N)
        # create Rotor
        R = 5.*layout.randomRotor()
        # create rotated frame
        B = [R*a*~R for a in A]

        # find verser from both frames
        R_found, rs = of2v(A, B)

        # Rotor is determiend correctly, within a sign
        self.assertTrue(R == R_found or R == -R_found)

        # Determined Verser implements desired transformation
        self.assertTrue([R_found*a*~R_found for a in A] == B)
示例#6
0
 def test_frame_inv(self, p, q):
     layout, blades = Cl(p, q)
     A = Frame(layout.randomV(p + q))
     self.check_inv(A)
示例#7
0
 def test_frame_inv(self):
     for p, q in [(2, 0), (3, 0), (4, 0)]:
         layout, blades = Cl(p, q)
         A = Frame(layout.randomV(p + q))
         self.check_inv(A)
示例#8
0
 def test_frame_inv(self):
     for p, q in [(2, 0), (3, 0), (4, 0)]:
         layout, blades = Cl(p, q)
         A = Frame(layout.randomV(p + q))
         self.check_inv(A)
示例#9
0
 def test_innermorphic(self, p, q, rng):  # noqa: F811
     layout, blades = Cl(p, q)
     A = Frame(layout.randomV(p + q, rng=rng))
     R = layout.randomRotor(rng=rng)
     B = Frame([R * a * ~R for a in A])
     assert A.is_innermorphic_to(B)
示例#10
0
 def test_frame_inv(self, p, q, rng):  # noqa: F811
     layout, blades = Cl(p, q)
     A = Frame(layout.randomV(p + q, rng=rng))
     self.check_inv(A)