How do I supply arpack drivers with all starting vectors?

In summary, the speaker is using the arpack algorithm to solve an eigenvalue problem and is interested in obtaining the first m eigenvectors. They have good initial approximations for these vectors and would like to use them as starting vectors, but are unsure if arpack allows for this. The material they have read suggests that arpack only requires one guess vector and returns all eigenvectors as columns of a matrix.
  • #1
Jimmy and Bimmy
4
0
I am using arpack (the dsdrv1 driver) to iteratively solve the eigenvalue problem

Ax = λx

I am interested in the first m eigenvectors, and I have very good initial approximations for these vectors, so I would like to use my m starting vectors as an initial guess. However, http://www.caam.rice.edu/software/ARPACK/UG/node29.html, which is fine if I only want one eigenvector, but doesn't help if I want more than one.

Does anyone know if arpack will let me use my m initial guesses as starting vectors?
 
  • #3
If I'm reading the material on those pages correctly, the program only needs one guess vector and returns all of the eigenvectors as columns of the matrix V.
 

1. What are "arpack drivers" and why do I need to supply them with starting vectors?

ARPACK (Arnoldi Package) is a collection of software designed for solving large-scale eigenvalue problems. ARPACK drivers are the programs that control the calculation and iteration processes. Supplying starting vectors allows the ARPACK drivers to efficiently find the desired eigenvalues and eigenvectors.

2. How do I determine the appropriate number of starting vectors to supply?

The number of starting vectors needed depends on the size and complexity of the eigenvalue problem. Generally, more starting vectors will lead to a more accurate solution, but also increase the computational time. It is recommended to experiment with different numbers of starting vectors to find the optimal balance between accuracy and efficiency.

3. Can I supply any type of starting vectors or are there specific requirements?

The starting vectors must be real or complex vectors of the same size as the problem matrix. They should also be linearly independent, meaning they cannot be multiples of each other. It is also recommended to use starting vectors that are orthogonal to each other, as this can improve the convergence of the ARPACK calculation.

4. How do I supply starting vectors to ARPACK drivers using programming languages like Fortran or C++?

Each programming language may have slightly different methods for supplying starting vectors to ARPACK drivers. However, in general, you will need to initialize an array or matrix with the starting vectors and then pass it as an input parameter to the ARPACK driver subroutine. Consult the documentation or examples for your specific programming language for more detailed instructions.

5. What are some common issues that may arise when supplying starting vectors to ARPACK drivers?

One common issue is providing starting vectors that are not linearly independent, which can lead to incorrect or unstable results. Another issue is not supplying enough starting vectors, which can result in slow convergence or inaccurate solutions. It is also important to make sure the starting vectors are of the appropriate size and type for the problem being solved.

Similar threads

  • Linear and Abstract Algebra
Replies
6
Views
17K
Replies
20
Views
2K
  • General Math
Replies
11
Views
1K
  • Advanced Physics Homework Help
Replies
1
Views
724
Replies
39
Views
490
Replies
5
Views
911
  • Linear and Abstract Algebra
Replies
4
Views
8K
  • Calculus and Beyond Homework Help
Replies
1
Views
2K
  • Calculus and Beyond Homework Help
Replies
1
Views
2K
  • Programming and Computer Science
Replies
8
Views
2K
Back
Top