2

I'm trying to diagonalize a matrix in julia, but the matrix is itself too large to calculate. But I can efficiently calculate the matrix vector product. I'm looking for a solution so that I can use the matrix vector product into eigs and solve using lanzcos method. Is there a package that gives me an output in the form of matrix vector product?

Can someone help here?

1 Answers1

2

You can use the ARPACK based eigs function which is included in Julia 0.6.2 or you can use a pure Julia implementation of a related method in https://github.com/JuliaMath/IterativeSolvers.jl. The latter isn't Lanczos based but I guess it doesn't really matter as long as it gives you the eigenvalues.

Andreas Noack
  • 1,300
  • 6
  • 9
  • 1
    Thanks for the reply. I have been using the iterative solvers package. I just wanted to know how to create an operator product representation to give as an input. I've been trying to use the LinearOperator Package. – Gaurang Parkar Jun 03 '18 at 22:13
  • 1
    The easiest solution is to make it a subtype of `AbstractMatrix`. – Andreas Noack Jun 04 '18 at 12:17