class_docstr: Class that sets up and runs the optimization of dual_formulation
class_docstr_tok: ["Class","that","sets","up","and","runs","the","optimization","of","dual_formulation"]
docstr: Function for min eigen vector using tf's full eigen decomposition.
docstr_tok: ["Function","for","min","eigen","vector","using","tf","'s","full","eigen","decomposition","."]
code: def tf_min_eig_vec(self):
      """Function for min eigen vector using tf's full eigen decomposition."""
      # Full eigen decomposition requires the explicit psd matrix M
      _, matrix_m = self.dual_object.get_full_psd_matrix()
      [eig_vals, eig_vectors] = tf.self_adjoint_eig(matrix_m)
      index = tf.argmin(eig_vals)
      return tf.reshape(
          eig_vectors[:, index], shape=[eig_vectors.shape[0].value, 1]
      )
  
file_path: cleverhans/cleverhans/experimental/certification/optimization.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import json
  import os
  import numpy
  from scipy.sparse.linalg import eigs, LinearOperator
  import tensorflow
  from tensorflow.contrib import autograph
  from cleverhans.experimental.certification import utils
label_desc: Use image node_id 2 for calling the Optimization obj's underlying member method code with example usage: obj.tf_min_eig_vec() and returns: tf