[petsc-users] default orthogonalization in gmres

Karl Rupp rupp at mcs.anl.gov
Mon Jul 15 16:04:54 CDT 2013

Hi Umut,

one of the reasons is the parallelism: When doing Householder 
reflections, you can only process one reflection at a time without any 
good data reuse. However, for Gram-Schmidt you can just compute all the 
necessary scalar products at the same time (VecMDot) and reuse the 
common data vector. This gives you a speed-up of a factor of almost two.

Best regards,

On 07/15/2013 03:42 PM, Umut Tabak wrote:
> On 07/15/2013 08:54 PM, Matthew Knepley wrote:
>> On Jul 15, 2013 1:51 PM, "Umut Tabak" <u.tabak at tudelft.nl
>> <mailto:u.tabak at tudelft.nl>> wrote:
>> >
>> > Hi list,
>> >
>> > I was wondering the reason why classical gram schmidt is used in the
>> orthogonalizations in the gmres implementation as default? As far as I
>> remember, this was unstable numerically.
> Hi Matt,
> Excuse my naive question but mathematically they are equivalent so what
> is the source of speed boost? And can you please direct me to one or two
> of these references?
> Best,
> Umut
>> Its much faster. Try the modified option and compare. There are many
>> papers claiming that classical+selective reorthogonalization is just
>> as stable.
>>    Matt
>> >
>> > Best,
>> > Umut

More information about the petsc-users mailing list