<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def sum2diag(A, D, out=None):
 r"""Add values ``D`` to the diagonal of matrix ``A``. Args: A (array_like):
 Left-hand side. D (array_like or float):
 Values to add. out (:class:`numpy.ndarray`, optional):
 copy result to. Returns: :class:`numpy.ndarray`: Resulting matrix. """

    A = asarray(A, float)
    D = asarray(D, float)
    if out is None:
        out = copy(A)
    else:
        copyto(out, A)
    einsum("ii->i", out)[:] += D
    return out