Function libwalrus::hafnian_recursive_quad(std::vector<double>&)¶
Defined in File recursive_hafnian.hpp
Function Documentation¶
-
double
libwalrus
::
hafnian_recursive_quad
(std::vector<double> &mat) Returns the hafnian of a matrix using the recursive algorithm described in Counting perfect matchings as fast as Ryser [5], where it is labelled as ‘Algorithm 2’.
Modified with permission from https://github.com/eklotek/Hafnian.
This is a wrapper around the templated function
libwalrus::hafnian_recursive
for Python integration. It accepts and returns double numeric types, and returns sensible values for empty and non-even matrices.In addition, this wrapper function automatically casts all matrices to type
long double
, allowing for greater precision than supported by Python and NumPy.- Return
the hafnian
- Parameters
mat
: vector representing the flattened matrix
libwalrus_cpp_api/function_namespacelibwalrus_1aeb349fe6c665a2590537a6ea012eb71c
Download Python script
Download Notebook
View on GitHub
Contents
Downloads