  An important challenge for current and near-term quantum devices is finding
useful tasks that can be preformed on them. We first show how to efficiently
encode a bounded $n \times n$ matrix $A$ into a linear optical circuit with
$2n$ modes. We then apply this encoding to the case where $A$ is a matrix
containing information about a graph $G$. We show that a photonic quantum
processor consisting of single-photon sources, a linear optical circuit
encoding $A$, and single-photon detectors can solve a range of graph problems
including finding the number of perfect matchings of bipartite graphs,
computing permanental polynomials, determining whether two graphs are
isomorphic, and the $k$-densest subgraph problem. We also propose
pre-processing methods to boost the probabilities of observing the relevant
detection events and thus improve performance. Finally we present both
numerical simulations and implementations on Quandela's Ascella photonic
quantum processor to validate our findings.
