def numeric(self, values): """Returns the largest eigenvalue of A. Requires that A be symmetric. """ eigs = LA.eigvalsh(values[0]) return sum_largest(eigs, self.k).value
def sum_smallest(x, k): """Sum of the smallest k values. """ x = Expression.cast_to_const(x) return -sum_largest(-x, k)