###################################################################### ## AMSrip.txt: Save this file as AMSrip.txt to use it, # # stay in the # ## same directory, get into Maple (by typing: maple ) # ## and then type: read `AMSrip.txt` # ## Then follow the instructions given there # ## # ## Written by Doron Zeilberger, Rutgers University , # ## DoronZeil at gmail dot com # ###################################################################### print(`First Written: Sept. 2022: tested for Maple 2020 `): print(`Version : Sept. 2022: `): print(): print(`This is AMSrip.txt, A Maple package`): print(`accompanying the article: `): print(`The Average AMS fellow who died before Aug. 2022 lived 83.36 years, published 98.53 papers, and was cited 2473.23 times`): print(`by Livia A. Stone and Doron Zeilberger, published in the Personal Journal of Shalosh B. Ekhad and Doron Zeilberger`): print(): print(`The most current version is available on WWW at:`): print(` http://sites.math.rutgers.edu/~zeilberg/tokhniot/AMSrip .`): print(`Please report all bugs to: DoronZeil at gmail dot com .`): print(): print(`For general help, and a list of the MAIN functions,`): print(` type "ezra();". For specific help type "ezra(procedure_name);" `): print(`For a list of the supporting functions type: ezra1();`): print(): ezra1:=proc() if args=NULL then print(`The SUPPORTING procedures are`): print(` AgeGF, CitGF, CorMat, JointGF, PubGF, Sort1, Stat `): else ezra(args): fi: end: ezra:=proc() if args=NULL then print(` AMSrip.txt: A Maple package for studying the longevity of deceased AMS Fellows, who died by Aug. 2022`): print(`The MAIN procedures are`): print(` DS, Paper, PaperA, PaperC, PaperP, StatA, StatC, StatP `): elif nargs=1 and args[1]=DS then print(`DS(): The list of length 146 containing all the date in the form [LastName, FirstName,YearOfBirth,YearOfDeath]. Try: `): print(`DS(); `): elif nargs=1 and args[1]=AgeGF then print(`AgeGF(S,t): Given a data set S finds the Age generating function.`): print(`Try: AgeGF(DS(),t);`): elif nargs=1 and args[1]=CitGF then print(`CitGF(S,t): Given a data set S finds the Number of Citations generating function.`): print(`Try: CitGF(DS(),t);`): elif nargs=1 and args[1]=CorMat then print(`CorMat(F,var): Given a genearting function in a list of variables var, finds the correlation matrix. Try:`): print(`CorMat((1+2*x)*(1+y)*(1+z),[x,y,z]);`): elif nargs=1 and args[1]=JointGF then print(`JointGF(S,a,p,c): Given a data set S finds the multi-variate generating function according to a^age*p^(number of publication)*c^(Number of citations)`): print(`Try: JointGF(DS(),a,p,c);`): elif nargs=1 and args[1]=Paper then print(`Paper(S), publishes a paper about the ages at death, number of publications, and number of citations of dead AMS fellows. Try:`): print(`Paper(DS()):`): elif nargs=1 and args[1]=PaperA then print(`PaperA(S), publishes a paper about the ages alone, with data set S. Try:`): print(`PaperA(DS()):`): elif nargs=1 and args[1]=PaperC then print(`PaperC(S), publishes a paper about the number of citations, with data set S. Try:`): print(`PaperC(DS()):`): elif nargs=1 and args[1]=PaperP then print(`PaperP(S), publishes a paper about the number of publications with data set S. Try:`): print(`PaperP(DS()):`): elif nargs=1 and args[1]=Sort1 then print(`Sort1(L,k): Given a list of lists L, sorts it according to the k-th component. Try:`): print(`Sort1([[1,4],[2,7],[3,1]]);`): elif nargs=1 and args[1]=Stat then print(`Stat(f,t,K): Given a generating function for a r.v. finds the statistical information: ave, s.d, and scaled moments about the mean up to K. Try:`): print(`Stat((1+t)^10000,t,4);`): elif nargs=1 and args[1]=StatA then print(`StatA(S,K): Given a data set finds the average, s.d., and all the scaled moments up to the K-th only about the age. Try:`): print(`StatA(DS(),4);`): elif nargs=1 and args[1]=StatC then print(`StatC(S,K): Given a data set finds the average, s.d., and all the scaled moments up to the K-th only about the number of citations. Try:`): print(`StatC(DS(),4);`): elif nargs=1 and args[1]=StatP then print(`StatP(S,K): Given a data set finds the average, s.d., and all the scaled moments up to the K-th only about the number of publications. Try:`): print(`StatP(DS(),4);`): elif nargs=1 and args[1]=PubGF then print(`PubGF(S,t): Given a data set S finds the Number of Publication generating function.`): print(`Try: PubGF(DS(),t);`): else print(`There is no such thing as`, args): fi: end: #[Last,First,Birth,Death, Pub, Cite] #[Zeilberger, Doron, 1950,0,229,2987] DS:=proc(): [ [Abhyankar, Shreeram,1930,2012,190,2111], [Adler, Roy, 1931,2016,47,1231], [Apostol, TomM, 1923,2016,87,2886], [Appel, KennethI, 1932, 2013,31,873], [Armentrout, Steve, 1930, 2020,37,145], [Askey, Richard, 1933, 2019,163,4802], [Atiyah, SirMichael, 1929, 2019,269, 12281], [Babbitt, Donald, 1936, 2020, 31,161], [Bade, William, 1924, 2012,35,426], [Baker, Alan, 1939, 2018,65,1596], [Barrett, LidaK, 1927,2021,5,2], [Baumslag, Gilbert, 1933, 2014,166,1937], [Benkart, Georgia, 1949, 2022,133,1692], [Berlekamp, Elwyn, 1940, 2019,70,1550], [Bishop, RichardL, 1931, 2019,49,1173], [Blattner, RobertJ, 1931, 2015,23,336], [Boardman, JMichael, 1938, 2021,26,781], [Borwein, JonathanMichael, 1951, 2016,453, 9810], [Bousfield, Aldridge, 1941, 2020,48,2563], [Browder, FelixE, 1927, 2016,200,4743], [Brown, EdgarH, 1926, 2021,58,586], [Burkholder, DonaldL, 1927, 2013,57,2165], [Bushnell, ColinJ, 1947, 2021,77,1624], [Cantor, David, 1935, 2012,45,451], [Chandrasekharan, Komaravolu, 1920, 2017,75,778], [Cheney, ElliottWardJr, 1929, 2016,105,1642], [Chernoff, Paul, 1942, 2017,42,658], [Chernov, Nikolai, 1956, 2014,111,1859], [Cochran, TimD, 1955, 2014,57,1265], [Cohen, FrederickR, 1946, 2022,136,1781], [Cohn, Harvey, 1923, 2014,118,664], [Comfort, WWistar, 1933, 2016,153,1746], [Conner, PierreEJr, 1932, 2018,71,1118], [Copeland, ArthurHerbert, 1926, 2019, 19,41], [Craig, Walter, 1953, 2019,84,2084], [CroninScanlon, Jane, 1922, 2018,66,206], [Demyanov, VladimirF, 1938, 2014,183,1309], [doCarmo, ManfredoP, 1928, 2018,110,3685], [Douglas, JimJr, 1927, 2016,180,5937], [Douglas, RonaldG, 1938, 2018,168,3732], [Dudley, RichardM, 1938, 2020,138,2776], [Duren, Peter, 1935, 2020,126,4490], [Dynkin, EugeneB, 1924, 2014,222,2851], [Earle, CliffordJohnJr, 1935, 2017,84,1507], [Edwards, HaroldM, 1936, 2020,46,542], [Effros, EdwardG, 1935, 2019,82,3484], [Ellis, Robert, 1926, 2013,41,978], [Fadell, Edward, 1926, 2018,59,1065], [Feferman, Solomon, 1928, 2016,29,1146], [Fife, Paul, 1930, 2014,118,3509], [Fraser, DonaldAS, 1925, 2020,182,400], [Getoor, RonaldK, 1929, 2017,106,1850], [Gitler, Samuel, 1933, 2014,67,560], [Golomb, Solomon, 1932, 2016,146,1497], [Goss, David, 1952, 2017,46,882], [Graham, Ronald, 1935, 2020,363,7500], [Gross, KennethI, 1938, 2017,34,181], [Gruber, PeterM, 1941, 2017,107,1867], [Grunbaum, Branko, 1929, 2018,271,3814], [Hajnal, András, 1931, 2016,164,2116], [Halberstam, Heini, 1926, 2014,81,1086], [Heins, MauriceH, 1915, 2015,93,401], [Hempel, John, 1935, 2022,31,1211], [Hörmander, Lars, 1931, 2012,159,15121], [Howard, Louis, 1929, 2015,42,275], [Igusa, Junichi, 1924, 2013,89,1610], [Jones, VaughanFR, 1952, 2020,117,3924], [Jonsson, Bjarni, 1920, 2016,90,1632], [Kadison, RichardV, 1925, 2018,105,3633], [Kahane, Jean-Pierre, 1926, 2017,288,2639], [Kalman, Rudolf, 1930, 2016,66,1826], [Katok, Anatole, 1944, 2018,122,6030], [Keller, JosephB, 1923, 2016,321,3655], [Kesten, Harry, 1931, 2016,193,4772], [Kister, JamesM, 1930, 2018,19,142], [Kostant, Bertram, 1928, 2017,114,4367], [Kuku, AderemiOluyomi, 1941, 2022,39,121], [Kunze, Ray, 1928, 2014,46,452], [Lacampagne, CaroleB, 1933, 2021,11,12], [Lanford, OscarEIII, 1940, 2013,50,734], #[Levy, Paul, 1941, 2016,], [Liggett, ThomasM, 1944, 2020,106,3918], [Lorch, Lee, 1915, 2014,86,272], [Luxemburg, Wilhelmus, 1929, 2018,111,1107], [Mahowald, Mark, 1931, 2013,164,1281], [Majda, AndrewJ, 1949, 2021,323,11987], [Mardešic, Sibe, 1927, 2016,159,1130], [Mattuck, ArthurP, 1930, 2021,17,152], [McLaughlin, JoyceR, 1939, 2017,61,914], [Michael, ErnestA, 1925, 2013,102,2845], [Mitchell, StephenA, 1951, 2017, 39,366], [Miura, RobertM, 1938, 2018,49,1370], [Moore, JohnC, 1923, 2016,37,1254], [Morawetz, CathleenSynge, 1923, 2017,82,1295], [Namioka, Isaac, 1928, 2019,57,1183], [Nash, JohnFJr, 1928, 2015,29,3185], [Nelson, Edward, 1932, 2014,64,2035], [Neveu, JacquesJeanPierre, 1932, 2016,74,1172], [Nevins, Thomas, 1972, 2020,24,173], [Nijenhuis, Albert, 1926, 2015,61,1054], [Nirenberg, Louis, 1925, 2020,175,17621], [Noll, Walter, 1925, 2017,59,1601], [Odell, Edward, 1947, 2013,92,1337], [Osborn, Howard, 1928, 2019,36,52], [Phelps, RobertR, 1926, 2013,71,2519], [Pless, Vera, 1931, 2020,101,2248], [Pollack, Richard, 1935, 2018,81,1658], [Rankin, SamuelMIII, 1945, 2020,25,145], [Roe, John, 1959, 2018,48,2116], [Rosenblatt, Murray, 1926, 2019,178,2128], [Rubin, Herman, 1926, 2018,99,498], [Rudin, MaryEllen, 1924, 2013,87,791], [Sally, PaulJJr, 1933, 2013,37,281], [Schafer, RichardD, 1918, 2014,46,712], [Seeley, RobertT, 1932, 2016,53,1510], [Sell, GeorgeR, 1937, 2015,132,4068], [Seshadri, ConjeeveramSrirangachari, 1932, 2020,69,1726], [Shapiro, VictorL, 1924, 2013,99,239], [Shapley, LloydStowell, 1923, 2016,70,4107], [Shepp, Lawrence, 1936, 2013,175,2137], [Sibner, LesleyM, 1934, 2013,29,157], [Sims, CharlesC, 1937, 2017,33,503], [Singer, IsadoreM, 1924, 2021,96,5215], [Sion, Maurice, 1927, 2018,39,525], [Smoller, JoelA, 1935, 2017,181,4096], [Steen, LynnArthur, 1941, 2015,18,341], [Stein, EliasM, 1931, 2018,237,27492], [Stone, CharlesJ, 1936, 2019,79,2604], [Strichartz, Robert, 1943, 2021,189,4633], [Tate, JohnT, 1925, 2019,95,5626], [Thomas, Robin, 1962, 2020,122,2898], [Tierney, Myles, 1937, 2017,23,428], [Traub, JosephF, 1932, 2015,78,1509], [Varadarajan, VeeravalliS, 1937, 2019,149,2336], [Vasquez, AlphonseT, 1938, 2021,27,133], [Veech, WilliamA, 1938, 2016,66,1891], [Walling, LynneH, 1958, 2021,40,101], [Walter, JohnH, 1927, 2021,27,214], [Weinberger, Hans, 1928, 2017,115,6664], [Weiss, Guido, 1928, 2021,114,8722], [Wente, Henry, 1936, 2020,34,526], [Widom, Harold, 1932, 2021,167,4066], [Wilkerson,ClarenceWJr, 1944, 2019,47,749], [Willems, JanC, 1939, 2013,186,2677], [Zelevinsky, AndreiV, 1953, 2013,113,8482], [Zucker, StevenM, 1949, 2019,55,756] ]: end: #Sort1(L,k): Given a list of lists L, sorts it according to the k-th component. Try: #Sort1([[1,4],[2,7],[3,1]]); Sort1:=proc(L,k) local L1,gu,gu1,T,i,L2,L3: L1:=sort([seq(L[i][k],i=1..nops(L))]): gu:=convert(L1,set): for gu1 in gu do T[gu1]:={}: od: for i from 1 to nops(L) do T[L[i][k]]:= T[L[i][k]] union {i}: od: gu:=sort(convert(gu,list)): L2:=[seq(op(T[gu[i]]),i=1..nops(gu))]: L3:=[seq(L[L2[i]],i=1..nops(L2))]: [seq(L3[nops(L3)+1-i],i=1..nops(L3))]: end: #AgeGF(S,t): Given a data set S finds the Age generating function. #Try: AgeGF(DS(),t); AgeGF:=proc(S,t) local i: add(t^(S[i][4]-S[i][3]),i=1..nops(S)): end: #CitGF(S,t): Given a data set S finds the Number of Publications generating function. #Try: PubGF(DS(),t); CitGF:=proc(S,t) local i: add(t^(S[i][6]),i=1..nops(S)): end: #PubGF(S,t): Given a data set S finds the Number of Publications generating function. #Try: PubGF(DS(),t); PubGF:=proc(S,t) local i: add(t^(S[i][5]),i=1..nops(S)): end: #StatA(S,K): Given a data set finds the average, s.d., and all the scaled moments up to the K-th of the age. Try: #StatA(DS(),4); StatA:=proc(S,K) local t: Stat(AgeGF(S,t),t,K): end: #StatC(S,K): Given a data set finds the average, s.d., and all the scaled moments up to the K-th of the number of citations. Try: #StatC(DS(),4); StatC:=proc(S,K) local t: Stat(CitGF(S,t),t,K): end: #StatP(S,K): Given a data set finds the average, s.d., and all the scaled moments up to the K-th of the number of publications. Try: #StatP(DS(),4); StatP:=proc(S,K) local t: Stat(PubGF(S,t),t,K): end: #Stat(F,t,K): Given a generating function F of t, for a r.v. finds the statistical information. Try: #Stat((1_t)^10000,4); Stat:=proc(F,t,K) local gu,mu,sd,k,f: f:=evalf(F/subs(t=1,F)): mu:=subs(t=1,diff(f,t)): gu:=[mu]: f:=f/t^mu: f:=t*diff(t*diff(f,t),t): sd:=sqrt(subs(t=1,f)): gu:=[op(gu),sd]: for k from 3 to K do f:=t*diff(f,t): gu:=[op(gu),subs(t=1,f)/sd^k]: od: gu: end: #PaperA(S), publishes a paper about the ages alone with data set S. Try: #PaperA(DS()): PaperA:=proc(S) local mu,k,f,t,i,lu,i1,T,j: print(`Statistical Analysis of Longevity of Fellows of the American Mathematical Sociecty who Died Before Aug. 2022`): print(``): print(`By Shalosh B. Ekhad, Livia A. Stone, and Doron Zeilberger `): print(``): print(nops(S), `AMS Fellows died between its inauguration in 2013 and Aug. 2022.`): print(``): print(`In this paper we statistically analyze their age at death. `): print(``): mu:=StatA(S,10): print(``): print(`The average age at death of an AMS Fellow who died before Aug. 2022 is `, mu[1]): print(``): print(`The standard deviation is`, mu[2] ): print(``): print(`The skewness is`, mu[3] ): print(``): print(`The kurtosis is`, mu[4] ): print(``): for k from 5 to 10 do print(`The scaled`, k, `moment is`, mu[k]): od: f:=sort(AgeGF(S,t)): print(``): print(`The age generating function, with the variable t is`): print(``): print(f): print(``): print(``): print(`and in Maple notation `): print(``): lprint(f): print(``): for i from 0 to degree(f,t) while add(coeff(f,t,i1),i1=0..i){} then print(`There were`, nops(T[i]), `fellows who died at the age of`, i): print(``): for i1 in T[i] do print(cat(S[i1][2], ` `, S[i1][1],` `, `( `,S[i1][3], "-", S[i1][4], `)`, ` `, S[i1][5], `;`, S[i1][6] )): od: print(``): fi: od: end: #PaperP(S), publishes a paper about the publications alone with data set S. Try: #PaperP(DS()): PaperP:=proc(S) local mu,t,f,i,i1,k,L: print(`Statistical Analysis of Number of Publications of Fellows of the American Mathematical Sociecty who Died Before Aug. 2022`): print(``): print(`By Shalosh B. Ekhad, Livia A. Stone, and Doron Zeilberger `): print(``): print(nops(S), `AMS Fellows died between its inauguration in 2013 and Aug. 2022.`): print(``): print(`In this paper we statistically analyze their number of publications listed at MathSciNet, viewed Sept. 2022 `): print(``): mu:=StatP(S,10): print(``): print(`The average number of publications is `, mu[1]): print(``): print(`The standard deviation is`, mu[2] ): print(``): print(`The skewness is`, mu[3] ): print(``): print(`The kurtosis is`, mu[4] ): print(``): for k from 5 to 10 do print(`The scaled`, k, `moment is`, mu[k]): od: f:=sort(PubGF(S,t)): print(``): print(`The Number of Publication generating function, with the variable t is`): print(``): print(f): print(``): print(``): print(`and in Maple notation `): print(``): lprint(f): print(``): for i from 0 to degree(f,t) while add(coeff(f,t,i1),i1=0..i){} then print(`There were`, nops(T[i]), `fellows who died at the age of`, i): print(``): for i1 in T[i] do print(cat(S[i1][2], ` `, S[i1][1],` `, `( `,S[i1][3], "-", S[i1][4], `)`, ` `, S[i1][5], `;`, S[i1][6] )): od: print(``): fi: od: end: #PaperP1(S), publishes a paper about the publications alone with data set S. Try: #PaperP1(DS()): PaperP1:=proc(S) local mu,t,f,i,i1,k,L: print(`Statistical Analysis of Number of Publications of Fellows of the American Mathematical Sociecty who Died Before Aug. 2022`): print(``): print(nops(S), `AMS Fellows died between its inauguration in 2013 and Aug. 2022.`): print(``): print(`In this chapter we statistically analyze their number of publications listed at MathSciNet, viewed Sept. 2022 `): print(``): mu:=StatP(S,10): print(``): print(`The average number of publications is `, mu[1]): print(``): print(`The standard deviation is`, mu[2] ): print(``): print(`The skewness is`, mu[3] ): print(``): print(`The kurtosis is`, mu[4] ): print(``): for k from 5 to 10 do print(`The scaled`, k, `moment is`, mu[k]): od: f:=sort(PubGF(S,t)): print(``): print(`The Number of Publication generating function, with the variable t is`): print(``): print(f): print(``): print(``): print(`and in Maple notation `): print(``): lprint(f): print(``): for i from 0 to degree(f,t) while add(coeff(f,t,i1),i1=0..i)