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

Function Documentation

std::complex<double> libwalrus::loop_hafnian_eigen(std::vector<std::complex<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 libwalrus::loop_hafnian() for Python integration. It accepts and returns complex 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.