# Legendre Transform

Timothy Stitt tstitt at cscs.ch
Thu Feb 7 11:03:06 CST 2008

```Thanks Sanjay for the reply...I apologise for my ambiguous definition
but it is more to do with my unfamiliarity with the topic.

I have been asked to help a group optimise their quasi-spectral
geophysical MHD code. From what I gather the significant computation
occurs when it flips back and forth between spectral and real space. The
Fourier and Chebyshev transforms are quite efficient but not the
Legendre transform. The full forward and  inverse Legendre transforms
are calculated on each process (using direct summation and
Gauss-Legendre quadrature on the inverse) but performance suffers as the
resolution becomes high.

Ideally I would like to be make sure I am implementing the most
efficient Legendre transform algorithm available and more importantly if
it can be performed in parallel, hence my call for existing libraries
and maybe PETSc library support. I apologise if the application area is
not directly related to your own field but I hope you were able to

Thanks,

Tim.

Sanjay Govindjee wrote:
> Can you define what you mean by Legendre transform?  The usual
> definition in physics
> is L{f}(p)  = max_x (p.x - f(x)) where f(x) is convex.    When you say
> parallel, then I presume that
> x lies in a very high dimensional space.  In which case you are simply
> looking at a root
> finding problem in high dimensions and you could certainly use PETSc
> to solve the intermediate
> linear solves of a Newton scheme (or just invoke SNES).
>
> -sg
>
> Timothy Stitt wrote:
>> Hi all,
>>
>> I am not sure if this query is directly related to the PETSc library
>> per se, but I was wondering if anyone knows of an efficient
>> implementation of the Legendre Transform. A parallel implementation
>> would be even more ideal.
>> I don't know that much about the implementation of integral
>> transforms...could it be done in PETSc for instance, if no suitable
>> library exists? A web search doesn't throw up to many relevant hits.
>>
>> Thanks in advance for any guidance given,
>>
>> Best,
>>
>> Tim.
>>
>
>

--
Timothy Stitt
HPC Applications Analyst

Swiss National Supercomputing Centre (CSCS)
Galleria 2 - Via Cantonale
CH-6928 Manno, Switzerland

+41 (0) 91 610 8233
stitt at cscs.ch

```