Given the result of the ``c1._series_expand(...)`` and
    ``c2._series_expand(...)``, construct the result of
    ``(c1*c2)._series_expand(...)``

def _series_expand_combine_prod(c1, c2, order):
    """Given the result of the ``c1._series_expand(...)`` and
    ``c2._series_expand(...)``, construct the result of
    ``(c1*c2)._series_expand(...)``
    """
    from qnet.algebra.core.scalar_algebra import Zero
    res = []
    c1 = list(c1)
    c2 = list(c2)
    for n in range(order + 1):
        summands = []
        for k in range(n + 1):
            if c1[k].is_zero or c2[n-k].is_zero:
                summands.append(Zero)
            else:
                summands.append(c1[k] * c2[n - k])
        sum = summands[0]
        for summand in summands[1:]:
            if summand != 0:
                sum += summand
        res.append(sum)
    return tuple(res)