Delay Differential Equations and the Lambert W Function

Delay differential equations are natural to study since most systems involve a delay from the input to the output (accelerators, computers, etc.). On a more nerdy level they involve some pretty interesting math so let’s take a look.

Consider the scalar, linear, pure delay differential equation:

$\dot{x}\left(t\right) = a_{d}x\left(t-\tau\right)$

This type of equation is associated with a system where the output is equivalent to the input delayed by a small time constant $\tau$ and multiplied by a system constant $a_d$. In studying the stability of differential equations, we want to know whether they will behave in one of two ways. Either the solution to the differential equation approaches infinity as time approaches infinity (unstable) or the solution approaches some constant as time approaches infinity (stable). To do this, let’s take the Laplace transform of the DDE.

$sX(s) - x(0) = a_{d}e^{-s\tau}X(s)$

Collecting the terms and assuming the initial condition to be zero, we arrive at the following equation.

$X(s)\left(s - a_{d}e^{-s\tau}\right) = 0$

To avoid a trivial solution, only the part of the equation in the parentheses can equal zero. Therefore,

$s - a_{d}e^{-s\tau} = 0$

Let’s introduce the Lambert W function. This function satisfies the equation:

$Ye^Y = X$

The solution to this equation is:

$Y_k = W_{k}\left(X\right)$

In other words,

$W_{k}\left(X\right) e^{W_{k}\left(X\right)} = X$

where $W_{k}\left(X\right)$ is the Lambert W function of $X$ and $k$ is the branch number. This equation is called a transcendental equation since there are infinite values that satisfy this equation. The Lambert W function has infinite branches (similar to $\mbox{tan}^{-1}$ or $\mbox{sin}^{-1}$), meaning there are infinite values that will satisfy the equation above. Additionally, it can be shown that the maximum values yielded by the Lambert W function are given by the principal branch (i.e. $k=0$).

Returning to the Laplace transform equation,

$s - a_{d}e^{-s\tau}=0$

The roots of this equation determine the stability of the DDE. Therefore, we solve for the values that make this equation zero.

$s = a_{d}e^{-s\tau}$

Multiplying both sides by $\tau e^{s\tau}$ yields:

$\underbrace{s\tau}_Y e\underbrace{^{s\tau}}_Y = \underbrace{a_{d}\tau}_X$

Clearly, this equation is a candidate for using the Lambert W function. So, for this simple function, it can be seen that the roots for the DDE are given as:

$s_{k} = \dfrac{1}{\tau}W_{k}\left(a_{d}\tau\right)$

There are infinite values that satisfy this equation; however, since the maximum values for the Lambert W function are given by the principal branch, the only branch that need be evaluated is the principal branch. In other words, if the maximum value for the DDE roots is negative, then all the rest of the values are guaranteed negative. Therefore, for stability

$s_{0} = \dfrac{1}{\tau}W_{0}\left(a_{d}\tau\right) < 0$

This is an important result for understanding delay systems. However, the study of delays in systems of differential equations is much more difficult and remains an open problem in the field of dynamics and control systems. For example consider the DDE system

${\bf x}\left(t\right) = {\bf A}_{d}{\bf x}\left(t-\tau\right)$

where ${\bf x}\left(\cdot\right)$ is a vector and ${\bf A}_{d}$ is a matrix. Stay tuned for more!
{"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 24, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "url": "https://stemsoup.wordpress.com/2012/06/15/delay-differential-equations-and-the-lambert-w-function/", "fetch_time": 1597013585000000000, "content_mime_type": "text/html", "warc_filename": "crawl-data/CC-MAIN-2020-34/segments/1596439738595.30/warc/CC-MAIN-20200809222112-20200810012112-00578.warc.gz", "warc_record_offset": 515150231, "warc_record_length": 24258, "token_count": 876, "char_count": 3406, "score": 4.25, "int_score": 4, "crawl": "CC-MAIN-2020-34", "snapshot_type": "latest", "language": "en", "language_score": 0.8605868816375732, "file_path": "/sailhome/yjruan/project/latent-lm/data/processed/finemath-4plus/finemath-4plus/train-00031-of-00064.parquet"}