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

Function Documentation

std::complex<double> libwalrus::hafnian_eigen(std::vector<std::complex<double>> &mat)

Returns the 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 hafnian() for Python integration. It accepts and returns complex double numeric types, and returns sensible values for empty and non-even matrices.

Return

hafnian of the input matrix

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