sbrisard / janus

Discretization of the Lippmann--Schwinger equation with periodic boundary conditions
BSD 3-Clause "New" or "Revised" License
9 stars 3 forks source link

Improvements to the API for the janus.fft module #10

Open sbrisard opened 9 years ago

sbrisard commented 9 years ago

The present implementation of the janus.fft module define transforms with cryptic tuple attributes called shape, rshape and cshape.

Transform objects could in fact be seen as operators (as defined in the janus.operators module). Then the shape attributes should be renamed as follows

An additional attribute global_oshape should also be created (see Issue #7).

This has a few consequences on the janus.operators module itself. Indeed, FFT objects could not be considered as structured operators, since for such operators, we have (3D example)

While for FFT objects, the last dimension should be 1, and the dimension before last of the input and output might differ (this is certainly true of real transforms).

This probably entails the creation of a super-class of StructuredOperator.

sbrisard commented 9 years ago

In a711dbb, renamed attributes