[petsc-users] question about CISS

Povolotskyi, Mykhailo mpovolot at purdue.edu
Sat Sep 7 20:25:10 CDT 2019


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 <petsc-users at mcs.anl.gov> 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:
>>
>>        EPS            eps;
>>        EPSType        type;
>>        RG             rg;
>>
>>        EPSCreate(MPI_COMM_SELF,&eps);
>>        EPSSetOperators( eps,matrix_petsc,NULL);
>>        EPSSetType(eps,EPSCISS);
>>        EPSSetProblemType(eps, EPS_NHEP);
>>
>>        EPSSetFromOptions(eps);
>>
>>
>>        EPSGetRG(eps,&rg);
>>        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.
>>
>> <circle_vs_ring2.png>


More information about the petsc-users mailing list