示例#1
0
def test_dup_zz_cyclotomic_factor():
    assert dup_zz_cyclotomic_factor([], ZZ) is None
    assert dup_zz_cyclotomic_factor([1], ZZ) is None

    f = dup_from_raw_dict({10: 2, 0: -1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) is None
    f = dup_from_raw_dict({10: 1, 0: -3}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) is None
    f = dup_from_raw_dict({10: 1, 5: 1, 0: -1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) is None

    f = dup_from_raw_dict({1: 1, 0: 1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
         [[1, 1]]

    f = dup_from_raw_dict({1: 1, 0: -1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
        [[1, -1]]

    f = dup_from_raw_dict({2: 1, 0: 1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
        [[1, 0, 1]]

    f = dup_from_raw_dict({2: 1, 0: -1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
        [[1,-1],
         [1, 1]]

    f = dup_from_raw_dict({27: 1, 0: 1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
        [[1, 1],
         [1, -1, 1],
         [1, 0, 0, -1, 0, 0, 1],
         [1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1]]

    f = dup_from_raw_dict({27: 1, 0: -1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
        [[1, -1],
         [1, 1, 1],
         [1, 0, 0, 1, 0, 0, 1],
         [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1]]
示例#2
0
def test_dup_zz_cyclotomic_factor():
    assert dup_zz_cyclotomic_factor([], ZZ) is None
    assert dup_zz_cyclotomic_factor([1], ZZ) is None

    f = dup_from_raw_dict({10:2, 0:-1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) is None
    f = dup_from_raw_dict({10:1, 0:-3}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) is None
    f = dup_from_raw_dict({10:1, 5:1, 0:-1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) is None

    f = dup_from_raw_dict({1:1,0:1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
         [[1, 1]]

    f = dup_from_raw_dict({1:1,0:-1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
        [[1, -1]]

    f = dup_from_raw_dict({2:1,0:1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
        [[1, 0, 1]]

    f = dup_from_raw_dict({2:1,0:-1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
        [[1,-1],
         [1, 1]]

    f = dup_from_raw_dict({27:1,0:1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
        [[1, 1],
         [1, -1, 1],
         [1, 0, 0, -1, 0, 0, 1],
         [1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1]]

    f = dup_from_raw_dict({27:1,0:-1}, ZZ)
    assert dup_zz_cyclotomic_factor(f, ZZ) == \
        [[1, -1],
         [1, 1, 1],
         [1, 0, 0, 1, 0, 0, 1],
         [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1]]