Quantum algorithm for matrix functions by Cauchy's integral formula
For matrix A, vector b and function f, the computation of vector f(A)b arises in many scientific computing applications. We consider the problem of obtaining quantum state |f> corresponding to vector f(A)b. There is a quantum algorithm to compute state |f> using eigenvalue estimation that uses phase estimation and Hamiltonian simulation e^{\im A t}. However, the algorithm based on eigenvalue estimation needs \poly(1/\epsilon) runtime, where \epsilon is the desired accuracy of the output state. Moreover, if matrix A is not Hermitian, \e^{\im A t} is not unitary and we cannot run eigenvalue estimation. In this paper, we propose a quantum algorithm that uses Cauchy's integral formula and the trapezoidal rule as an approach that avoids eigenvalue estimation. We show that the runtime of the algorithm is \poly(\log(1/\epsilon)) and the algorithm outputs state |f> even if A is not Hermitian.