class_docstr: Generalized eigenvalues of a Hermitian positive definite eigensystem.
class_docstr_tok: ["Generalized","eigenvalues","of","a","Hermitian","positive","definite","eigensystem","."]
code: def make_node(self, a, b):
      assert (
          imported_scipy
      ), "Scipy not  available. Scipy is needed for the Eigvalsh op"
  
      if b == theano.tensor.NoneConst:
          a = as_tensor_variable(a)
          assert a.ndim == 2
  
          out_dtype = theano.scalar.upcast(a.dtype)
          w = theano.tensor.vector(dtype=out_dtype)
          return Apply(self, [a], [w])
      else:
          a = as_tensor_variable(a)
          b = as_tensor_variable(b)
          assert a.ndim == 2
          assert b.ndim == 2
  
          out_dtype = theano.scalar.upcast(a.dtype, b.dtype)
          w = theano.tensor.vector(dtype=out_dtype)
          return Apply(self, [a, b], [w])
  
imports: from __future__ import absolute_import, print_function, division
  import logging
  import warnings
  from six.moves import xrange
  import numpy
  from theano import tensor
  import theano.tensor
  from theano.tensor import as_tensor_variable
  from theano.gof import Op, Apply
label_desc: Use image node_id 2 for calling the Eigvalsh obj's underlying member method code with example usage: obj.make_node(a, b) and returns: Apply, Apply