cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A176988 Triangle read by rows, which contains Noll's indices of Zernike polynomials in row n sorted along increasing index of the azimuthal quantum number.

Original entry on oeis.org

1, 3, 2, 5, 4, 6, 9, 7, 8, 10, 15, 13, 11, 12, 14, 21, 19, 17, 16, 18, 20, 27, 25, 23, 22, 24, 26, 28, 35, 33, 31, 29, 30, 32, 34, 36, 45, 43, 41, 39, 37, 38, 40, 42, 44, 55, 53, 51, 49, 47, 46, 48, 50, 52, 54, 65, 63, 61, 59, 57, 56, 58, 60, 62, 64, 66, 77, 75, 73, 71, 69, 67, 68, 70, 72, 74, 76, 78, 91, 89, 87, 85, 83, 81, 79, 80, 82, 84, 86, 88, 90, 105, 103, 101, 99, 97, 95, 93, 92, 94, 96, 98, 100, 102, 104, 119, 117, 115, 113, 111, 109, 107, 106, 108, 110, 112, 114, 116, 118, 120
Offset: 0

Views

Author

R. J. Mathar, Dec 08 2010

Keywords

Comments

The natural arrangement of the indices n (radial index) and m (azimuthal index) of the Zernike polynomial Z(n,m) is a triangle with row index n, in each row m ranging from -n to n in steps of 2:
(0,0)
(1,-1) (1,1)
(2,-2) (2,0) (2,2)
(3,-3) (3,-1) (3,1) (3,3)
(4,-4) (4,-2) (4,0) (4,2) (4,4)
(5,-5) (5,-3) (5,-1) (5,1) (5,3) (5,5)
(6,-6) (6,-4) (6,-2) (6,0) (6,2) (6,4) (6,6)
(7,-7) (7,-5) (7,-3) (7,-1) (7,1) (7,3) (7,5) (7,7)
For uses in linear algebra related to beam optics, a standard scheme of assigning a single index j>=1 to each double-index (n,m) has become a de-facto standard, proposed by Noll. The triangle of the j at the equivalent positions reads
1,
3, 2,
5, 4, 6,
9, 7, 8,10,
15,13,11,12,14,
21,19,17,16,18,20,
27,25,23,22,24,26,28,
35,33,31,29,30,32,34,36,
which defines the OEIS entries. The rule of translation is that odd j are assigned to m<0, even j to m>0, and smaller j to smaller |m|.

Programs

  • Maple
    Noll := proc(n,m)
        n*(n+1)/2+abs(m) ;
        if m>=0 and modp(n,4) in {2,3} then
            %+1 ;
        elif m<=0 and modp(n,4) in {0,1} then
            %+1 ;
        else
            % ;
        end if;
    end proc:
    A176988 := proc(n,k)
        Noll(n,-n+2*k) ;
    end proc:
    seq(seq(A176988(n,k),k=0..n),n=0..10) ; # R. J. Mathar, Mar 27 2025
  • PARI
    A176988(n, k) = my(j=k+n*(n+1)/2, m=2*j-n*(n+2)); (n*(n+1)/2 + abs(m) + ((n%4<=1 && m<=0) || (n%4>1 && m>=0)) );
    row(n) = vector(n+1, k, A176988(n, k-1)); \\ Gerhard Ramsebner, Nov 10 2024

Formula

T(n,k) = n*(n+1)/2 + abs(m) + h where 0<=k<=n, j=k+n*(n+1)/2, m=2*j-n*(n+2) and h=1 if mod(n,4)<=1 and m<=0 or mod(n,4)>1 and m>=0 otherwise h=0. - Gerhard Ramsebner, Nov 10 2024