22// ////////////////////////////////////////////////////////////////////////
33//
44// Copyright 1990-2023 John Cremona
5- //
5+ //
66// This file is part of the eclib package.
7- //
7+ //
88// eclib is free software; you can redistribute it and/or modify it
99// under the terms of the GNU General Public License as published by the
1010// Free Software Foundation; either version 2 of the License, or (at your
1111// option) any later version.
12- //
12+ //
1313// eclib is distributed in the hope that it will be useful, but WITHOUT
1414// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1515// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1616// for more details.
17- //
17+ //
1818// You should have received a copy of the GNU General Public License
1919// along with eclib; if not, write to the Free Software Foundation,
2020// Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21- //
21+ //
2222// ////////////////////////////////////////////////////////////////////////
2323
2424#ifndef _ECLIB_NEWFORMS_H
@@ -48,9 +48,9 @@ Items 1-18 are "int" while the ap and aq are "short"
48489. lminus : prime =3 (mod 4) with L(f,lminus,1) nonzero
494910. mminus : L(f,lminus,1)*sqrt(-l)=mminus*yi
505011-14. a, b, c, d : entries of a matrix M=[a,b;N*c,d] in Gamma_0(N) s.t.
51- 15. dotplus : the integral of f over {0,M(0)} is
51+ 15. dotplus : the integral of f over {0,M(0)} is
525216. dotminus : dotplus*x+dotminus*yi
53- 17. type : type 1 if period lattice = [2x,x+yi], type 2 if [x,yi]
53+ 17. type : type 1 if period lattice = [2x,x+yi], type 2 if [x,yi]
545418. degphi : degree of modular parametrization
5555aq : list of Wq-eigenvalues at bad primes
5656ap : list of Tp- & Wq-eigenvalues at all primes
@@ -62,14 +62,14 @@ class newform {
6262 newforms *nf; // the "parent"
6363 int sign; // 1/-1 for old-style newform, 0 for old-style h1newform
6464 vec bplus,bminus; // DUAL eigenvectors
65- scalar type; // 2 for rectangular, 1 for triangular
65+ scalar type; // 2 for rectangular, 1 for triangular
6666 // period lattice
6767 long index; // splitting index, -1 if not known
68- vector<long > aplist, aqlist;
68+ vector<long > aplist, aqlist;
6969 long ap0; // Eigenvalue of first "good" p
7070 long sfe; // sign of functional equation
7171 long cuspidalfactorplus, cuspidalfactorminus; // pdot =cuspidalfactor*np0
72- long pdot,np0,dp0; // np0=1+p0-ap0, pdot = maninvector(p0).bplus,
72+ long pdot,np0,dp0; // np0=1+p0-ap0, pdot = maninvector(p0).bplus,
7373 // = cuspidalfactor*dp0
7474
7575 rational loverp; // L(f,1)/x where x = least real part of a period
@@ -154,23 +154,23 @@ class newforms :public level, splitter_base {
154154 int verbose; long maxdepth, cuspidal, sign;
155155 int basisflag; // is set, then use() only sets bases for newforms
156156 // already defined.
157- mat opmat (int i, int d, int v=0 )
157+ mat opmat (int i, int d, int v=0 )
158158 {return h1->opmat (i,d,v);}
159159 vec opmat_col (int i, int j, int v=0 )
160160 {return h1->opmat_col (i,j,v);}
161161 mat opmat_cols (int i, const vec& jlist, int v=0 )
162162 {return h1->opmat_cols (i,jlist,v);}
163- mat opmat_restricted (int i, const subspace& s, int d, int v=0 )
163+ mat opmat_restricted (int i, const subspace& s, int d, int v=0 )
164164 {return h1->opmat_restricted (i,s,d,v);}
165- smat s_opmat (int i, int d, int v=0 )
165+ smat s_opmat (int i, int d, int v=0 )
166166 {return h1->s_opmat (i,d,v);}
167167 svec s_opmat_col (int i, int j, int v=0 )
168168 {return h1->s_opmat_col (i,j,v);}
169169 smat s_opmat_cols (int i, const vec& jlist, int v=0 )
170170 {return h1->s_opmat_cols (i,jlist,v);}
171- smat s_opmat_restricted (int i, const ssubspace& s, int d, int v=0 )
171+ smat s_opmat_restricted (int i, const ssubspace& s, int d, int v=0 )
172172 {return h1->s_opmat_restricted (i,s,d,v);}
173- long matdim (void ) {return h1->dimension ;}
173+ long matdim (void ) {return h1->dimension ;}
174174 long matden (void ) {return h1->denom1 ;}
175175 vector<long > eigrange (int i) {return h1->eigrange (i);}
176176 long dimoldpart (const vector<long > l);
@@ -185,7 +185,7 @@ class newforms :public level, splitter_base {
185185 long n1ds, j1ds;
186186 vector<newform> nflist;
187187 vector<int > nf_subset;
188- newforms (long n, int disp)
188+ newforms (long n, int disp)
189189 :level(n), verbose(disp), of(0 ), h1(0 ), h1plus(0 ), h1minus(0 ), h1full(0 ) {;}
190190 ~newforms (void );
191191 void display (void ) const ;
@@ -195,7 +195,7 @@ class newforms :public level, splitter_base {
195195 int get_sign () {return sign;}
196196 void makeh1 (int s);
197197// add newform with basis b1, eiglist l to current list (b2 not used):
198- void use (const vec& b1, const vec& b2, const vector<long > l);
198+ void use (const vec& b1, const vec& b2, const vector<long > l);
199199
200200 // find newforms using homology; ntp is number of eigenvalues to use
201201 // for oldforms, *not* the number computed via homology (use addap()
0 commit comments