'Reduces the atom to an affine expression and list of constraints.
Parameters
arg_objs : list
LinExpr for each argument.
size : tuple
The size of the resulting expression.
data :
Additional data required by the atom.
Returns
tuple
(LinOp for objective, list of constraints)'

@staticmethod
def graph_implementation(arg_objs, size, data=None):

    A = arg_objs[0]
    (n, _) = A.size
    t = lu.create_var((1, 1))
    prom_t = lu.promote(t, (n, 1))
    expr = lu.sub_expr(lu.diag_vec(prom_t), A)
    return (t, [SDP(expr)])
