Function libwalrus::loop_hafnian_eigen(std::vector<double>&)

Function Documentation

double libwalrus::loop_hafnian_eigen(std::vector<double> &mat)

Returns the loop hafnian of a matrix using the algorithm described in A faster hafnian formula for complex matrices and its benchmarking on the Titan supercomputer, arxiv:1805.12498.

This is a wrapper around the templated function loop_hafnian() for Python integration. It accepts and returns double numeric types, and returns sensible values for empty and non-even matrices.

Return

loop hafnian of the input matrix

Parameters
  • mat: a flattened vector of size \(n^2\), representing an \(n\times n\) row-ordered symmetric matrix.