Hover your mouse over a word to see its definition, or see below for a glossary of Scots and Sparse-Matrese.
If you like this poem, you can find more poems at Horror Matrices and Other Mathematical Poetry, and in particular, A Duffian Tale. Click here for an index of my serious poetry.
|
|
|
| Ode to a Haggis, by Robert Burns | Ode to a matrix, by T. D. | |
| MP3: Listen to John Cairney's rendition | MP3: Listen to my rendition | |
|
Fair fa' your honest, sonsie face, Great chieftain o' the puddin-race ! Aboon them a' ye tak your place, Painch, tripe, or thairm: Weel are ye wordy of a grace As lang 's my arm.
The
groaning
trencher there
ye fill,
His knife see rustic Labour
dight,
Then,
horn for horn, they stretch
an' strive:
Is there that
owre his French
ragout,
Poor devil ! see him
owre his trash,
But mark the
Rustic, haggis-fed,
Ye
Pow'rs,
wha
mak mankind your care, |
Fair fa' your sparsest frontal mats, Great chieftain o' the matrix-ranks ! Aboon them a' ye tak your fill, Permute, factor, tril. Weel are ye wordy of an ode As lang 's Duff's code.
The groaning memory there ye fill,
His
multifrontal
knife ye slice,
Then,
row or col,
they
scale
an' strive:
Is there that owre his
chol
skyline,
Poor devil !
collectin' all his trash,
But mark the Rustic,
Fortran-fed,
Ye users wha mak matrix your care, |
| a' | all |
| aboon | above |
| an' | and |
| auld | old |
| belyve | by-and-by, after a short while |
| bethankit | pray of thanks after a meal |
| bill o' fare | daily meals |
| bluidy | bloody |
| Deil | devil |
| dight | to wipe |
| fa' | fall |
| fricasse | meat cut into pieces in a gravy |
| gie | give |
| grace | prayer |
| gratefu' | grateful |
| guid | good |
| Guidman | husband (literally, goodman) |
| haggis | sheep's entrails, onions, and oatmeal, boiled in a sheep's stomach |
| horn-for-horn | "horn" is a spoon made of horn |
| hurdies | buttocks, loins |
| jaups | splashes |
| kytes | bellies |
| luggies | a small wooden dish with a handle |
| maist | most |
| mak | make |
| nae | no |
| nieve | fist |
| nit | nut (something small) |
| olio | Italian, olive oil |
| onie | any |
| o' | of |
| owre | over |
| painch | paunch, belly |
| pin | used to hold a haggis closed |
| Pow'rs | powers |
| puddin | pudding |
| reekin | reeking, smoking |
| rive | to be split, to burst |
| rustic | someone from the country-side |
| sconner | loathing |
| scornfu' | scornful |
| sic | such |
| skinking | watery |
| sned | to lop, to cut |
| sonsie | pleasant, good-natured |
| sow | female pig |
| spindle | shank |
| staw | to disgust |
| swall'd | swollen, swelled |
| tak | take |
| taps | tops |
| thairm | intensine |
| thrissle | thistle, a thorny plant, a weed |
| thro' | through |
| trencher | cutting-board |
| trenching | cutting |
| tripe | stomach lining |
| wad | would |
| walie | ample, large, robust |
| ware | product (as in the ware the warehouse) |
| weel | well |
| wha | who |
| wi' | with |
| ye | you |
| LU man | Iain Duff, who else ... ? |
| backslash | x=A\b in MATLAB solves the linear system A*x=b |
| befactored | factorized |
| cache | small memory where the CPU keeps its intermediate results |
| chol | Cholesky factorization |
| clique | a completely connected subgraph |
| col | a column of a matrix (or a pivot column) |
| collectin' | garbage collection reclaims memory no longer needed by a program |
| condest | condition estimation; requires a factorization first |
| C | the C programming language |
| diags | diagonals of a matrix |
| disk spindle head | the read/write head of a hard disk (poetic license here...) |
| facta'red | factored; but rhymes with 'aired' (poetic license...) |
| factor | factorize a matrix into the product of two or more factors |
| fill | fill-in; introduction of new nonzeros during factorization |
| for | a 'for' loop statement, in C, MATLAB, ('do' in Fortran) |
| Fortran | the Fortran programming language |
| free | free memory allocated by malloc (in C) |
| frontil | frontal matrix; a clique in the graph of the matrix |
| gzip | a file compression method |
| hit | when a referenced page is in memory |
| HSL | formerly the Harwell Subroutine Library |
| if | an 'if' conditional statement in C, MATLAB, and Fortran |
| K-Bytes | Kilobytes; one KB is 1024 Bytes, a measure of memory size |
| LLT | a Cholesky factorization (A=LLT) |
| LU | an LU factorization (A=L*U) |
| malloc | allocating memory (in C) |
| MATLAB | a matrix programming environment and language, by The MathWorks |
| mat | matrix |
| mem | memory |
| mulitfrontal | a method that factorizes a matrix using more than one frontal matrix |
| order | see permute |
| page | a chunk of virtual memory, on disk or in main memory |
| paging | bringing pages into memory from disk, or visa versa |
| permute | reordering the rows and columns to reduce fill-in |
| pinv | pseudo-inverse |
| pipeline stall | an empty slot in the CPU instruction execution process |
| pivot | a diagonal entry of the factor U (for example) |
| rank | number of linearly independing rows or columns |
| resid | residual; the vector r=Ax-b, zero if x is the solution to Ax=b |
| row | a row of a matrix (or a pivot row) |
| skyline | entries between the diagonal topmost nonzero in each column |
| solution | the solution to the linear system Ax=b |
| sparse | mostly zero |
| tar | a file containing an archive, or the method used to create it |
| thrash | memory contention, when paging is excessive |
| while | a 'while' loop statement in C, MATLAB, and Fortran |