Source code for shapelets_polar_matrix.pro:

function shapelets_polar_matrix, n_max,              $
                                 CALCULATE=calculate,$
                                 C2P=c2p,            $
                                 P2C=p2c,            $
                                 INVERSE=inverse,    $
                                 N1=n1,              $
                                 N2=n2

;$Id: shapelets_c2p.pro, v2$
;
; Copyright © 2005 Richard Massey and Alexandre Refregier.
;
; This file is a part of the Shapelets analysis code.
; www.astro.caltech.edu/~rjm/shapelets/
;
; The Shapelets code is free software; you can redistribute it and/or
; modify it under the terms of the GNU General Public Licence as published
; by the Free Software Foundation; either version 2 of the Licence, or
; (at your option) any later version.
;
; The Shapelets code is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public Licence for more details.
;
; You should have received a copy of the GNU General Public Licence
; along with the Shapelets code; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
;
;+
; NAME:
;      SHAPELETS_POLAR_MATRIX
;
; CATEGORY:
;      Shapelets.
;
; PURPOSE:
;      Calculates a matrix to convert Cartesian shapelet coefficients to their
;      equivalent polar shapelet representation.
;
; INPUTS:
;       N_MAX     - The maximum order used in the shapelet expansion.
;
; OPTIONAL INPUTS:
;       N1 and N2 - The shapelet coefficients are rearranged and stored in a
;                   1D array, even if the basis functions are 2D. This 
;                   simplifies many tasks, including the conversion from
;                   Cartesian to polar shapelets, which then has a 2D matrix.
;                   These vectors specify the order in which the shapelet 
;                   coefficients are stored. For polar shapelets, we assume the
;                   convention nl=n2 and nr=n1. If this is not set, the default
;                   order is assumed. Note that this is much faster, because 
;                   the matrix can then be read from a pre-calculated look-up
;                   table.
;
; KEYWORD PARAMETERS:
;       CALCULATE - By default, the matrix is just read in from a 
;                   pre-calculated look-up table. Setting this option forces 
;                   the routine to calculate the matrix anew.
;       C2P       - Calculate the matrix to convert from Cartesian to polar
;                   shapelet representation. This is the default option.
;       P2C       - Calculate the matrix to convert from polar to Cartesian
;                   shapelet representation.
;       INVERT    - A synonym for P2C (works interchangeably).
;
; OUTPUTS:
;       MATRIX    - The requested conversion matrix. It is independent of beta  
;                   etc, so once it has been calculated, simply use e.g.
;                   polar_coeffs=matrix#cartesian_coeffs
;
; NOTES:
;      A vector of polar shapelet coefficients may be indexed using:
;        shapelets_make_nvec,n_max,n_r,n_l,n_coeffs
;        n=n_r+n_l
;        m=n_r-n_l
;      or
;        shapelets_make_nvec,n_max,n,m,n_coeffs,/POLAR
;
; MODIFICATION HISTORY:
;      Mar 06 - Values in look-up table hard-wired to n_max=30 by Joel Berge.
;      Jul 05 - Noticed should be using la_invert to invert complex matrices.
;      Apr 05 - Faster calculation & look-up tables (using invert) added by RM.
;      Feb 02 - Written by Richard Massey.
;-

COMPILE_OPT idl2

; Work out what n_max was and set up index variables
if keyword_set(n1) and keyword_set(n2) then begin
  n_max=max(n1+n2)
  n_coeffs=n_elements(n1)


Return to the shapelets web page or the code help menu.





Valid HTML 4.01!

Valid CSS!