def test_dup_euclidean_prs(): f = QQ.map([1, 0, 1, 0, -3, -3, 8, 2, -5]) g = QQ.map([3, 0, 5, 0, -4, -9, 21]) assert dup_euclidean_prs(f, g, QQ) == [f, g, [-QQ(5,9), QQ(0,1), QQ(1,9), QQ(0,1), -QQ(1,3)], [-QQ(117,25), -QQ(9,1), QQ(441,25)], [QQ(233150,19773), -QQ(102500,6591)], [-QQ(1288744821,543589225)]]
def test_dup_sturm(): assert dup_sturm([QQ(5)], QQ) == [[QQ(1)]] assert dup_sturm([QQ(1), QQ(0)], QQ) == [[QQ(1), QQ(0)], [QQ(1)]] f = QQ.map([1, -2, 3, -5]) assert dup_sturm(f, QQ) == \ [f, [QQ(3),QQ(-4),QQ(3)], [QQ(-10,9),QQ(13,3)], [QQ(-3303,100)]]
def test_dup_sturm(): assert dup_sturm([QQ(5)], QQ) == [[QQ(1)]] assert dup_sturm([QQ(1),QQ(0)], QQ) == [[QQ(1),QQ(0)], [QQ(1)]] f = QQ.map([1,-2,3,-5]) assert dup_sturm(f, QQ) == \ [f, [QQ(3),QQ(-4),QQ(3)], [QQ(-10,9),QQ(13,3)], [QQ(-3303,100)]]