Package parsimony :: Package functions :: Module properties :: Class Hessian
[hide private]
[frames] | no frames]

Class Hessian

source code

object --+
         |
        Hessian

Nested Classes [hide private]
  __metaclass__
Metaclass for defining Abstract Base Classes (ABCs).
Instance Methods [hide private]
 
hessian(self, beta, vector=None)
The Hessian of the function.
source code
 
hessian_inverse(self, beta, vector=None)
Inverse of the Hessian (second derivative) of the function.
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __init__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  __abstractmethods__ = frozenset(['hessian', 'hessian_inverse'])
  _abc_cache = <_weakrefset.WeakSet object at 0x30d8510>
  _abc_negative_cache = <_weakrefset.WeakSet object at 0x30d8590>
  _abc_negative_cache_version = 10
  _abc_registry = <_weakrefset.WeakSet object at 0x30d8450>
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

hessian(self, beta, vector=None)

source code 
The Hessian of the function.

Parameters
----------
beta : The point at which to evaluate the Hessian.

vector : If not None, it is multiplied with the Hessian from the right.

Decorators:
  • @abc.abstractmethod

hessian_inverse(self, beta, vector=None)

source code 
Inverse of the Hessian (second derivative) of the function.

Sometimes this can be done efficiently if we know the structure of the
Hessian. Also, if we multiply the Hessian by a vector, it is often
possible to do efficiently.

Parameters
----------
beta : The point at which to evaluate the Hessian.

vector : If not None, it is multiplied with the inverse of the Hessian
        from the right.

Decorators:
  • @abc.abstractmethod