# [Trilinos-Users] slow anasazi in NOX::Epetra

Veltz Romain romain.veltz at inria.fr
Wed Nov 27 09:02:57 MST 2013

Hello All,

I am doing a continuation in the NOX:Epetra interface with a Epetra_OPerator for the Jacobian. As a bi-product, I am computing the eigenvalues of the Jacobian at each step using the following piece of code.

Teuchos::ParameterList& aList = locaStepperList.sublist("Eigensolver");
aList.set("Method", "Anasazi");
aList.set("Sorting Order", "LM");  //
aList.set("Block Size", 1);//1        // Size of blocks, ie Krylov subspace
aList.set("Num Blocks", 20);//15       // Size of Arnoldi factorization: = 3 nev
aList.set("Num Eigenvalues", 5);   // Number of eigenvalues
aList.set("Convergence Tolerance", 1.0e-7);          // Tolerance
aList.set("Step Size", 1);         // How often to check convergence
aList.set("Maximum Restarts",20);  // Maximum number of restarts

Fore the linear solver, the options are here:

Teuchos::ParameterList& lsParams = newParams.sublist("Linear Solver");
lsParams.set("Aztec Solver", "GMRES");
lsParams.set("Size of Krylov Subspace",100);//default = 300
lsParams.set("Max Iterations", 100);// etait 200
lsParams.set("Tolerance", 1e-8);
lsParams.set("Output Frequency", 1);//etait 1
lsParams.set("Scaling", "None");
lsParams.set("Preconditioner Operator", "Use Jacobian");// default

I would like to point that the problem I am trying to solve is

F(V,lambda) = -V + convolution2d(J, N(lambda*V))

where N is a nonlinearity.

I have two questions:

- how do the parameters Block size and Num blocks affect the computation of the eigenvalues?

I have done the same computation in matlab with the function eigs and it is at least twice as fast.

- how can I improve the speed of the computation of my eigenvalues in Anasazi. I think this is linked to the first question.