PAE patch updated for Windows 10

This patch allows you to use more than 3/4GB of RAM on an x86 Windows system. Works on Windows Vista SP2, Windows 7 SP0, Windows 7 SP1, Windows 8, Windows 8.1 and Windows 10 (build 10586). Instructions and source code included.

Download: PatchPae2.zip (346237 downloads)
Source code: https://github.com/wj32/PatchPae2

Before using this patch, make sure you have fully removed any other “RAM patches” you may have used. This patch does NOT enable test signing mode and does NOT add any watermarks.

Note: I do not offer any support for this. If this did not work for you, either:

  • You cannot follow instructions correctly, or
  • You cannot use more than 4GB of physical memory on 32-bit Windows due to hardware/software conflicts. See the comments on this page for more information.

F# code: memoize a recursive function

In this article we’ll look at how to memoize a general function f : ('a -> 'b) -> 'a -> 'b in F#, along with some interesting applications.

Generic version

Most versions of this code that you can find online only deal with the simple case 'a -> 'b, which doesn’t allow the function to call a memoized form of itself for recursion. This version does. The trick is to define mutually recursive functions g : 'a -> 'b and h : ('a -> 'b) -> 'a -> 'b, where g is the memoized form of f that will get passed to f itself, and h does the actual work.

Continue reading →

Horn’s inequality for singular values via exterior algebra

\(
\DeclareMathOperator{\tr}{tr}
\DeclareMathOperator{\sgn}{sgn}
\DeclareMathOperator{\Id}{Id}
\)Horn’s inequality states that for any two compact operators \(\sigma,\tau\) on a Hilbert space \(E\), $$\prod_{k=1}^n s_k(\sigma\tau) \le \prod_{k=1}^n s_k(\sigma)s_k(\tau)$$ where \(s_1(\tau),s_2(\tau),\dots\) are the singular values of \(\tau\) arranged in descending order. Alfred Horn’s original 1950 paper provides a short proof that relies on the following result:

Continue reading →

New web host

I’ve moved this website to Fresh Roasted Hosting because the previous host was awful in terms of reliability and support. The whole process only took a few hours (transfer domain, restore cPanel backups and settings), and hopefully there won’t be any more several day outages with the new host.

PAE patch updated for Windows 8.1

Note: An updated version for Windows 10 is available.

This patch allows you to use more than 3/4GB of RAM on an x86 Windows system. Works on Windows Vista SP2, Windows 7 SP0, Windows 7 SP1, Windows 8 and Windows 8.1. Instructions and source code included.

Download: PatchPae2.zip (346237 downloads)

Before using this patch, make sure you have fully removed any other “RAM patches” you may have used. This patch does NOT enable test signing mode and does NOT add any watermarks.

Note: I do not offer any support for this. If this did not work for you, either:

  • You cannot follow instructions correctly, or
  • You cannot use more than 4GB of physical memory on 32-bit Windows due to hardware/software conflicts. See the comments on this page for more information.

Line integrals: 3. Applications to complex analysis

\(
\newcommand{\bbc}{\mathbb{C}}
\newcommand{\Int}{\operatorname{Int}}
\)Navigation: 1. Exact, conservative and closed forms | 2. Locally exact forms and singular homology | 3. Applications to complex analysis

Preliminaries

Let \(F\) be a complex Banach space, let \(U\subseteq\bbc\) be an open set, and let \(f:U\to F\). Recall that the complex Fréchet derivative of \(f\) at \(z\in U\), if it exists, is a \(\bbc\)-linear map \(Df(z):\bbc\to F\). Not all real differentiable functions on \(\bbc\) are complex differentiable: for example, the (real) derivative of \(f(z)=\overline{z}\) (i.e. \(f(x+yi)=x-yi\)) at any point is represented by the matrix $$\begin{bmatrix}1 & 0 \\ 0 & -1\end{bmatrix},$$ but \(Df(z)\) is clearly not a \(\bbc\)-linear map.

Continue reading →

Line integrals: 2. Locally exact forms and singular homology

Navigation: 1. Exact, conservative and closed forms | 2. Locally exact forms and singular homology | 3. Applications to complex analysis

As in part 1, \(E,F\) are Banach spaces and \(U\subseteq E\) is an open set. Recall that a form \(\omega:U\to L(E,F)\) is exact if \(\omega=Df\) for some \(f:U\to F\), closed if it is differentiable and \(D\omega(x)\in L(E,E;F)\) is symmetric for every \(x\in U\), and locally exact if it is closed and for every \(x\in U\) there is a neighborhood \(V\subseteq U\) of \(x\) on which \(\omega\) is exact. Last time we showed that every closed \(C^1\) form is locally exact, and that every closed form on an open subset of \(\mathbb{R}^2\) is locally exact (even if is differentiable but not \(C^1\)).

So far, we have only defined line integrals along \(C^1\) paths and curves. It turns out that for locally exact forms, we can extend the definition to paths that are merely continuous (and not necessarily differentiable).

Continue reading →

Line integrals: 1. Exact, conservative and closed forms

Navigation: 1. Exact, conservative and closed forms | 2. Locally exact forms and singular homology | 3. Applications to complex analysis

The line integral is a useful tool for working with vector fields on \(\mathbb{R}^n\), (co)vector fields on manifolds, and complex differentiable functions. However, it is often unclear how these different versions of the line integral are related to each other. In the next few posts, I will be presenting a very general form of the line integral along with the standard theorems and some basic applications. Familiarity with the Fréchet derivative is assumed.

Continue reading →

First-order ODEs, matrix exponentials, and det(exp)

Last time we derived a formula for the derivative of the matrix exponential. Here we will be focusing instead on the expression $$D\exp(x)u=\exp(x)u=u\exp(x),$$ which holds whenever \(u\) commutes with \(x\). In this post, \(E\) denotes a real Banach space and \(L(E)\) denotes the space of continuous linear operators on \(E\).

ODEs

The (matrix) exponential can be used to solve certain types of first-order linear systems of ordinary differential equations with non-constant coefficients: not only can we solve \begin{align}x'(t)&=x(t)+y(t) \\ y'(t)&=x(t)+y(t),\end{align} but we can also solve \begin{align}x'(t)&=tx(t)+y(t) \\ y'(t)&=x(t)+ty(t).\end{align}

Continue reading →