当前位置: 首页>>代码示例>>Python>>正文


Python polynomial.polydiv方法代码示例

本文整理汇总了Python中numpy.polynomial.polynomial.polydiv方法的典型用法代码示例。如果您正苦于以下问题:Python polynomial.polydiv方法的具体用法?Python polynomial.polydiv怎么用?Python polynomial.polydiv使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在numpy.polynomial.polynomial的用法示例。


在下文中一共展示了polynomial.polydiv方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_polydiv

# 需要导入模块: from numpy.polynomial import polynomial [as 别名]
# 或者: from numpy.polynomial.polynomial import polydiv [as 别名]
def test_polydiv(self):
        # check zero division
        assert_raises(ZeroDivisionError, poly.polydiv, [1], [0])

        # check scalar division
        quo, rem = poly.polydiv([2], [2])
        assert_equal((quo, rem), (1, 0))
        quo, rem = poly.polydiv([2, 2], [2])
        assert_equal((quo, rem), ((1, 1), 0))

        # check rest.
        for i in range(5):
            for j in range(5):
                msg = "At i=%d, j=%d" % (i, j)
                ci = [0]*i + [1, 2]
                cj = [0]*j + [1, 2]
                tgt = poly.polyadd(ci, cj)
                quo, rem = poly.polydiv(tgt, ci)
                res = poly.polyadd(poly.polymul(quo, ci), rem)
                assert_equal(res, tgt, err_msg=msg) 
开发者ID:Frank-qlu,项目名称:recruit,代码行数:22,代码来源:test_polynomial.py

示例2: poly_mul

# 需要导入模块: from numpy.polynomial import polynomial [as 别名]
# 或者: from numpy.polynomial.polynomial import polydiv [as 别名]
def poly_mul(op1, op2, poly_mod):
    """return multiplication of two polynomials with result % t(polynomial modulus)"""

    # For non same size polynomials we have to shift the polynomials because numpy consider right
    # side as lower order of polynomial and we consider right side as heigher order.
    if len(op1) != len(op2):
        if len(op1) > len(op2):
            op2 = op2 + [0] * (len(op1) - len(op2))
        else:
            op1 = op1 + [0] * (len(op2) - len(op1))

    poly_len = poly_mod
    poly_mod = np.array([1] + [0] * (poly_len - 1) + [1])
    result = (
        poly.polydiv(
            poly.polymul(np.array(op1, dtype="object"), np.array(op2, dtype="object")), poly_mod,
        )[1]
    ).tolist()

    if len(result) != poly_len:
        result += [0] * (poly_len - len(result))

    return [round(x) for x in result] 
开发者ID:OpenMined,项目名称:PySyft,代码行数:25,代码来源:operations.py

示例3: test_polydiv

# 需要导入模块: from numpy.polynomial import polynomial [as 别名]
# 或者: from numpy.polynomial.polynomial import polydiv [as 别名]
def test_polydiv(self) :
        # check zero division
        assert_raises(ZeroDivisionError, poly.polydiv, [1], [0])

        # check scalar division
        quo, rem = poly.polydiv([2], [2])
        assert_equal((quo, rem), (1, 0))
        quo, rem = poly.polydiv([2, 2], [2])
        assert_equal((quo, rem), ((1, 1), 0))

        # check rest.
        for i in range(5) :
            for j in range(5) :
                msg = "At i=%d, j=%d" % (i, j)
                ci = [0]*i + [1, 2]
                cj = [0]*j + [1, 2]
                tgt = poly.polyadd(ci, cj)
                quo, rem = poly.polydiv(tgt, ci)
                res = poly.polyadd(poly.polymul(quo, ci), rem)
                assert_equal(res, tgt, err_msg=msg) 
开发者ID:ktraunmueller,项目名称:Computable,代码行数:22,代码来源:test_polynomial.py

示例4: poly_mul_mod

# 需要导入模块: from numpy.polynomial import polynomial [as 别名]
# 或者: from numpy.polynomial.polynomial import polydiv [as 别名]
def poly_mul_mod(op1, op2, coeff_mod, poly_mod):
    """Multiply two polynomials and modulo every coefficient with coeff_mod.

    Args:
        op1 (list): First Polynomail (Multiplicand).
        op2 (list): Second Polynomail (Multiplier).

    Returns:
        A list with polynomial coefficients.
    """

    # For non same size polynomials we have to shift the polynomials because numpy consider right
    # side as lower order of polynomial and we consider right side as heigher order.
    if len(op1) != poly_mod:
        op1 += [0] * (poly_mod - len(op1))
    if len(op2) != poly_mod:
        op2 += [0] * (poly_mod - len(op2))

    poly_len = poly_mod
    poly_mod = np.array([1] + [0] * (poly_len - 1) + [1])
    result = (
        poly.polydiv(
            poly.polymul(np.array(op1, dtype="object"), np.array(op2, dtype="object")) % coeff_mod,
            poly_mod,
        )[1]
        % coeff_mod
    ).tolist()

    if len(result) != poly_len:
        result += [0] * (poly_len - len(result))

    return [round(x) for x in result] 
开发者ID:OpenMined,项目名称:PySyft,代码行数:34,代码来源:operations.py


注:本文中的numpy.polynomial.polynomial.polydiv方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。