Contributing to the Wiki

We are more than happy to have people submit more proofs to the wiki, and this page explains the ideology behind the proofs, their style, and the technical requirements in submitting a proofs. First, in ideology, our goal is to have a minimal list of essential and simplified proofs in RandNLA. So, we are especially interested in:

  1. Proofs with a fundamentally different structure from what is already presented

  2. Simplifications of proofs already on this site

If you have such a proof in mind, then please submit it!

There are three basic ways you can contribute:

  1. Email us with a link/outline of a proof that should be on this page. We will respond and write this up when time permits, but this may take a while.

  2. Email us a .tex document of the proof using our LaTeX Template.

  3. Submit a pull request to our git with your changes

The first approach may take a long time, and the fourth approach works best for small changes. Since this website is written in Julia using Franklin.jl, and has some small custom scripts, submitting a pull request with a large change (e.g. a full new proof) may be more effort than is needed. So we recommend the second and third approaches for large changes, especially new pages, as this lets us verify that all the flags are set correctly on the page.

In particular our LaTeX stylesheet is designed to be easy to merge into this website. We list the relevant notation and definitions of the stylesheet below. Once your proof is ready, submit it to Raphael Meyer at ram900@nyu.edu.

Stylesheet API

For math commands, use:

MeaningSyntaxAppearance
Matrices\mA, \mB, \mC, ..., \mZA\boldsymbol{A}, B\boldsymbol{B}, C\boldsymbol{C}, ..., Z\boldsymbol{Z}
Vectors\va, \vb, \vc, ..., \vza\mathbf{a}, b\mathbf{b}, c\mathbf{c}, ..., z\mathbf{z}
Scalarsa, b, c, ..., zaa, bb, cc, ..., zz
Black-board Bold\bbA, \bbB, \bbC, ..., \bbZ       A\mathbb{A}, B\mathbb{B}, C\mathbb{C}, ..., Z\mathbb{Z}
Calligraphic Letters\cA, \cB, \cC, ..., \cZA\mathcal{A}, B\mathcal{B}, C\mathcal{C}, ..., Z\mathcal{Z}
Probability\E[X], \Var[X], \Pr[A]E[X]\mathbb{E}[X], Var[X]\text{Var}[X], Pr[A]\Pr[A]
Math Definition\defeq := \;{\vcentcolon=}\;
Epsilon\epsε\varepsilon
Absolute Value\abs{...}...\left|...\right|
Norm (without subscript)       \normof{\mA}A\|\boldsymbol{A}\|
Norm (with subscript)\onormof{\mA}{2}A2\|\boldsymbol{A}\|_{2}
Transpose\mA^\intercal\vxAx\boldsymbol{A}^\intercal\mathbf{x}
Indicator Variable\indicate{i=j}χ[i=j]\chi_{[i=j]}

If you want to use a nonstandard matrix or vector, such as a Greek letter matrix or vector, then you can type \mat{\Lambda} or \vecalt{\alpha} to get Λ\boldsymbol{\Lambda} or α\boldsymbol{\alpha}.

For definitions, lemmas, and other standard amsthm environments, LaTeX users proceed as usual:

\begin{definition}[Some Name] %% Could be lemma, theorem, corollary, etc.
\label{named-label}
A definition is here. This is a good place to define things.
\end{definition}

\begin{proof}
This is a proof. Prove things here. This should probably follow a theorem, lemma, or corollary.
This relates to \definitionref{named-label}.
\end{proof}

\begin{algorithm}[Algo Name]
This is actually just like the lemma and theorem environments.
It is not tied to any of the standard latex pseudocode libraries.
This is intentional.
\end{algorithm}

Which yields the following:

Definition 1: Some Name
Definition

A definition is here. This is a good place to define things.

Proof. This is a proof. Prove things here. This should probably follow a theorem, lemma, or corollary. This relates to Definition 1.
\blacksquare \, \,

 

Algorithm 1: Algo Name


This is actually just like the lemma and theorem environments.

It is not tied to any of the standard latex pseudocode libraries.

This is intentional.

If you need to use any other notation or symbols, you can do so in your submitted .tex file, but please avoid this where possible.