Willie Wai-Yeung Wong

Data aequatione quotcunque fluentes quantitates involvente fluxiones
invenire et vice versa

Hi, my name is Willie Wong, and I study geometric and evolutionary partial differential equations, with focus on those of hyperbolic type with applications to mathematical physics and general relativity. I received my PhD from Princeton University in 2009 under Sergiu Klainerman. My dissertation was about the black hole uniqueness problem in general relativity. Since then I've worked with Mihalis Dafermos at DPMMS, and am now working at EPFL with Joachim Krieger.

For a more complete vita, please click here.

What's on this website:

- 16.01.2014
You can now find below (in the "lecture notes" section) the slides that Gustav and I used for our minicourse at Oxford.

- 10.12.2013
Gustav Holzegel and I will be giving a mini-course on shock formation in quasilinear waves in Oxford on January 13 and 14. At the same event Jérémie Szeftel will speak on the recent resolution of the L

^{2}curvature conjecture in general relativity.- 05.10.2012
Uploaded a new paper to arXiv. See link below.

- 23.08.2012
I've discovered that I have some web space on the department server; so I am putting back up my personal site. What's new: some notes from the 2012 mathematical GR workshop at mfo.

The feed is only visible if Javascript is enabled; click here for the full list.

- Small data shock formation for QNLW
PDF

These are the slides that Gustav Holzegel and I used for our minicourse at the OXPDE Workshop on Nonlinear Waves and General Relativity, January 13 & 14, 2014.- Introductory notes on Sobolev spaces
PDF

Some lecture notes for the Cambridge Center for Analysis course on PDEs taught by Mihalis Dafermos.- How to derive the Kerr metric by cheating quite a bit
PDF

This came from a lecture I gave to MAT 451 at Princeton University on April 23, 2009. MAT 451 is a senior level mathematics course in which the instructor has great leeway in deciding what to teach. In 2009 my thesis advisor was in charge, and focused the discussion on mathematical aspects of general relativity. In this note I showed how one can start from the Schwarzschild metric, make an educated guess on an algebraic structure, and arrive at the Kerr metric.

To make life easier with LaTeX, I "coded" some handy tools.

- Mathematics commands
My personal macros having gotten big enough that I now have a LaTeX package for it. Here are some notes for using it.

- Load the package with
`\usepackage[args]{www_math_commands}`

. The optional argument list and the loaded commands are below. (Please see the package file itself for what the commands do and how to use them; the commands are sometimes presented with arguments filled in indicating typical usage.) - Commands loaded by default:
`\eqdef`

,`\suchthat`

,`\pholder[]`

,`\Real`

,`\Complex`

,`\Integer`

,`\Natural`

,`\Id`

,`\D`

(and`\D*`

). - Optional arguments and their commands:
`geom`

:`\covD`

,`\lieD`

,`\codiff`

,`\intprod`

,`\Riem[^i_{jkl}]`

,`\Ricci[_{ij}]`

,`\Deform[]{X}{_{ij}}`

,`\Chris{^i_{jk}}`

,`\ub{L}`

,`\Scri`

.`slash`

: adds to`geom`

the commands`\subD`

,`\subDD`

.`sets`

:`\set{x\in\Real}{x \leq 3}`

,`\Rational`

,`\Sphere`

,`\Torus`

,`\Ball`

,`\CProj`

,`\RProj`

.`norm`

:`\innerprod[L^2]{f}{g}`

,`\abs{x}`

,`\norm[H^1]{f}`

.`errorterm`

:`\errs`

,`\errslab{label}`

,`\errsref{label}`

.`pde`

:`\weakto`

,`\Sobolev{k}{p}`

,`\Sobolev*{k}{p}`

,`\sobolev{k}`

,`\sobolev*{k}`

,`\jb{t}`

,`\Fourrier`

,`\FT{u}`

,`\FT*{u}`

.`miscops`

:`\trace`

,`\proj`

,`\dist`

,`\diam`

,`\supp`

,`\diag`

.`labeled`

:`\morph{diffeo}`

,`\fnto{f}`

.`roman`

:`\rmnum{2}`

,`\Rmnum{2}`

,`\term{3}`

.`conv`

:`\lnsgm[s]{PQ}`

,`\hull`

.

- Load the package with
- BibTeX management
I use JabRef to manage my collection of papers and their bibliographic citations.

- Mathematics Serials Abbreviations List for JabRef: Here is a JabRef-readable text file that you can drop in your directory and import into JabRef (Options -- Manage Journal Abbreviations -- External File) for journal abbreviations. It is converted from the ASCII/CSV version of the AMS MathSciNet abbreviations list, so unfortunately all "special" characters are stripped. I have restored some of the accents and special characters, as well as added a few journals not originally included in the AMS list. This file will be updated periodically.
- Vim dictionary export filter for JabRef: Gzipped Tar file contains three files. Put those files somewhere, and add them to JabRef: Options -- Manage custom exports -- Add new. At the dialog box select the vimdictionary.layout file, give it some name ("vim dictionary export" works fine for me), and set the extension to ".vim". Then you can export (File -- Export) the reference list in a form usable by my Vim dictionary script (see below).

Sometimes it is convenient to be able to just cite MathSciNet entries. For that purpose I wrote the

`automathbib`

script and LaTeX package.- Vim integration
Vim is my preferred editor. So I wrote some vim-scripts to make life easier typing LaTeX. The code is released as-is with no guarantees, and you are free to disseminate or modify it in anyway you choose.

- All commands: Download the runtime
and put it in
`~/.vim/custom/`

. Edit`~/.vimrc/`

to contain the line`runtime custom/latex-custom.vim`

. A quick word of warning: one of the functions it contains is automatic folding on load. Functions- F2: saves and compiles
- F4: calls xdvi
- F5: completes begin-end block. E.g. type
`theorem`

and hit F5, you get a block`\begin{theorem} \end{theorem}`

with the cursor placed in between. - F6: escape the current block environment.
- F7/F8: label searching [currently disabled; requires Bash to run]
- F9: BibTex completion (see below)
- Shift-Tab: math mode short-cuts. Hitting Shift+Tab followed by command
character causes the word just typed to be enclosed in:
- C \mathcal{}
- B \mathbb{}
- F \mathfrak{}
- R \mathrm{}
- O \mathop{}
- = \bar{}
- . \dot{}
- " \ddot{}
- - \overline{}
- _ \underline{}
- ^ \widehat{}
- ~ \widetilde{}

`words`

and symbol commands operate on`WORDS`

, in Vim lingo.

- JabRef integration: (I wrote this mostly because at work, the vim
installation does not have the server-client functionality for JabRef
to directly push bibtex entries to my editor.)
Install the JabRef vim-dictionary export filter, and move the exported file to

`~/.vim/custom/latextmp/bibdictionary`

. Also install the`latex-custom.vim`

runtime from above. Now you can type the first few letters of a BibTex entry key, hit F9, and vim will try to complete the entry for you. If there are multiple entries matching those letters, if will display a drop-down list and a pop-up menu that display the list of authors and the title of the papers. Highlight with the arrow keys and hit enter to select. (I set-up JabRef to use abbreviated author lastnames for the bibtex-key, so if I type`Christ`

and hit F9, I see a list of all bibtex entries with a single author whose lastname begins with Christ..., which in my case basically means all papers/books by Demetrios Christodoulou.)You can also get away without installing the runtime. Instead, copy the exported file from the JabRef filter to

`~/.vim/custom/latextmp/bibdictionary`

, and load the dictionary runtime manually by issuing`:runtime custom/latextmp/bibdictionary`

. Then you can use "CTRL-X CTRL-U" completion to access the bibtex completion.A warning: if your BibTex file gets too large, this may get slow. A workaround is to only export the items you think you will need from JabRef.

- All commands: Download the runtime
and put it in
- An IPython notebook computation aid
As I described here and here, I prepared some code for IPython Notebook to use it to do laborious manual computations. (Basically the idea is to have a system that can take care of the boring part of copying down terms that are unchanged from line to line, and also provide a way to document the computations steps in an easy-to-read manner.)

For convenience you can download the code here: the IPython notebook for use as is (I suggest you duplicate the notebook for each new computation), or the Python code itself