Complexity of multiplying Cauchy matrix by a vector

620 Views Asked by At

I want to find the matrix-vector product:

$b=C \times a$

where $b=[b_1, ..., b_n]$ is the unknown vector, $a=[a_1, ..., a_n]$ is the known vector, and C is the coefficients matrix.

The complexity to calculate b is $O(n^2)$

Assuming that the C matrix is a Cauchy matrix $n \times n$ matrix as follows:

\begin{align} C[i,j] = \frac{1}{x_i+y_i} \end{align}

Is it possible to calculate b with less complexity?

1

There are 1 best solutions below

0
On

Here's a brief summary (see Wikipedia and linked arXiv article for more)

  1. $b=Ca$ can be approximated in $O(n\log n)$ time using the Fast multipole method
  2. LU factorization of $C$ using the GKO algorithm, this takes $O(n^2)$ time. See this paper for how to implement this well (i.e., $a=C^{-1}b$)
  3. If you are not worried about approximations or numerical instability, then you can handle this in $O(n\log^2 n)$ time (i.e., compute $a \approx C^{-1}b$)