More Tips on Book and Thesis Writing

Following my earlier post Top Five Tips on Book Writing, here are seven more tips. These apply equally well to writing a thesis.

090826-0010-22-7268.jpg

Book sculpture at Fudan University, Shanghai.

1. Signpost Citations

In academic writing we inevitably include a fair number of citations to entries in the bibliography. In a book, even more so than in a paper, we do not want the reader to have to turn to the bibliography every time a citation is reached in order to understand what is being cited. So a sentence such as

The matrix logarithm appears in a wide variety of applications
[2], [8], [14].

is better phrased as the more informative

The matrix logarithm appears in a wide variety of applications,
such as reduced-order models [2], image registration [8],
and computer animations [14].

Likewise, instead of

Versions of the algorithm have been developed by several authors
[1], [3], [7].

I would write

Versions of the algorithm have been developed by Chester [1], 
Hughes [3, Sec. 2], and Smith and Jones [7].

Even that example lacks information about the date of publication. In my books I have used my own version of the \LaTeX \cite macro that allows me to include the year:

Versions of the algorithm have been developed by Baker and
Chester [1, 2006], Hughes [3, 2001, Sec. 2], 
and Smith and Jones [7, 2004].

The macro is

\def\ycite[#1#2#3#4#5]#6{\cite[$\mit{#1#2#3#4}$#5]{#6}}

(which puts the year in the distinctive math italic font) and the first two citations in the previous sentence would be typed as \ycite[2006]{bach06} and \ycite[2001, Sec.~2]{hugh01}.

2. Produce a Good Index

A good index is essential, since it is the main way that readers can find content. The vast majority of books that I read have an inadequate index, as I have noted in my post A Call for Better Indexes at SIAM Blogs. Usually the index is too small. Occasionally the index is of about right length but is flawed. The main problems are

  • Items that should be indexed are absent from the index.
  • An index entry does not point to all (significant) occurrences of the term.
  • Related entries are not grouped properly.

Advice on producing an index can be found in Section 13.4 of my Handbook of Writing for the Mathematical Sciences and various other sources (try a Google search), and I intend to wrote a post on indexing soon.

\LaTeX, through its \index command, used in conjunction with the MakeIndex program, provides an excellent way to produce an index.

3. Use the Backref \LaTeX package

Backref.sty is a \LaTeX package that adds to each bibliography entry the text “cited on pages” and then lists the pages on which that item was cited. It costs nothing to use it, but it adds great value to the bibliography, which then functions as a separate index into the book. I started using backref with my book MATLAB Guide (2005). To a large extent it removes the need for an author index, and if I do a third edition of Accuracy and Stability of Numerical Algorithms I will probably use backref and drop the author index.

The backref package is not widely used, though a number of SIAM books have made use of it.

4. Use Hyperlinks

For a book provided in PDF form, hyperlinks from an equation reference to the equation, a citation to the bibliography entry, a URL to the web page, and so on, are a great aid to the reader. In \LaTeX obtaining the hyperlinks is usually just a matter of adding \usepackage{hyperref} in the pre-amble.

5. Make Figures Readable and Consistent

It’s very easy nowadays to produce figures containing plots of functions or computational results. But it’s much harder to produce a set of figures that

  • are clearly legible,
  • have labels, legends, and annotations that are of similar size to the main text,
  • are consistent in format (axes, line thicknesses etc.)

All too often I see figures in which the text is so small that I cannot read it at a normal reading distance. My experience (which is mainly with MATLAB, and with the \LaTeX packages TikZ and PGFplots) is that it is a time-consuming process to produce high quality plots. But it is worth the effort.

6. Use Short Captions in the List of Figures/Tables

The general form of the \LaTeX caption command is \caption[short caption]{long caption}. The short caption is what is printed in the List of Figures or List of Tables at the front of the book, if you are printing those lists. The short caption will be read in isolation from the figure or table so it should omit all unnecessary detail, such as explaining line or marker types. All too often, the short and long captions are the same, resulting in unnecessarily long and detailed lists of figures or tables.

Here is an example (simplified, with other macros removed) of the caption from a figure in my book Functions of Matrices:

\caption[Illustration of condition (b) of Theorem~11.4.]%
        {Illustration of condition (b) of Theorem~11.4,
         which requires every eigenvalue of $B$ to lie in the
         open half-plane (shaded) of the corresponding eigenvalue
         of $A^{1/2}$.}

7. Make the Header Contain the Section and Chapter Number and Title

I like to know where I am when I am reading a book, so I expect the page headers to tell me the section number and chapter number, and preferably their titles as well. I cannot understand why some books omit this information. Without it, phrases such as “as discussed in the previous chapter” become harder to follow up, and searching for a particular section is more difficult.

Posted in books, LaTeX, writing | Leave a comment

Emacs and Org Mode: What People are Saying

For a couple of years I’ve been collecting tweets about Emacs and Org mode. With the Twitter app’s new ability to provide code to embed tweets I decided to create a post listing the collection. If you are not an existing user of Emacs or Org mode these tweets should give you a feel for whether you might want to explore further. If you are already a convert then many of the sentiments expressed here will be familiar. Note that the links and hashtags below are clickable. (Like all of this Blog, this post was written in Org mode.)

Posted in Emacs | Tagged | Leave a comment

Hans Schneider (1927–2014)

I first met Hans in 1984 at the Gatlinburg meeting IX in Waterloo, Canada, at which time I was a PhD student. When I discussed my work on matrix square roots with him he recalled a 1966 paper by Culver “On the Existence and Uniqueness of the Real Logarithm of a Matrix”, of which I was unaware. By the time I returned to Manchester, after visiting Stanford for a few weeks, a copy of the paper was waiting for me, with an explanation of how the results of that paper could be adapted to analyze real square roots of a real matrix.

As chair of the 2002 Householder symposium XV in Peebles, Scotland, I was delighted to invite Hans to deliver the after-dinner speech. (The Gatlinburg meeting was renamed the Householder symposium in 1990, in honour of Alston Householder, who organized the early meetings.) Having Hans speak was particularly appropriate as he had studied at the nearby University of Edinburgh. I believe this was the last Householder Symposium that Hans attended.

I kept a copy of my introduction of Hans at the banquet. It seems appropriate to reproduce it here.

Ladies and gentlemen, our after-dinner speaker this evening is Hans Schneider, who is James Joseph Sylvester Emeritus Professor of Mathematics at the University of Wisconsin.

There’s an old definition that an intellectual is somebody who can hear the William Tell overture and not think of the Lone Ranger. I don’t think there are many people who can hear the term “linear algebra and its applications” and not think of Hans Schneider. After all, Hans has been Editor-in-Chief of the journal of that name since 1972, and developed it into a major mathematics journal. Hans was also instrumental in the foundation of the International Linear Algebra Society, of which he served as President from 1987 to 1996.

Some of you may be surprised to know that Hans has a strong connection with Scotland. He studied here and received his Ph.D. at Edinburgh University in 1952 under the famous Alexander Craig Aitken. I understand that Aitken gave him two words of advice: “Read Frobenius!”.

Well, it’s a real pleasure to introduce Hans and to ask him to speak on “The Debt Linear Algebra Owes Helmut Wielandt”.

The reference to Frobenius is apposite, given my original conversation with Hans since, as I have only recently discovered, Frobenius gave one of the earliest proofs of the existence of matrix square roots in 1896. That result, and much more about Frobenius’s wide range of contributions to mathematics is discussed in a 2013 book by Thomas Hawkins, The Mathematics of Frobenius in Context. A Journey Through 18th to 20th Century Mathematics (of which my copy has the rare error of having the odd pages on the left, rather than the right, of each two-page spread).

The photo below was taken during Hans’s after-dinner speech (more photos from the meeting are available in this gallery).

020619-2159-45.jpg

Links:

Posted in people | Tagged , | 1 Comment

Top Five Tips on Book Writing

Snoopy writing

I’ve written four books, and am currently writing and editing a fifth (The Princeton Companion to Applied Mathematics). I am also an editor of two SIAM book series and chair the SIAM Book Committee. Based on this experience here are my top five tips about writing an (academic) book. These cover high level issues. In a subsequent post I will give some more specific tips relating to writing and typesetting a book or thesis.

1. Identify Your Audience

Book publishers ask prospective authors to complete a proposal form, one part of which asks who is the audience for the book. This is a crucial question that should be answered before a book is written, as the answer will influence the book in many ways.

As an example, you might be contemplating writing a book about the numerical solution of a certain class of equations and intend to include computer code. Your audience might be

  • readers in mathematics or a related subject who wish to learn about numerical methods for solving the equations and are most concerned with the theory or algorithms,
  • readers whose primary interest is in solving the equations and who wish to have lots of sample code that they can run,
  • readers in the previous class who also need to learn the language in which the examples are written.

The choice of content, and how the book is presented, will depend very much on which audience you are writing for.

2. Revise, Revise, Revise

Just like a paper, a book draft needs to go through multiple revisions, and you must not be afraid to make major changes at any stage. You may receive constructive criticisms from reviewers of your book proposal, but reviewers may not have time to read the complete manuscript carefully and you should not assume that they have found all errors, typos, and areas for improvement.

3. Take Time to Choose Your Publisher

Given the huge effort that goes into writing a book you should take the time to find the right publisher. Discuss your book with several publishers and compare what they can offer in the way of

  • format (hardback, paperback, electronic) and, if more than one format, the timescale in which each is made available,
  • if the publisher has branches in more than one country, how price and publication schedule will differ between the countries,
  • whether you are allowed to make a PDF version of the book freely available on your website, if this interests you,
  • willingness to allow you to choose the book design (page size, font, cover, etc.),
  • use of colour (which increases the cost),
  • royalties (including a possible advance),
  • pricing,
  • the publisher’s policy on translations,
  • copy editing (see the next section),
  • time from delivering a completed manuscript to publication,
  • marketing (will the book be advertised at all, and if so how?), and
  • how long your book is guaranteed to stay in print.

It is perfectly acceptable to submit a proposal to several publishers and see what they are willing to offer. However, it is only fair and proper to make clear to a publisher that you are talking to other publishers and, once you have set the wheels of a publisher’s review process in motion, to wait for an offer before making a decision to go with another publisher.

I am always surprised when I hear of authors who approach only one publisher, or who go with the first publisher to express an interest in the book. As in many contexts, it is best to make an informed choice from among the available options.

4. Ensure Your Book is Copy Edited

If you are an inexperienced writer, or your first language is not English, the benefits of copy editing are obvious. But even an experienced author finds it virtually impossible to think about all the little details that a copy editor will check for, such as correctness and consistency of spelling, notation, punctuation (notably the serial comma), citations, and references. For example, I sometimes mix US and UK spellings and don’t want to have to worry about finding and correcting my occasional lapses. A good copy editor will also suggest minor improvements of the text that might escape even the best writers.

Unfortunately, not all publishers copy edit all books nowadays. Notable exceptions that always do copy edit (and, as I know from experience, work to the highest standards in every respect) are Princeton University Press and SIAM.

If your publisher has a Style Manual it obviously makes sense to follow its guidelines in order to minimize changes at the copy editing stage. Here is a link to the SIAM Style Manual.

5. Think Twice Before Co-Authoring a Book

It might seem an attractive proposition to share authorship of a book: surely having n co-authors reduces the work by a factor 1/n? Unfortunately it often does not work out like that, despite best intentions. In fact, n co-authors can easily take n times as long to write a book as any one of them would. One of the biggest difficulties is timescale: one author may be willing and able to finish a book in a year but another may need twice that period to make their contribution. Indeed it is rare for the co-authors to be matched in the amount of effort they can put into the book; this is clearly problematic if initial expectations are not realized. Other potential problems are potentially differing opinions on content, notation, level, length, and almost anything else associated with a book.

Successful authorship teams often have a track record of co-authoring papers together. Although it is no guarantee that a much larger book project will run smoothly, experience with writing papers together will at least have given a good indication of where disagreements are likely to lie.

Posted in books, writing | Tagged , | 1 Comment

The Spotlight Factor

In my Handbook of Writing for the Mathematical Sciences I described the spotlight factor, originally introduced by Tompa in 1989. The spotlight factor is defined for the first author of a paper in which there are n authors listed alphabetically, and it is assumed that the paper is from a community where it is the custom to order authors alphabetically.

The spotlight factor is the probability that if n-1 coauthors are chosen independently at random they will all have surnames later in the alphabet than the first author. This definition is not precise, since it is not clear what is the sample space of all possible names, so it is better to regard the spotlight factor as being defined by the formula given by Tompa, which is implemented in the MATLAB function below.

The smallest spotlight factor I have found is the value 0.0244 for Zielinski, for the paper

Pawel Zielinski and Krystyna Zietak, The Polar Decomposition—Properties, Applications and Algorithms, Applied Mathematics, Ann. Pol. Math. Soc. 38, 23-49, 1995

This beats the best factor of 0.0251 reported by Tompa in a 1990 follow-up paper.

Can you do better?

Here is a MATLAB M-file to compute the spotlight factor, preceded by an example of its usage:

>> spotlight('zielinski',1)
ans =
   2.4414e-02
function s = spotlight(x, k)
%SPOTLIGHT   Tompa's spotlight factor of authorship.
%   SPOTLIGHT(X, K) is the spotlight factor for the author whose 
%   last name is specified in the string X, with K coauthors.
%   Mixed upper and lower case can be used.
%   Smaller spotlight factors correspond to rarer events.

%   Reference:
%   Martin Tompa, Figures of Merit, SIGACT News 20 (1), 62-71, 1989

if ~ischar(x), error('First argument must be a string.'), end
if nargin < 2, error('Must give two arguments.'), end

x = double(upper(x)) - double('A') + 1;
x( find(x < 0 | x > 26) ) = 0;  % Handle punctuation and spaces.

s = 0;

% Ideally use Horner's rule, but the following is clearer.

for i=1:length(x)
    t = x(i);
    s = s + t/27^i;
end

s = (1 - s)^k;
Posted in writing | Tagged | 3 Comments

The Life of James Joseph Sylvester

Following my previous post about the James Joseph Sylvester Bicentenary and my article Sylvester’s Influence on Applied Mathematics I now give a brief, very selective, overview of Sylvester’s life. Some of this material was used in an after-dinner speech that I gave at the Householder Symposium XIX on Numerical Linear Algebra at Spa, Belgium on June 11, 2014.

sylvester-medal-front.jpg

The Sylvester Medal of the Royal Society.

I’ve drawn on many sources for this post, but the most important is the 2006 biography by Karen Parshall, James Joseph Sylvester. Jewish Mathematician in a Victorian World. That title brings out two key points: that Sylvester was Jewish, which hindered his career, as we will see, and that he lived much of his life in Victorian England, when almost everything that today we take for granted when doing our research did not exist.

Thumbnail Sketch of The Man

Sylvester was born in London in 1814. He was short, mercurial, absent-minded, temperamental, fluent in French, German, Italian, Latin and Greek, and loved poetry but was not very good at it. He was a man of remarkable tenacity, as his career on both sides of the Atlantic shows.

Career Outline

I’ll give a brief outline of Sylvester’s unusual career, with its many ups and downs, then go on to discuss some specific events in his life.

First Spell in UK

  • Sylvester was a student at University College London (UCL) under De Morgan, age 14. He was withdrawn by his family after attempting to stab a fellow pupil.
  • He was a student at Cambridge, but was not able to take the degree because he was Jewish.
  • He held the chair of natural philosophy at University College London (UCL) for three years.

First Sojourn in USA

Sylvester became Professor of Mathematics at the University of Virginia in 1841. He left after four months after an altercation with an unruly student, because he was felt that the faculty did not back him up in a subsequent inquiry.

While in New York he applied for a position at Columbia University. According to R. L. Cooke (quoted in James Joseph Sylvester. Life and Work in Letters)

After leaving Virginia he sought a position at Columbia University, with a recommendation from one of America’s leading scientists, Joseph Henry. In a wonderful irony … the selection committee informed him that his rejection was in no way connected with the fact that he was British, only the fact that he was Jewish.

Rest of Career (age 29–).

  • Sylvester Worked for the next decade as an actuary for the Equity and Law Life Assurance Society in London and trained for the Bar. He founded the Institute of Actuaries. This is when he met Cayley, who became his best friend. For this ten-year period he was doing mathematics in his spare time.
  • He was appointed Chair at the Royal Military Academy, Woolwich and spent 15 years there.
  • He was appointed Chair at the newly founded Johns Hopkins University, Baltimore, at the age of 61. He negotiated a salary of $5000 payable in gold, plus an annual housing allowance of $1000 also payable in gold.
  • His final position was as the Savilian Professor of Geometry at New College, Oxford in 1883, which he took up at the age of 69.

The Neologist

Sylvester introduced many terms that are still in use today, including matrix (1850), canonical form (1851), Hessian (1851), and Jacobian (1852). Another notable example is the term latent root, which Sylvester introduced in 1883, with two charming similes:

“It will be convenient to introduce here a notion (which plays a conspicuous part in my new theory of multiple algebra), namely that of the latent roots of a matrix—latent in a somewhat similar sense as vapour may be said to be latent in water or smoke in a tobacco-leaf.”

The term has fallen out of use in linear algebra and matrix theory, but it can still be found in use through “the latent root criterion” in, for example (to pick two articles found with a Google search) Differentiating with brand personality in economy hotel segment in Journal of Vacation Marketing (2014) and GHOSTS: A travel barrier to tourism recovery in Annals of tourism research (2011).

Editor

Sylvester did a great deal of editorial work. He was an editor of the Quarterly Journal of Mathematics for 23 years. He founded the American Journal of Mathematics in 1878 when he was at Johns Hopkins University. This was the first mathematics research journal in the USA, and indeed Sylvester set up the first mathematics research department in the country. As Editor-in-Chief he experienced some of the problems that subsequent journal editors have suffered from.

  • He had to work very hard to secure high quality contributions, e.g., from his friend Cayley and from students and colleagues at Johns Hopkins, in addition to his own papers.
  • He solicited Alfred Kempe’s proof of the four color theorem. After Sylvester had accepted the paper his managing editor, William Story, realized there was a gap in the reasoning, due to overlooked cases, and wrote a note the accompany the paper in which he unsuccessfully tried to patch the proof. This all happened while Sylvester was in England and he was very unhappy with the incident.

Author

Even though Sylvester was an editor himself, he was also the author from hell! He was notorious for what his biographer Parshall calls “an impatience with bibliographic research”—something that led him into disputes with other mathematicians.

MacFarlane states that

Sylvester never wrote a paper without foot-notes, appendices, supplements; and the alterations and corrections in his proofs were such that the printers found their task well-nigh impossible. … Sylvester read only what had an immediate bearing on his own researches, and did little, if any, work as a referee.

The title of one particular paper illustrates this point:

J. J. Sylvester, Explanation of the Coincidence of a Theorem Given by Mr
Sylvester in the December Number of This Journal, With One Stated by
Professor Donkin in the June Number of the Same, Philosophical Magazine
(Fourth Series) 1, 44-46, 1851

Secular Equation Paper

Out of Sylvester’s hundreds of papers, one in particular stands out as notable to me: “On the Equation to the Secular Inequalities in the Planetary Theory”, Philosophical Magazine 16, 267-269, 1883, for the following reasons.

  • The title has virtually nothing to do with the paper.
  • This is the paper in which Sylvester defines the term latent roots—but as if a totally new concept, even though the concept of matrix eigenvalue was already known.
  • He states a theorem about a sum of products of latent roots of a product AB being expressible in terms of sums of products of minors of A and B.
  • He gives the first general definition of function of a matrix (later refined by Buchheim).
  • He discusses the special case of pth roots.

The paper is short (3 pages), no proper introduction is given to these concepts, and no proofs are given. In short, a brilliant but infuriating paper!

Baltimore Summer

In these days of ubiquitous air conditioning it is interesting to note one of the things that made it difficult for Sylvester to do research. Parshall writes, of Sylvester in Baltimore,

“He could not concentrate on his research on matrices in the debilitating summer heat and humidity”.

Teaching

Sylvester’s enthusiasm for matrices is illustrated by his attempt to teach the theory of substitutions out of a new book by Netto. Sylvester

“lectured about three times, following the text closely and stopping sharp at the end of the hour. Then he began to think about matrices again. `I must give one lecture a week on those,’ he said. He could not confine himself to the hour, nor to the one lecture a week. Two weeks were passed, and Netto was forgotten entirely and never mentioned again.” (Parshall, p. 271, quoting Ellery W. Davis).

Compare this with the following quote about E. T. Bell (famous for his book Men of Mathematics, 1937), from Constance Reid’s book about Bell:

Bell’s method of teaching was to read a sentence aloud and announce that he didn’t believe it. `By the time we students convinced him that it was true,’ concedes Highberg, `we pretty well understood it ourselves.’

Inaugural Lecture at Oxford, 12 December 1885

There are many ways in which we are more fortunate today than mathematicians of Sylvester’s time. But there were some advantages to those times. From his inaugural lecture, published as On the Method of Reciprocants as Containing an Exhaustive Theory of the Singularities of Curves (Nature, 1886)

It is now two years and seven days since a message by the Atlantic cable containing the single word “elected” reached me in Baltimore informing me that I had been appointed Savilian Professor of Geometry in Oxford, so that for three weeks I was in the unique position of filling the post and drawing the pay of Professor of Mathematics in each of two Universities:

Obstinacy

Emile Picard recounted how Sylvester, on a visit to Paris, asked him if in six weeks he could learn the theory of elliptic functions. Picard said yes, so Sylvester asked if a young geometer could be assigned to give him lessons several times per week. This began, but from the second lesson reciprocants and matrices started to compete with elliptic functions and in the ensuing several lessons Sylvester taught the young geometer about his latest research and they remained on that topic.

What Can We Learn from Sylvester’s Life?

If I had to draw two pieces of advice from Sylvester’s life story I would choose the following.

  • You are never too old to take on a major challenge (he took up the chair at Johns Hopkins University at the age of 61).
  • If you want to be remembered, define some new terms and have some theorems named after you!
Posted in people | Tagged | Leave a comment

Typewriter Art

In 1981 my mother showed me a magazine (Woman’s Realm) that had instructions for producing on a typewriter a portrait of Prince Charles. The instructions had been designed by Bob Neill, who had worked out how represent a photograph of Prince Charles as a 100-by-79 grid of characters, choosing the density of each character appropriately and exploiting the facility of a typewriter to issue a carriage return without line feed and thereby overwrite one character with another. The instructions looked like

(6) 26G 16@ 1& 36G
(6a) 22sp 2. 1: 95 1& 15 1& 3S 2& 3: 1.

which say that on the 6th line you should type the letter G 26 times followed by 16 @ symbols, etc., then overwrite the line with 22 spaces, 2 full stops, etc.

prince-charles-portrait.jpg

This is an example of ASCII art, though ASCII art does not usually involve overwriting characters.

At the time I had a Commodore Pet microcomputer and it struck me that the painstaking process of typing the image would be better turned into a computer program. Once written and debugged the program could be used to print multiple copies of the image. By switching the data set the program could be used to print other photos. So I wrote a program in Commodore Basic that printed the image to a Commodore 4022 dot matrix printer.

I sent the program to Bob. He liked it and printed the program in an appendix to his 1982 book Bob Neill’s Book of Typewriter Art (With Special Computer Programme). That book contains instructions for typing 20 different images, including other members of the royal family, Elvis Presley and Telly Savalas (the actor who played Kojak in the TV series of the same name, which was popular at the time), and various animals,. Bob Neill’s Second Book of Typewriter Art was published in 1984, which reprinted my original program. It included further celebrities such as Adam Ant, Benny from Crossroads, “J.R.” from Dallas and Barry Manilow

I recently came across some articles describing Bob’s work, including one by his daughter, Barbara, one by Lori Emerson that includes a PDF scan of the first book, and an article The Lost Ancestors of ASCII Art. The latter pointed me to a recently published book Typewriter Art: A Modern Anthology. This resurgence of interest in typewriter art prompted me to look again at my code.

I had revisited my original 1982 Basic code later in the 1980s, converting it to GW-Basic so it would run on IBM PCs with Epson printers. I had also added the data for The Tabby Cat from Bob’s second book. Here is an extract from the code, complete with GOTOs and GOSUBs (GW-Basic had few structured programming features).

10 REM TYPEART.BAS
20 REM Program by Nick Higham 1982 (Commodore Basic),
30 REM and 1988 (GW-Basic/Turbo Basic).  (c) N.J. Higham 1982, 1988.
40 REM Designs by Bob Neill.  (c) A.R. Neill 1982, 1984.
...
530 REM -----------------------------
540 REM ROUTINE TO PRINT OUT DATABASE
550 REM -----------------------------
560 DEV$ = "LPT"+PP$+":"
570 OPEN DEV$ FOR  OUTPUT AS #1
580 PRINT #1, RESET.CODE$
590 WIDTH #1,255 ' this stops basic inserting unwanted carriage returns
600 GOSUB  800
610 L$=""
620 GOSUB 700:IF A$="/" THEN PRINT#1, NORMAL.LFEED$+L$: GOTO 610
630 IF A$="-" THEN PRINT#1, ZERO.LFEED$;L$: GOTO 610
640 A=ASC(A$):IF A>47 AND A<58 THEN A=A-48: GOTO 660
650 L$=L$+A$: GOTO 620
660 GOSUB 700:B=ASC(A$):IF B>47 AND B<58 THEN A=10*A+B-48: GOSUB 700
670 FOR I=1 TO A:L$=L$+A$:NEXT: GOTO 620
680 '
690 REM -- SUBROUTINE TO TAKE NEXT CHARACTER FROM Z$
700 A$=MID$(Z$,P,1):P=P+1: IF A$<>" "  AND A$<>"" THEN 730
710 IF P>Z THEN GOSUB 800
720 GOTO 700
730 IF A$="]" THEN A$=" "
740 IF A$="#" THEN A$=CHR$(34)
750 IF A$="^" THEN A$=":"
760 IF P>Z THEN GOSUB 800
770 RETURN
780 '
790 REM -- SUBROUTINE TO READ NEXT LUMP OF DATA
800 READ Z$:Z=LEN(Z$):P=1
810 IF Z$="PAUSE" THEN  FOR D=1 TO 20000:NEXT: GOTO 800
820 IF Z$="FINISH" THEN PRINT #1, CHR$(12)+RESET.CODE$: CLOSE #1:END
830 RETURN
840 '
850 REM -------------------------------------
860 REM * DATABASE1 - H.R.H. PRINCE CHARLES *
870 REM -------------------------------------
880 '
890 DATA "H.R.H. Prince Charles"
900 DATA  79G/79G/79G/79G
910 DATA  /79G-25]2.2^2&^L2^2&3^2.
920 DATA /26G16@&36G-22]2.^9]&S&3S2&3^.
930 DATA /22G23@34G-20].^10&]3&^6Y2C&^.
...
4710 '
4720 REM -- EXPLANATION OF DATA --
4730 REM / MEANS NEWLINE
4740 REM - MEANS CONTINUATION LINE
4750 REM 29G MEANS PRINT 29 LETTER G'S.
4760 REM @ MEANS PRINT ONE @ CHARACTER.
4770 REM CHARACTERS : " AND 'SPACE'
4780 REM ARE REPRESENTED BY ^ # AND ]
4790 REM IN THE DATA STATEMENTS.
4800 REM ALL OTHER CHARACTERS ARE
4810 REM PRINTED OUT AS THEMSELVES.

The full code is available, along with documentation.

Like typewriters, dot matrix printers could carry out a carriage return without line feed. Today’s inkjet and laser printers cannot do that. I pose a challenge:

convert the program to a modern language (MATLAB or Python are natural choices) and modify it to render the images in some appropriate format.

800000-01.jpg

References

  • A. R. Neill. Bob Neill’s Book of Typewriter Art (With Special Computer Programme). The Weavers Press, 4 Weavers Cottages, Goudhurst, Kent, 1982, 176 pp. ISBN 0 946017 01 8.
  • A. R. Neill. Bob Neill’s Second Book of Typewriter Art. The Weavers Press, 4 Weavers Cottages, Goudhurst, Kent, 1984. ISBN 0 946017 02 6.
Posted in software | Tagged , | 4 Comments

James Joseph Sylvester (1814–1897) Bicentenary

This year (or more precisely September 3, 2014) is the bicentenary of the birth of James Joseph Sylvester, FRS, a prolific 19th century mathematician who led an eventful life, holding positions at five academic institutions, two of them in the USA.

sylvester.jpg

My article Sylvester’s Influence on Applied Mathematics published in the August 2014 issue of Mathematics Today explains how Sylvester’s work continues to have a strong influence on mathematics. A version of the article with an extended bibliography containing additional historical references is available as a MIMS EPrint.

In the article I discuss how

  • Many mathematical terms coined by Sylvester are still in use today, such as the words “matrix” and “Jacobian”.
  • The Sylvester equation AX + XB = C and the quadratic matrix equation AX^2 + BX + C = 0 that he studied have many modern applications and are the subject of ongoing research.
  • Sylvester’s law of inertia, as taught in undergraduate linear algebra courses, continues to be a useful tool.
  • Sylvester gave the first definition of a function of a matrix, the study of which has in recent years has become a very active area of research.
  • Sylvester’s resultant matrix, which provides information about the common roots of two polynomials, has important applications in computational geometry and symbolic algebra.

Sylvester’s collected works, totalling almost 3000 pages, are freely available online and are well worth perusing: Volume 1, Volume 2, Volume 3, Volume 4.

In a subsequent post I will write about Sylvester’s life.

Posted in people | Tagged | Leave a comment

David Broomhead (1950–2014)

David Broomhead passed away on July 24th, 2014 after a long illness. David was a Professor of Applied Mathematics in the School of Mathematics at the University of Manchester. I got to know him in 2004 when the Victoria University of Manchester merged with UMIST and the two mathematics departments, his at UMIST and mine at VUM, became one.

080630-1614-10-3476-cropped.jpg

David was a truly interdisciplinary mathematician and led the CICADA (Centre for Interdisciplinary Computational and Dynamical Analysis) project (2007-2011), a £3M centre funded by the University of Manchester and EPSRC, which explored new mathematical and computational methods for analyzing hybrid systems and asynchronous systems and developed adaptive control methods for these systems. The centre involved academics from the Schools of Mathematics, Computer Science, and Electrical and Electronic Engineering, along with four PhD students and six postdocs, all brought together by David’s inspirational leadership.

One of the legacies of CICADA is the burgeoning activity in Tropical Mathematics, which straddles the pure and applied mathematics groups in Manchester, and whose weekly seminars David managed to attend regularly until shortly before his death. Indeed one of David’s last papers is his Algebraic approach to time borrowing (2013), with Steve Furber and Marianne Johnson, which uses max-plus algebra to study an algorithmic approach to time borrowing in digital hardware.

Among the other things that David pioneered in the School, two stand out for me. First, he ran one of the EPSRC creativity workshop pilots in 2010 under the Creativity@Home banner, for the CICADA project team. The report from that workshop contains a limerick, which I remember David composing and reading out on the first morning:

One who works on Project CICADA
Has to be a conceptual trader
Who needs the theory of Morse
To tap into the Force -
A mathematically driven Darth Vader!

The workshop was influential in guiding the subsequent activities of CICADA and its success encouraged me to organize two further creativity workshops, for the numerical analysis group and for the EPSRC NA-HPC Network.

101103-1804-12-0158-cropped.jpg

At the CICADA Creativity Workshop, November 2010.

The second idea that David introduced to the School was the role of a technology translator. He had organized (with David Abrahams) a European Study Group with Industry in Manchester in 2005 and saw first-hand the important role played by technology translators in providing two-way communication between mathematicians and industry. David secured funding from the University’s EPSRC Knowledge Transfer Account and combined this with CICADA funds to create a technology translator post in the School of Mathematics. That role was very successful and the holder (Dr Geoff Evatt) is now a permanent lecturer in the School.

I’ve touched on just a few of David’s many contributions. I am sure other tributes to David will appear, and I will try to keep a record at the end of this post.

Photo credits: Nick Higham (1), Dennis Sherwood (2).

Updates

Posted in people | Tagged , , | Leave a comment

Creativity Workshop for EPSRC NA-HPC Network

The EPSRC Network Numerical Algorithms and High Performance Computing, coordinated by David Silvester and me, came to the end of its three-year term in May 2014. One of our final activities was a two-day Creativity Workshop, held at Chicheley Hall just before Easter.

140416-1850-58-0780-Edit.jpg

The workshop was advertised to network members and we were able to accept all applicants. The 23 attendees comprised PhD students, postdoctoral researchers, faculty, and HPC support experts from Cambridge University, the University of Edinburgh, Imperial College, The University of Manchester, MIT, NAG Ltd., Queens University Belfast, STFC-RAL, UCL, and the University of Tennessee at Knoxville, along with an EPSRC representative.

The workshop was facilitated by creativity expert Dennis Sherwood. I explained the idea of these workshops in an earlier post about a creativity workshop we held for the Manchester Numerical Analysis Group last year. The procedure is for the attendees to work in groups tackling important questions using a structured approach that encourages innovative ideas to be generated and carefully assessed and developed. The key ingredients are

  • a group of enthusiastic people,
  • careful planning to produce a set of nontrivial questions that address the workshop goals and are of interest to the attendees,
  • a willingness to adapt the schedule based on how the workshop progresses.
140416-1143-11-0766.jpg

Dennis Sherwood talking about innovation and idea generation.

The workshop was targeted at researchers working at the interface between numerical analysis and high performance computing. The aims were to share ideas and experiences, make progress on research problems, and identify topics for research proposals and new collaborations.

The topics addressed by the groups were sensitivity in sparse matrix computations; programming languages; deployability, maintainability and reliability of software; fault-resilient numerical algorithms; and “16th April 2019″.

The notes for the last topic began “It’s 16th April 2019, and we’re celebrating the success of our network. What is it, precisely, that is so successful? And what was it about the decisions we took five years ago, in 2014, that, with hindsight, were so important?”. The discussion led to a number of ideas for taking the activities of the network forward over the coming years. These include

  • organizing summer schools,
  • producing a register of members’ interests and areas of expertise,
  • exploiting opportunities for co-design across communities such as algorithm designers, NA specialists and domain scientists, and
  • creating opportunities targeted at early career members of the network.

As an ice-breaker and a way of the participants getting to know each other everyone was asked to prepare a flip chart containing a summary of their key attributes, why they were attending, and something they have done that they feel particularly good about. These were presented throughout the two days.

140417-1648-04-0049.jpg

Presenting my “Who I Am”, with Post-its behind me containing ideas written down by participants during the workshop.

Dennis Sherwood has produced a 166-page report that distills and organizes the ideas generated during the workshop. Attendees will find this very useful as a reminder of the event and of the various actions that resulted from it.

The Venue

140417-0737-16-4240-Edit.jpg

Chicheley Hall, is a historic country house located near Milton Keynes. It was purchased a few years go by the Royal Society, who turned it into a hotel and conference center, and it houses the Kavli Royal Society International Centre. It’s a terrific place to hold a small workshop. The main house and its meeting rooms have a wonderful ambience, the 80-acre grounds (complete with lake and dinosaur sculpture) are a delight to walk around, and each of the 48 bedrooms is named after a famous scientist.

140416-1236-23-4066.jpg

140416-1819-09-4147.jpg

Photo credits: Nick Higham (1,2,4,5,6), Dennis Sherwood (3).

Addendum (July 29, 2014)

Posted in conferences | Tagged | Leave a comment