Yet Another Mathblog

The Messenger

This is a great film. It stars Ben Foster as a US Army CNO (casualty notification officer), who enters an ethical dilemma when he gets involved with Olivia, the widow of a soldier. Also starring are Woody Harrelson (born July 23rd, like myself:-) as his commanding CNO and Samantha Morton as his love interest. The film was directed by Oren Moverman (his directoral debut), who also co-wrote the screenplay.

The acting, script, direction, and cinematography were all excellent. One thing which annoys me to no end in films involving the military is the crappy job the actors do in portraying the military (think GI Joe). This film is a notable exception (as was The Hurt Locker).

Personally, I am a big fan of Ben Foster. I think he has been great in recent films such as Pandorum. He does even better here. Also, Woody Harrelson does not protray his usual cocky persona, but really stretches into a much stronger performance (in my opinion) than he usually gives. I actually think this is the best performance that I have seen of his. Really exceptional acting. The scenes between Foster and Morton are amazingly good. Samantha Morton is extremely strong anyway, but she is wonderful here as the widow of a soldier. The other supporting actors are also terrific. There really are really no weak points to this movie in my opinion.

I strongly recommend this film.

November 22, 2009 Posted by wdjoyner | Uncategorized | , | No Comments Yet

The enlightenment of Professor Bigglesnot

An enthusiastic “Yippee!” echoed down the corridor. so loud it woke several faculty members in
nearby offices. Some even got up out of their chairs and looked up and down the hallway before
returning to grading or research or freecell before falling asleep again. But Bigglesnot was excited.
After all, computing automorphism semigroups of quantum hyperalgebras was his life’s passion, ever since he was a graduate student. In front of him, was the latest issue of the Quantum Hyperalgebra Journal, newly released from its plastic shrink-wrap. It was opened to the article which was the focus of Bigglesnot’s attention – the esteemed Ziggotwat’s discussion of a new algorithm to compute automorphism semigroups of quantum hyperalgebras. Bigglesnot could see immediately from the tables of new data presented that Ziggotwat’s implementation was faster, better and more general than his own program. Whispering “Awesome! Awesome! So, awesome! …” under his breath, he shot off an email to Ziggotwat asking for more information, and, if at all possible, further details on the implementation. Could he please post or email the code, for others to look at? That would be awesome!

Days and weeks went by, but with no reply. One morning B found an email from Z: “…the code needs to be cleaned up first …”, “… so sorry for the late reply …”, but “.. thanks for your interest!”, was the gist. As luck would have it, B spotted Z a few weeks later at the annual meeting of the Society of Quantum Hyperalgebraists. Undaunted, one night after the talks of the meeting were finished, B bombarded Z with free beer and flattery peppered with questions about his program. “In fact”, Z finally confessed, “all the work was done by my former student Pipperpop, who has graduated and does not reply to my emails. I can send you what I have – but no promises!” Drunk, but now estatic, Bigglesnot managed to say “Awesome!” before he fell off his barstool.

In the months that followed, B pored through the incomplete, undocumented code. It was provided as a sequence of files, each one seeming dependent on another. They wouldn’t compile, no matter how B tried. Each day for a month, after attending to his classes, B would try to modify one of the files, hoping that a small change would allow him to compile the files into a functioning program. Each day, he would draft an email to Z (or to P, or to the editor of QHJ) asking what kind of LSD was he tripping on to make him high enough to think this mess of code would ever compile?
And each day, he wisely deleted the draft. Bigglesnot, usually filled to overflowing with self-confidence, was defeated.

Finally, B realized the solution! Not the solution of to how to compile Pipperpop’s poop, but the solution to the general problem. Software computations submitted to scientific journals must be “open” – if scientific data obtained as a result of a software computation is part of research paper submitted for publication then the source code for that software must also be made public and verified before publication. Enlightened, Bigglesnot was optimistic once again.


This postwas inspired by the excellent paper: Pederson, Empiricism is Not a Matter of Faith, Computational Linguistics, Volume 34, Number 3, pp. 465-470, September 2008.
http://www.d.umn.edu/~tpederse/full-pubs.html

August 18, 2009 Posted by wdjoyner | math, software | , , | No Comments Yet

Evil spkgs?

In Matlab, a plugin is called a “toolkit”. In Photoshop, a plugin is called a plugin:-) As the success of Photoshop and Matlab suggest, plugins are very important. They enable “third party” developers to write specialized applications for your software package.

In Sage, (www.sagemath.org) a plugin is called an “spkg” (short for Sage PacKaGe).

Here is an easy-to-follow recipe for making an evil spkg.

  1. Make sure that your spkg modifies and existing Python or Cython file in the Sage devel tree. Extra evil bonus points for modifying heavily used files, such as in the plot subdirectory, and the more files touched the more evil points you earn. AFAIK, this will insure that, once your “innocent” spkg is applied to a developers tree, he cannot write a trac patch which can be correctly applied to a fresh clone.
  2. Make sure you ruin another spkg (surreptitiously, for extra bonus points). The more important the spkg you hose, the more evil points you get.

I wonder how Matlab and Photoshop avoid evil plugins?

August 1, 2009 Posted by wdjoyner | sage | | No Comments Yet

Google and the future of academic journals?

Let us assume that google’s basic philosophy is to make information free (see for example http://www.google.com/corporate/tenthings.html) This way they can increase the value of the internet and the value of their search technology.

What can Google do to help the problem of the inflation of academic journals? The fundamental issue is the disparity between the ease of communicating information (scientific information which is, by community consensus, free) and the relatively difficult implementation of the nature human desire to make money by selling access to that information. The basic economic model is that taxpayers are the primary support for academic research at a US class I or a European university (tuition actually only fund a minority share of the cost of running an academic institution). On the other hand, taxpayers also pay for the cost of these journals to these academic institutions. If you, a typical taxpayer, enjoy paying twice or getting double-billed, I have two bridges in Brooklyn I’d like sell you.

In case the typical taxpayer thinks this is an issue they can hide from, I warn you, some of these journals are not cheap (eg, some are on the order of a few thousand dollars per issue). Moreover, some publishers, such as Reed Elsevier not only charge a couple of grand per issue but also publishes bogus journals (see for example (http://laikaspoetnik.wordpress.com/2009/05/08/mercks-ghostwriters-haunted-papers-and-fake-elsevier-journals/) and pays for fake positive reviews (http://golem.ph.utexas.edu/category/2009/07/elsevier_pays_for_favorable_bo.html).

The solution to this dilemma is rather simple, Taxpayers must insist that their research dollars only fund research which is available for free. In other words, the results of the their funded research much be publicly available. This goes for papers and software supported by their funding.

As a matter of complete disclosure, some institutions now require that their faculty post their research papers on free web servers (for example MIT), and some funding agencies require taht thier grantees make available their grantees research papers available on such servers (for example, NIH in the US).

Can Google play a role here? I think so.

July 17, 2009 Posted by wdjoyner | Uncategorized | | No Comments Yet

Hadamard’s maximal determinant problem

This blog entry is to remind or introduce to people the fascinating problem called the Hadamard maximal determinant problem: What is the maximal possible determinant of a matrix M whose entries are of absolute value at most 1? Hadamard proved that if M is a complex matrix of order n, whose entries are bounded by |M_{ij}| \leq 1, for each i, j between 1 and n, then
|det(M)| \leq n^{n/2} (equality is attained, so this is best possible for such matrices).

If instead the entries of the matrix are +1 or -1 and the size of the matrix is nxn where n is a multiple of 4, then the problem of the maximal determinant presumably boils down to the well-known search for Hadamard matrices. This is discussed in many books, papers and website but in particular, I refer to

  1. http://en.wikipedia.org/wiki/Hadamard_matrix

  2. http://www.research.att.com/~njas/hadamard/
  3. Hadamard matrices and their applications, by K. J. Horadam
  4. http://www.uow.edu.au/~jennie/hadamard.html

What I think is fascinating is the entries of the matrix are only assumed to be real and not of size 4kx4k. In this case, the maximal value of the determinant is less clear. The results are complicated and depend in a fascinating way on the congruence class of n mod 4. Please see the excellent webpages (maintained by Will Orrick and Bruce Solomon)

  1. http://www.indiana.edu/~maxdet/, and in particular,
  2. http://www.indiana.edu/~maxdet/bounds.html

In particular, the case of an nxn matrix with n=4k+3 seems to be open.

June 27, 2009 Posted by wdjoyner | math | , | No Comments Yet

Sage at the NSF-CDI+ECCAD conferences

This is a very quick view of some highlights of the conference http://www4.ncsu.edu/~kaltofen/NSF_WS_ECCAD09_Itinerary.html. I think further details of the talks will appear on the conference webpage later. This is very incomplete – just a few thought I was able to
jot down correctly.

Panel discussion:
Q1: What are the grand challenges of symbolic computing?
Is the term “symbolic computation” to broad? (Hybrid symbolic/numerical, algebraic geometric computation, algebraic combinatorial/group-theoretical, computer proofs, tensor calculations, differential, mathematical knowledge/database research, user interfaces, …)

General ans: No. Hoon Hong points out that user interfaces are lower level but below to the same group.

Q2: How can the latest algorithmic advances be made readily available: google analog of problem formulation? (Idea: suppose someone has a clever idea for a good algorithm but not enough discipline to implement it …)

One answer: Sage can put software together – is this the right way? Analog of stackoverflow.com?

Q3: What is the next killer app for symbolic computation? (Oil app of Groebner bases, cel phone app, robotics, …)

Q4: Can academically produced software such as LAPACK, LINBOX, SAGE compete with commercial software?

Hoon Hong answer: Yes but why? Why not cooperate. Support Sage very much but more research on interfaces and integration of different systems could lead to cooperation of the commercial systems with Sage.

Another panel:
Q: What are the spectacular successes and failures of computer algebra?

Failures:
(a) Small number of researchers.
(b) Sage could fail from lack of lies with the symbolic/numerical community (as Maxima/Axiom did). Matlab may fail due to uphill battle to integrate Mupad into good symbolic toolbox. (Many voiced view that Matlab is strong because of its many toolboxes, on the panel and privately.)
(c) Education at the High School level using CA.
(d) Presenting output of CA intelligently and in a standard format.
(e) Failure to teach people how to properly use a CA system.

Successes:
(a) Sage – interesting new effort (with caveat above)
(b) Groebner bases, LLL.

My talk on Sage raised a lot of questions. My There is both strong support for Sage and some questions on its design philisophy. My page 6 at http://sage.math.washington.edu/home/wdj/expository/nsf-eccad2009/
was a source of lots of questions.

At ECCAD http://www.cs.uri.edu/eccad2009/Welcome.html, Sage was mentioned a few times in talks as well as in some posters. The “main” Sage event was a laptop software demo Which Karl-Dieter Crisman set up for Sage.

Overall, a good experience for Sage.

May 7, 2009 Posted by wdjoyner | math, sage | , , | No Comments Yet

Sage at AMS-MAA 2009 Washington DC

I think Sage gained a lot of publicity this year both by being at
the booth but also having an MAA panel discussion and an AMS session.
The panel discussion was good to be able to meet others in the
teaching community. I think this is related to Sage development because
projects like the educational open source software webworks has a
funding model which seems to be successful. I think Karl Crisman said he
would try to follow up on that.

A few people I met at the booth said they were interested in Sage development
but more stopped by saying that either they or their students could not afford
Maple or Mma and was looking into a cheaper quality alternative. The collaroration
possibilities of the Sage server was a strong “selling point” for smaller schools
which could load sage on a webserver.

There were some really good talks at the Sage session. For example,
Marshall’s talk had amazing graphics and Robert Miller’s talk was very well attended
(with maybe twice as many people in the audience as some of the others).
I thought the quality overall was great, but I’m very partial to such topics of course.

The general message I got from many was that more written material
on Sage in use would be welcomed, especially books. I was touched by one guy
who explained to me that his students were very poor (waitresses, for example)
who cannot afford calculus texts and commercial math programs. The point
he was implicitly making was that by offering software and documentation for
free we are actually improving the quality of such peoples’ lives in a real way.

January 8, 2009 Posted by wdjoyner | math, sage | , | 2 Comments

Future coding theory in Sage projects

Here are a few ideas for future Sage projects in error-correcting codes.

Needed in Sage is

  • a rewrite in Cython, for speed,
  • special decoding algorithms, also in Cython,
  • for special decoders, it seems to me that one either needs
  1. more classes (eg, a CyclicCodes class), each of which will have a decode method, or
  2. another attribute, such as a name (string) which can be used to determine which decoder method to use.
  • codes over Rings (Cesar Agustin Garcia Vazquez is working on this)
  • codes defined from finite groups fings – for example split group codes,
  • a fast minimum distance function (followed by a fast weight distribution function), valid for all characteristics.

It seems more “Pythonic” to add more classes for decoders, but I am not sure.

December 11, 2008 Posted by wdjoyner | math, sage | , | 2 Comments

Steiner systems and codes

A t-(v,k,λ)-design D=(P,B) is a pair consisting of a set P of points and a collection B of k-element subsets of P, called blocks, such that the number r of blocks that contain any point p in P is independent of p, and the number λ of blocks that contain any given t-element subset T of P is independent of the choice of T. The numbers v (the number of elements of P), b (the number of blocks), k, r, λ, and t are the parameters of the design. The parameters must satisfy several combinatorial identities, for example:

\lambda _i = \lambda \left(\begin{array}{c} v-i\\ t-i\end{array}\right)/\left(\begin{array}{c} k-i\\ t-i\end{array}\right)

where \lambda _i is the number of blocks that contain any i-element set of points.

A Steiner system S(t,k,v) is a t-(v,k,λ) design with λ=1. There are no Steiner systems known with t>5. The ones known (to me anyway) for t=5 are as follows:

S(5,6,12), S(5,6,24), S(5,8,24), S(5,7,28), S(5,6,48), S(5,6,72), and S(5,6,84).

Question: Are there others?

A couple of these are well-known to arise as the support of codewords of a constant weight in a linear code C (as in the Assmus-Mattson theorem, discussed in another post) in the case when C is a Golay code (S(5,6,12) and S(5,8,24)). See also the wikipedia entry for Steiner system.

Question: Do any of these others arise “naturally from coding theory” like these two do? I.e., do they all arise as the support of codewords of a constant weight in a linear code C via Assmus-Mattson?

Here is a Sage example to illustrate the case of S(5,8,24):

sage: C = ExtendedBinaryGolayCode()
sage: C.assmus_mattson_designs(5)
['weights from C: ',
[8, 12, 16, 24],
‘designs from C: ‘,
[[5, (24, 8, 1)], [5, (24, 12, 48)], [5, (24, 16, 78)], [5, (24, 24, 1)]],
‘weights from C*: ‘,
[8, 12, 16],
‘designs from C*: ‘,
[[5, (24, 8, 1)], [5, (24, 12, 48)], [5, (24, 16, 78)]]]
sage: C.assmus_mattson_designs(6)
0
sage: blocks = [c.support() for c in C if hamming_weight(c)==8]; len(blocks)
759

October 2, 2008 Posted by wdjoyner | math, sage | , , , , , | No Comments Yet

new Rubik’s cube bound of Tom Rokicki

For some time, Tom Rokicki has been working on lowing the upper bound for the face-turn metric of the Rubik’s cube. His main work (finished in Feb or March 2008) is described in http://tomas.rokicki.com/rubik25.pdf. More recently, John Welborn came up out of the blue and offered Tom CPU time on the “farm” of computers which Sony Imageworks uses to render animated movies. As a result of this generous offer, Tom was able to extend the same method used in the 25-move upper bound to show: in the face turn metric, every position can be solved in <=N moves, where N=20,21,22 (which one, we don’t know yet).

Recently, New Scientist ran a short article on Tom’s result. Here is the link, though the full article requires a subscription: http://www.newscientist.com/channel/fundamentals/mg19926681.800-cracking-the-hardest-mystery-of-the-rubiks-cube.html .

Please see Herbert Kociemba’s cube
performance page for more info.

September 10, 2008 Posted by wdjoyner | math | , | No Comments Yet