class_docstr: Problem 15.4 from Nocedal and Wright
  
  The following optimization problem:
      minimize 2*(x[0]**2 + x[1]**2 - 1) - x[0]
      Subject to: x[0]**2 + x[1]**2 - 1 = 0
class_docstr_tok: ["Problem","15.4","from","Nocedal","and","Wright","The","following","optimization","problem",":","minimize","2","*","(","x","[","0","]","*","*","2","+","x","[","1","]","*","*","2","-","1",")","-","x","[","0","]","Subject","to",":","x","[","0","]","*","*","2","+","x","[","1","]","*","*","2","-","1","=","0"]
code: def __init__(self, degrees=60, constr_jac=None, constr_hess=None):
      rads = degrees / 180 * np.pi
      self.x0 = [np.cos(rads), np.sin(rads)]
      self.x_opt = np.array([1.0, 0.0])
      self.constr_jac = constr_jac
      self.constr_hess = constr_hess
      self.bounds = None
  
imports: from __future__ import division, print_function, absolute_import
  import numpy
  import pytest
  from scipy.linalg import block_diag
  from scipy.sparse import csc_matrix
  from numpy.testing import TestCase, assert_array_almost_equal, assert_array_less, assert_allclose, assert_
  from pytest import raises
  from scipy.optimize import NonlinearConstraint, LinearConstraint, Bounds, minimize, BFGS, SR1
  from scipy._lib._numpy_compat import suppress_warnings
label_desc: Use image node_id 1 to create a new Maratos object  with example: obj = Maratos(degrees, constr_jac, constr_hess)