Re: [petsc-users] question about CISS

2019-09-07 Thread Povolotskyi, Mykhailo via petsc-users
Thank you.

I will try to divide the ring into fragments and see what happens.

Michael.

On 9/7/2019 5:15 AM, Jose E. Roman wrote:
> In the ring region, you should choose appropriate start and end angles to 
> narrow down the region, so that it fits closer to the wanted eigenvalues, 
> otherwise the region spans the whole circumference. Note that there is a 
> fixed number of integration points around the contour, so if the area is not 
> focused around the wanted eigenvalues then the approximation capacity is 
> smaller.
>
> As I said, elliptic regions are mostly recommended. The ring region is used 
> for special situations, such as the one in our joint paper 
> https://doi.org/10.1007/978-3-319-62426-6_2 where the eigenvalues lie on the 
> unit circle but we want to avoid eigenvalues close to the origin.
>
> Jose
>
>
>> El 6 sept 2019, a las 22:11, Povolotskyi, Mykhailo via petsc-users 
>>  escribió:
>>
>> Hello,
>>
>> I have been experimenting with CISS by computing part of the spectrum of
>> a complex matrix of rather small size (774).
>>
>> I have compared two spectral regions: the circle and the ring.
>>
>> The results were compared against LAPACK.
>>
>> The attached figure shows that the accuracy with the ring is low,
>> comparatively to a circle.
>>
>> It looks like if the ring is used, the eigenvalues are found, but not
>> accurately.
>>
>> The circle area works quite okay.
>>
>> This is what I'm doing:
>>
>>EPSeps;
>>EPSTypetype;
>>RG rg;
>>
>>EPSCreate(MPI_COMM_SELF,);
>>EPSSetOperators( eps,matrix_petsc,NULL);
>>EPSSetType(eps,EPSCISS);
>>EPSSetProblemType(eps, EPS_NHEP);
>>
>>EPSSetFromOptions(eps);
>>
>>
>>EPSGetRG(eps,);
>>RGSetType(rg,RGRING);
>>
>>double vscale(1.0);
>>
>>double start_ang(0);
>>double end_ang(1.0);
>> RGRingSetParameters(rg,center,radius,vscale,start_ang,end_ang,width);
>>
>>EPSSolve(eps);
>>
>>
>> Could you, please, advise me on this problem?
>>
>> Thank you,
>>
>> Michael.
>>
>> 


Re: [petsc-users] question about CISS

2019-09-07 Thread Jose E. Roman via petsc-users
In the ring region, you should choose appropriate start and end angles to 
narrow down the region, so that it fits closer to the wanted eigenvalues, 
otherwise the region spans the whole circumference. Note that there is a fixed 
number of integration points around the contour, so if the area is not focused 
around the wanted eigenvalues then the approximation capacity is smaller.

As I said, elliptic regions are mostly recommended. The ring region is used for 
special situations, such as the one in our joint paper 
https://doi.org/10.1007/978-3-319-62426-6_2 where the eigenvalues lie on the 
unit circle but we want to avoid eigenvalues close to the origin.

Jose


> El 6 sept 2019, a las 22:11, Povolotskyi, Mykhailo via petsc-users 
>  escribió:
> 
> Hello,
> 
> I have been experimenting with CISS by computing part of the spectrum of 
> a complex matrix of rather small size (774).
> 
> I have compared two spectral regions: the circle and the ring.
> 
> The results were compared against LAPACK.
> 
> The attached figure shows that the accuracy with the ring is low, 
> comparatively to a circle.
> 
> It looks like if the ring is used, the eigenvalues are found, but not 
> accurately.
> 
> The circle area works quite okay.
> 
> This is what I'm doing:
> 
>   EPSeps;
>   EPSTypetype;
>   RG rg;
> 
>   EPSCreate(MPI_COMM_SELF,);
>   EPSSetOperators( eps,matrix_petsc,NULL);
>   EPSSetType(eps,EPSCISS);
>   EPSSetProblemType(eps, EPS_NHEP);
> 
>   EPSSetFromOptions(eps);
> 
> 
>   EPSGetRG(eps,);
>   RGSetType(rg,RGRING);
> 
>   double vscale(1.0);
> 
>   double start_ang(0);
>   double end_ang(1.0);
> RGRingSetParameters(rg,center,radius,vscale,start_ang,end_ang,width);
> 
>   EPSSolve(eps);
> 
> 
> Could you, please, advise me on this problem?
> 
> Thank you,
> 
> Michael.
> 
> 



Re: [petsc-users] question about CISS

2019-08-29 Thread Jose E. Roman via petsc-users



> El 29 ago 2019, a las 22:20, Povolotskyi, Mykhailo  
> escribió:
> 
> Thank you for suggestion.
> 
> Is it interfaced to SLEPC?

No, could be a future project...

> 
> 
> On 08/29/2019 04:14 PM, Jose E. Roman wrote:
>> I am not an expert in contour integral eigensolvers. I think difficulties 
>> come with corners, so ellipses are the best choice. I don't think ring 
>> regions are relevant here.
>> 
>> Have you considered using ScaLAPACK. Some time ago we were able to address 
>> problems of size up to 400k   https://doi.org/10.1017/jfm.2016.208
>> 
>> Jose
>> 
>> 
>>> El 29 ago 2019, a las 21:55, Povolotskyi, Mykhailo  
>>> escribió:
>>> 
>>> Thank you, Jose,
>>> 
>>> what about rings? Are they better than rectangles?
>>> 
>>> Michael.
>>> 
>>> 
>>> On 08/29/2019 03:44 PM, Jose E. Roman wrote:
 The CISS solver is supposed to estimate the number of eigenvalues 
 contained in the contour. My impression is that the estimation is less 
 accurate in case of rectangular contours, compared to elliptic ones. But 
 of course, with ellipses it is not possible to fully cover the complex 
 plane unless there is some overlap.
 
 Jose
 
 
> El 29 ago 2019, a las 20:56, Povolotskyi, Mykhailo via petsc-users 
>  escribió:
> 
> Hello everyone,
> 
> this is a question about  SLEPc.
> 
> The problem that I need to solve is as follows.
> 
> I have a matrix and I need a full spectrum of it (both eigenvalues and
> eigenvectors).
> 
> The regular way is to use Lapack, but it is slow. I decided to try the
> following:
> 
> a) compute the bounds of the spectrum using Krylov Schur approach.
> 
> b) divide the complex eigenvalue plane into rectangular areas, then
> apply CISS to each area in parallel.
> 
> However, I found that the solver is missing some eigenvalues, even if my
> rectangles cover the whole spectral area.
> 
> My question: can this approach work in principle? If yes, how one can
> set-up CISS solver to not loose the eigenvalues?
> 
> Thank you,
> 
> Michael.
> 
> 



Re: [petsc-users] question about CISS

2019-08-29 Thread Povolotskyi, Mykhailo via petsc-users
It is not a symmetric matrix

On 08/29/2019 04:30 PM, Matthew Knepley wrote:
On Thu, Aug 29, 2019 at 4:29 PM Jed Brown via petsc-users 
mailto:petsc-users@mcs.anl.gov>> wrote:
Elemental also has distributed-memory eigensolvers that should be at
least as good as ScaLAPACK's.  There is support for Elemental in PETSc,
but not yet in SLEPc.

Also if its symmetric, isn't https://elpa.mpcdf.mpg.de/ fairly scalable?

   Matt

"Povolotskyi, Mykhailo via petsc-users" 
mailto:petsc-users@mcs.anl.gov>> writes:

> Thank you for suggestion.
>
> Is it interfaced to SLEPC?
>
>
> On 08/29/2019 04:14 PM, Jose E. Roman wrote:
>> I am not an expert in contour integral eigensolvers. I think difficulties 
>> come with corners, so ellipses are the best choice. I don't think ring 
>> regions are relevant here.
>>
>> Have you considered using ScaLAPACK. Some time ago we were able to address 
>> problems of size up to 400k   https://doi.org/10.1017/jfm.2016.208
>>
>> Jose
>>
>>
>>> El 29 ago 2019, a las 21:55, Povolotskyi, Mykhailo 
>>> mailto:mpovo...@purdue.edu>> escribió:
>>>
>>> Thank you, Jose,
>>>
>>> what about rings? Are they better than rectangles?
>>>
>>> Michael.
>>>
>>>
>>> On 08/29/2019 03:44 PM, Jose E. Roman wrote:
 The CISS solver is supposed to estimate the number of eigenvalues 
 contained in the contour. My impression is that the estimation is less 
 accurate in case of rectangular contours, compared to elliptic ones. But 
 of course, with ellipses it is not possible to fully cover the complex 
 plane unless there is some overlap.

 Jose


> El 29 ago 2019, a las 20:56, Povolotskyi, Mykhailo via petsc-users 
> mailto:petsc-users@mcs.anl.gov>> escribió:
>
> Hello everyone,
>
> this is a question about  SLEPc.
>
> The problem that I need to solve is as follows.
>
> I have a matrix and I need a full spectrum of it (both eigenvalues and
> eigenvectors).
>
> The regular way is to use Lapack, but it is slow. I decided to try the
> following:
>
> a) compute the bounds of the spectrum using Krylov Schur approach.
>
> b) divide the complex eigenvalue plane into rectangular areas, then
> apply CISS to each area in parallel.
>
> However, I found that the solver is missing some eigenvalues, even if my
> rectangles cover the whole spectral area.
>
> My question: can this approach work in principle? If yes, how one can
> set-up CISS solver to not loose the eigenvalues?
>
> Thank you,
>
> Michael.
>


--
What most experimenters take for granted before they begin their experiments is 
infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/



Re: [petsc-users] question about CISS

2019-08-29 Thread Jed Brown via petsc-users
Elemental also has distributed-memory eigensolvers that should be at
least as good as ScaLAPACK's.  There is support for Elemental in PETSc,
but not yet in SLEPc.

"Povolotskyi, Mykhailo via petsc-users"  writes:

> Thank you for suggestion.
>
> Is it interfaced to SLEPC?
>
>
> On 08/29/2019 04:14 PM, Jose E. Roman wrote:
>> I am not an expert in contour integral eigensolvers. I think difficulties 
>> come with corners, so ellipses are the best choice. I don't think ring 
>> regions are relevant here.
>>
>> Have you considered using ScaLAPACK. Some time ago we were able to address 
>> problems of size up to 400k   https://doi.org/10.1017/jfm.2016.208
>>
>> Jose
>>
>>
>>> El 29 ago 2019, a las 21:55, Povolotskyi, Mykhailo  
>>> escribió:
>>>
>>> Thank you, Jose,
>>>
>>> what about rings? Are they better than rectangles?
>>>
>>> Michael.
>>>
>>>
>>> On 08/29/2019 03:44 PM, Jose E. Roman wrote:
 The CISS solver is supposed to estimate the number of eigenvalues 
 contained in the contour. My impression is that the estimation is less 
 accurate in case of rectangular contours, compared to elliptic ones. But 
 of course, with ellipses it is not possible to fully cover the complex 
 plane unless there is some overlap.

 Jose


> El 29 ago 2019, a las 20:56, Povolotskyi, Mykhailo via petsc-users 
>  escribió:
>
> Hello everyone,
>
> this is a question about  SLEPc.
>
> The problem that I need to solve is as follows.
>
> I have a matrix and I need a full spectrum of it (both eigenvalues and
> eigenvectors).
>
> The regular way is to use Lapack, but it is slow. I decided to try the
> following:
>
> a) compute the bounds of the spectrum using Krylov Schur approach.
>
> b) divide the complex eigenvalue plane into rectangular areas, then
> apply CISS to each area in parallel.
>
> However, I found that the solver is missing some eigenvalues, even if my
> rectangles cover the whole spectral area.
>
> My question: can this approach work in principle? If yes, how one can
> set-up CISS solver to not loose the eigenvalues?
>
> Thank you,
>
> Michael.
>


Re: [petsc-users] question about CISS

2019-08-29 Thread Povolotskyi, Mykhailo via petsc-users
Thank you for suggestion.

Is it interfaced to SLEPC?


On 08/29/2019 04:14 PM, Jose E. Roman wrote:
> I am not an expert in contour integral eigensolvers. I think difficulties 
> come with corners, so ellipses are the best choice. I don't think ring 
> regions are relevant here.
>
> Have you considered using ScaLAPACK. Some time ago we were able to address 
> problems of size up to 400k   https://doi.org/10.1017/jfm.2016.208
>
> Jose
>
>
>> El 29 ago 2019, a las 21:55, Povolotskyi, Mykhailo  
>> escribió:
>>
>> Thank you, Jose,
>>
>> what about rings? Are they better than rectangles?
>>
>> Michael.
>>
>>
>> On 08/29/2019 03:44 PM, Jose E. Roman wrote:
>>> The CISS solver is supposed to estimate the number of eigenvalues contained 
>>> in the contour. My impression is that the estimation is less accurate in 
>>> case of rectangular contours, compared to elliptic ones. But of course, 
>>> with ellipses it is not possible to fully cover the complex plane unless 
>>> there is some overlap.
>>>
>>> Jose
>>>
>>>
 El 29 ago 2019, a las 20:56, Povolotskyi, Mykhailo via petsc-users 
  escribió:

 Hello everyone,

 this is a question about  SLEPc.

 The problem that I need to solve is as follows.

 I have a matrix and I need a full spectrum of it (both eigenvalues and
 eigenvectors).

 The regular way is to use Lapack, but it is slow. I decided to try the
 following:

 a) compute the bounds of the spectrum using Krylov Schur approach.

 b) divide the complex eigenvalue plane into rectangular areas, then
 apply CISS to each area in parallel.

 However, I found that the solver is missing some eigenvalues, even if my
 rectangles cover the whole spectral area.

 My question: can this approach work in principle? If yes, how one can
 set-up CISS solver to not loose the eigenvalues?

 Thank you,

 Michael.




Re: [petsc-users] question about CISS

2019-08-29 Thread Jose E. Roman via petsc-users
I am not an expert in contour integral eigensolvers. I think difficulties come 
with corners, so ellipses are the best choice. I don't think ring regions are 
relevant here.

Have you considered using ScaLAPACK. Some time ago we were able to address 
problems of size up to 400k   https://doi.org/10.1017/jfm.2016.208

Jose


> El 29 ago 2019, a las 21:55, Povolotskyi, Mykhailo  
> escribió:
> 
> Thank you, Jose,
> 
> what about rings? Are they better than rectangles?
> 
> Michael.
> 
> 
> On 08/29/2019 03:44 PM, Jose E. Roman wrote:
>> The CISS solver is supposed to estimate the number of eigenvalues contained 
>> in the contour. My impression is that the estimation is less accurate in 
>> case of rectangular contours, compared to elliptic ones. But of course, with 
>> ellipses it is not possible to fully cover the complex plane unless there is 
>> some overlap.
>> 
>> Jose
>> 
>> 
>>> El 29 ago 2019, a las 20:56, Povolotskyi, Mykhailo via petsc-users 
>>>  escribió:
>>> 
>>> Hello everyone,
>>> 
>>> this is a question about  SLEPc.
>>> 
>>> The problem that I need to solve is as follows.
>>> 
>>> I have a matrix and I need a full spectrum of it (both eigenvalues and
>>> eigenvectors).
>>> 
>>> The regular way is to use Lapack, but it is slow. I decided to try the
>>> following:
>>> 
>>> a) compute the bounds of the spectrum using Krylov Schur approach.
>>> 
>>> b) divide the complex eigenvalue plane into rectangular areas, then
>>> apply CISS to each area in parallel.
>>> 
>>> However, I found that the solver is missing some eigenvalues, even if my
>>> rectangles cover the whole spectral area.
>>> 
>>> My question: can this approach work in principle? If yes, how one can
>>> set-up CISS solver to not loose the eigenvalues?
>>> 
>>> Thank you,
>>> 
>>> Michael.
>>> 
> 



Re: [petsc-users] question about CISS

2019-08-29 Thread Povolotskyi, Mykhailo via petsc-users
Thank you, Jose,

what about rings? Are they better than rectangles?

Michael.


On 08/29/2019 03:44 PM, Jose E. Roman wrote:
> The CISS solver is supposed to estimate the number of eigenvalues contained 
> in the contour. My impression is that the estimation is less accurate in case 
> of rectangular contours, compared to elliptic ones. But of course, with 
> ellipses it is not possible to fully cover the complex plane unless there is 
> some overlap.
>
> Jose
>   
>
>> El 29 ago 2019, a las 20:56, Povolotskyi, Mykhailo via petsc-users 
>>  escribió:
>>
>> Hello everyone,
>>
>> this is a question about  SLEPc.
>>
>> The problem that I need to solve is as follows.
>>
>> I have a matrix and I need a full spectrum of it (both eigenvalues and
>> eigenvectors).
>>
>> The regular way is to use Lapack, but it is slow. I decided to try the
>> following:
>>
>> a) compute the bounds of the spectrum using Krylov Schur approach.
>>
>> b) divide the complex eigenvalue plane into rectangular areas, then
>> apply CISS to each area in parallel.
>>
>> However, I found that the solver is missing some eigenvalues, even if my
>> rectangles cover the whole spectral area.
>>
>> My question: can this approach work in principle? If yes, how one can
>> set-up CISS solver to not loose the eigenvalues?
>>
>> Thank you,
>>
>> Michael.
>>



Re: [petsc-users] question about CISS

2019-08-29 Thread Jose E. Roman via petsc-users
The CISS solver is supposed to estimate the number of eigenvalues contained in 
the contour. My impression is that the estimation is less accurate in case of 
rectangular contours, compared to elliptic ones. But of course, with ellipses 
it is not possible to fully cover the complex plane unless there is some 
overlap.

Jose
 

> El 29 ago 2019, a las 20:56, Povolotskyi, Mykhailo via petsc-users 
>  escribió:
> 
> Hello everyone,
> 
> this is a question about  SLEPc.
> 
> The problem that I need to solve is as follows.
> 
> I have a matrix and I need a full spectrum of it (both eigenvalues and 
> eigenvectors).
> 
> The regular way is to use Lapack, but it is slow. I decided to try the 
> following:
> 
> a) compute the bounds of the spectrum using Krylov Schur approach.
> 
> b) divide the complex eigenvalue plane into rectangular areas, then 
> apply CISS to each area in parallel.
> 
> However, I found that the solver is missing some eigenvalues, even if my 
> rectangles cover the whole spectral area.
> 
> My question: can this approach work in principle? If yes, how one can 
> set-up CISS solver to not loose the eigenvalues?
> 
> Thank you,
> 
> Michael.
> 



[petsc-users] question about CISS

2019-08-29 Thread Povolotskyi, Mykhailo via petsc-users
Hello everyone,

this is a question about  SLEPc.

The problem that I need to solve is as follows.

I have a matrix and I need a full spectrum of it (both eigenvalues and 
eigenvectors).

The regular way is to use Lapack, but it is slow. I decided to try the 
following:

a) compute the bounds of the spectrum using Krylov Schur approach.

b) divide the complex eigenvalue plane into rectangular areas, then 
apply CISS to each area in parallel.

However, I found that the solver is missing some eigenvalues, even if my 
rectangles cover the whole spectral area.

My question: can this approach work in principle? If yes, how one can 
set-up CISS solver to not loose the eigenvalues?

Thank you,

Michael.