Package csb :: Package numeric :: Class InvertibleMatrix
[frames] | no frames]

Class InvertibleMatrix

source code

object --+
         |
        InvertibleMatrix

Matrix object which is intended to save time in MCMC sampling algorithms involving repeated integration of Hamiltonian equations of motion and frequent draws from multivariate normal distributions involving mass matrices as covariance matrices. It can be initialized either with the matrix one wants to use or its inverse. The main feature compared to standard numpy matrices / arrays is that it has also a property "inverse", which gives the inverse matrix. If the matrix (its inverse) is changed, the inverse (regular matrix) is calculated only when needed. This avoids costly matrix inversions.

Instance Methods
 
__array__(self, dtype=None) source code
 
__div__(self, value) source code
 
__eq__(self, other) source code
 
__getitem__(self, loc) source code
 
__idiv__(self, value) source code
 
__imul__(self, value) source code
 
__init__(self, matrix=None, inverse_matrix=None)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
__itruediv__(self, value) source code
 
__len__(self) source code
 
__mul__(self, value) source code
 
__rmul__(self, value) source code
 
__setitem__(self, i, value) source code
 
__str__(self)
str(x)
source code
 
__truediv__(self, value) source code

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

Properties
  inverse
  is_unity_multiple
This property can be used to save computation time when drawing from multivariate normal distributions with the covariance matrix given by an instance of this object.

Inherited from object: __class__

Method Details

__init__(self, matrix=None, inverse_matrix=None)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Parameters:
  • matrix (invertible (n,n)-shaped numpy.ndarray) - matrix-like object with whose values the Matrix object is supposed to hold
  • inverse_matrix (invertible (n,n)-shaped numpy.ndarray) - matrix-like object with whose inverse the Matrix object is supposed to hold
Overrides: object.__init__
(inherited documentation)

__str__(self)
(Informal representation operator)

source code 

str(x)

Overrides: object.__str__
(inherited documentation)

Property Details

inverse

Get Method:
unreachable.inverse(self)
Set Method:
unreachable.inverse(self, value)

is_unity_multiple

This property can be used to save computation time when drawing from multivariate normal distributions with the covariance matrix given by an instance of this object. By probing this property, one can instead draw from normal distributions and rescale the samples afterwards to avoid costly matrix inversions

Get Method:
unreachable.is_unity_multiple(self) - This property can be used to save computation time when drawing from multivariate normal distributions with the covariance matrix given by an instance of this object.