Cauchy-like

An \(m \times n\) matrix \(A\) is called Cauchy-like if there exist vectors \(r\), \(s\), \(x\), and \(y\) such that

\[A(i,j) = \frac{r(i) s(j)}{x(i) - y(j)}.\]

The following routines generate a Cauchy-like matrix using the defining vectors: \(r\), \(s\), \(x\), and \(y\).

C++ API

void CauchyLike(Matrix<F> &A, const std::vector<F> &r, const std::vector<F> &s, const std::vector<F> &x, const std::vector<F> &y)
void CauchyLike(AbstractDistMatrix<F> &A, const std::vector<F> &r, const std::vector<F> &s, const std::vector<F> &x, const std::vector<F> &y)

C API

ElError ElCauchyLike_s(ElMatrix_s A, ElInt rSize, float* rBuf, ElInt sSize, float* sBuf, ElInt xSize, float* xBuf, ElInt ySize, float* yBuf)
ElError ElCauchyLike_d(ElMatrix_d A, ElInt rSize, double* rBuf, ElInt sSize, double* sBuf, ElInt xSize, double* xBuf, ElInt ySize, double* yBuf)
ElError ElCauchyLike_c(ElMatrix_c A, ElInt rSize, complex_float* rBuf, ElInt sSize, complex_float* sBuf, ElInt xSize, complex_float* xBuf, ElInt ySize, complex_float* yBuf)
ElError ElCauchyLike_z(ElMatrix_z A, ElInt rSize, complex_double* rBuf, ElInt sSize, complex_double* sBuf, ElInt xSize, complex_double* xBuf, ElInt ySize, complex_double* yBuf)
ElError ElCauchyLikeDist_s(ElDistMatrix_s A, ElInt rSize, float* rBuf, ElInt sSize, float* sBuf, ElInt xSize, float* xBuf, ElInt ySize, float* yBuf)
ElError ElCauchyLikeDist_d(ElDistMatrix_d A, ElInt rSize, double* rBuf, ElInt sSize, double* sBuf, ElInt xSize, double* xBuf, ElInt ySize, double* yBuf)
ElError ElCauchyLikeDist_c(ElDistMatrix_c A, ElInt rSize, complex_float* rBuf, ElInt sSize, complex_float* sBuf, ElInt xSize, complex_float* xBuf, ElInt ySize, complex_float* yBuf)
ElError ElCauchyLikeDist_z(ElDistMatrix_z A, ElInt rSize, complex_double* rBuf, ElInt sSize, complex_double* sBuf, ElInt xSize, complex_double* xBuf, ElInt ySize, complex_double* yBuf)

Python API

CauchyLike(A, r, s, x, y)