About John D. Cook

I have decades of consulting experience helping companies solve complex problems involving applied math, statistics, and data privacy.

The RSS's url is : https://www.johndcook.com/blog/feed/

Please copy to your reader or subscribe it with :

Preview of RSS feed of John D. Cook

Confidential OCR

2024-11-21 02:00:47

A client emailed me a screenshot of a table rather than pasting the table as text into an email. I thought about using an LLM to convert it to text, but the table is confidential client information and so I shouldn’t upload it anywhere. I searched for a command line utility to do OCR and […]

The post Confidential OCR first appeared on John D. Cook.

Perfect numbers

2024-11-20 20:40:50

A perfect number is a positive integer equal to the sum of its proper divisors, all divisors less than itself. The first three examples are as follows. 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 496 = 1 + 2 + 4 + 8 + […]

The post Perfect numbers first appeared on John D. Cook.

Food and Grace

2024-11-19 19:57:51

I stumbled on a post on X this morning, a commentary on the photo of RFK eating food from McDonalds that has been making the rounds. This photo divides Puritans from Southerners. Puritans think because RFK Jr is on the side of health food he can never commit such a “sin.” Southerners think a rare […]

The post Food and Grace first appeared on John D. Cook.

Bluesky account

2024-11-18 21:14:31

I’ve had a Bluesky account for over a year, but never posted much on it. Recently I noticed I’d gotten more followers on Bluesky and thought I might try posting there more often. I am not moving to Bluesky. I have orders of magnitude more followers on X than on Bluesky and so I will […]

The post Bluesky account first appeared on John D. Cook.

The mathematics of GPS

2024-11-17 04:48:27

The basic idea of GPS is that if you know the distance to several satellites, you can figure out your position. But you don’t actually know, or need to know, the distance to the satellites: you know the time (according to each satellite’s clock) when the signals were sent, and you know the time (according […]

The post The mathematics of GPS first appeared on John D. Cook.

GPS satellite orbits

2024-11-15 21:19:35

GPS satellites all orbit at the same altitude. According to the FAA, GPS satellites fly in circular orbits at an altitude of 10,900 nautical miles (20,200 km) and with a period of 12 hours. Why were these orbits chosen? You can determine your position using satellites that are not in circular orbits, but with circular […]

The post GPS satellite orbits first appeared on John D. Cook.

Ramanujan’s master theorem

2024-11-14 19:31:45

A few weeks ago I wrote about the Mellin transform. Mitchell Wheat left comment saying the transform seems reminiscent of Ramanujan’s master theorem, which motivated this post. Suppose you have a function f that is nice enough to have a power series. Now focus on the coefficients ak as a function of k. We’ll introduce […]

The post Ramanujan’s master theorem first appeared on John D. Cook.

Linear combination of sine and cosine as phase shift

2024-11-13 04:37:50

Here’s a simple calculation that I’ve done often enough that I’d like to save the result for my future reference and for the benefit of anyone searching on this. A linear combination of sines and cosines a sin(x) + b cos(x) can be written as a sine with a phase shift A sin(x + φ). […]

The post Linear combination of sine and cosine as phase shift first appeared on John D. Cook.

Resolving a mysterious problem with find

2024-11-12 22:04:49

Suppose you want to write a shell script searches the current directory for files that have a keyword in the name of the file or in its contents. Here’s a first attempt. find . -name '*.py' -type f -print0 | grep -i "$1" find . -name '*.py' -type f -print0 | xargs -0 grep -il […]

The post Resolving a mysterious problem with find first appeared on John D. Cook.

The Postage Stamp Problem

2024-11-11 00:57:42

I recently stumbled upon the Postage Stamp Problem. Given two relatively prime positive numbers a and b, show that any sufficiently large number N, there exists nonnegative integers x and y such that ax + by = N. I initially missed the constraint that x and y must be positive, in which result is well […]

The post The Postage Stamp Problem first appeared on John D. Cook.

Impersonating an Edwardian math professor

2024-11-10 19:19:47

I’ve read some math publications from around a century or so ago, and I wondered if I could pull off being a math professor if a time machine dropped me into a math department from the time. I think I’d come across as something of an autistic savant, ignorant of what contemporaries would think of […]

The post Impersonating an Edwardian math professor first appeared on John D. Cook.

Maybe Copernicus isn’t coming

2024-11-06 05:13:00

Before Copernicus promoted the heliocentric model of the solar system, astronomers added epicycle on top of epicycle, creating ever more complex models of the solar system. The term epicycle is often used derisively to mean something ad hoc and unnecessarily complex. Copernicus’ model was simpler, but it was less accurate. The increasingly complex models before […]

The post Maybe Copernicus isn’t coming first appeared on John D. Cook.

Trigonometric interpolation

2024-11-06 01:54:15

Suppose you want to interpolate a set of data points with a combination of sines and cosines. One way to approach this problem would be to set up a system of equations for the coefficients of the sines and cosines. If you have N data points, you will get a system of N equations in […]

The post Trigonometric interpolation first appeared on John D. Cook.

Moments with Laplace

2024-11-05 11:17:15

This is a quick note to mention a connection between two recent posts, namely today’s post about moments and post from a few days ago about the Laplace transform. Let f(t) be a function on [0, ∞) and F(s) be the Laplace transform of f(t). Then the nth moment of f, is equal to then nth derivative […]

The post Moments with Laplace first appeared on John D. Cook.

The impossible puzzle

2024-11-05 01:48:01

It’s fascinating that there’s such a thing as the World Jigsaw Puzzle Championship. The winning team of the two-person thousand-piece puzzle round can assemble a Ravensburger puzzle in less than an hour—that’s about 3 -1/2 seconds per piece. It makes you wonder, how could you measure the hardness of a jigsaw puzzle? And what would […]

The post The impossible puzzle first appeared on John D. Cook.

When do moments determine a function?

2024-11-04 20:35:32

The use of the word “moment” in mathematics is related to its use in physics, as in moment arm or moment of inertia. For a non-negative integer n, the nth moment of a function f is the integral of xn f(x) over the function’s domain. Uniqueness If two continuous functions f and g have all […]

The post When do moments determine a function? first appeared on John D. Cook.

Floating point: Everything old is new again

2024-11-02 03:41:03

In the early days of computing hardware (and actually before) mathematicians put a lot of effort into understanding and mitigating the limitations of floating point arithmetic. They would analyze mundane tasks such as adding a list of numbers and think carefully about the best way to carry out such tasks as accurately as possible. Now […]

The post Floating point: Everything old is new again first appeared on John D. Cook.

How hard is constraint programming?

2024-10-31 19:52:13

I’ve been writing code for the Z3 SMT solver for several months now. Here are my findings. Python is used here as the base language. Python/Z3 feels like a two-layer programming model—declarative code for Z3, imperative code for Python. In this it seems reminiscent of C++/CUDA programming for NVIDIA GPUs—in that case, mixed CPU and […]

The post How hard is constraint programming? first appeared on John D. Cook.

Band-limited expansion

2024-10-28 21:39:11

The band-limited expansion of the function f(x) is given by where sinc(x) = sin(πx)/πx. This is also called the sinc expansion, or the Whittaker cardinal after its discoverer E. T. Whittaker [1]. This is called the band-limited expansion of f because each term in the infinite sum is band-limited, i.e. only has Fourier spectrum within […]

The post Band-limited expansion first appeared on John D. Cook.

Delay differential equations

2024-10-26 18:13:50

Sometimes the future state of a system depends not only on the current state (position, velocity, acceleration, etc.) but also on the previous state. Equations for modeling such systems are known as delay differential equations (DDEs), difference differential equations, retarded equations, etc. In a system with hysteresis, it matters not only where you are but […]

The post Delay differential equations first appeared on John D. Cook.

Laplace transform inversion theorems

2024-10-26 07:00:24

The way Laplace transforms, as presented in a typical differential equation course, are not very useful. Laplace transforms are useful, but not as presented. The use of Laplace transforms is presented is as follows: Transform your differential equation into an algebraic equation. Solve the algebraic equation. Invert the transform to obtain your solution. This is correct, but […]

The post Laplace transform inversion theorems first appeared on John D. Cook.

Mellin transform and Riemann zeta

2024-10-26 04:23:15

The Mellin transform of a function f is defined as For example, it follows directly from the definition that the gamma function Γ(s) is the Mellin transform of the function e−x. I ran across an exercise that states an impressive-looking theorem about the Mellin transform, namely that where F(s) denotes the Mellin transform of f(x). […]

The post Mellin transform and Riemann zeta first appeared on John D. Cook.

Sawtooth waves

2024-10-24 08:57:30

I woke up around 3:00 this morning to some sort of alarm outside. It did not sound like a car alarm; it sounded like a sawtooth wave. The pattern was like a few Morse code O’s. Not SOS, or I would have gotten up to see if anyone needed help. Just O’s. A sawtooth wave […]

The post Sawtooth waves first appeared on John D. Cook.

Pioneering work is ugly

2024-10-22 23:57:55

“A mathematician’s reputation rests on the number of bad proofs he has given. (Pioneer work is clumsy.)” — A. S. Besicovitch I’m sure I’ve written about this quote somewhere, but I can’t find where. The quote comes from A Mathematician’s Miscellany by J. E. Littlewood, citing Besicovitch. I’ve more often seen the quote concluding with […]

The post Pioneering work is ugly first appeared on John D. Cook.

New Mersenne prime found

2024-10-22 02:36:10

Mersenne numbers have the form 2p − 1. A Mersenne prime is a Mersenne number that is also a prime. A new Mersenne prime discovery was announced today: 2p − 1 is prime for p = 136279841. The size of the new Mersenne prime is consistent with what was predicted. For many years now, the […]

The post New Mersenne prime found first appeared on John D. Cook.

Channel capacity of a telegraph

2024-10-20 06:59:40

Claude Shannon’s famous paper A Mathematical Theory of Communication [1] includes an example saying that the channel capacity of a telegraph is log2 W where W is the largest real root of the determinant equation Where in the world did that come from? I’ll sketch where the equation above came from, but first let’s find […]

The post Channel capacity of a telegraph first appeared on John D. Cook.

Squares, triangles, and octal

2024-10-18 01:53:44

I ran across the following theorem in Ross Honsberger’s book Mathematical Morsels: Every odd square ends in 1 in base 8, and if you cut off the 1 you have a triangular number. A number is an odd square if and only if it is the square of an odd number, so odd squares have […]

The post Squares, triangles, and octal first appeared on John D. Cook.

RNG, PRNG, CSPRNG

2024-10-17 07:15:18

Most random number generators are pseudorandom number generators (PRNGs). The distinction may be pedantic or crucial, depending on context. In the context of cryptography, it’s critical. For this post, RNG will mean a physical, true random number generator. A PRNG may be suitable for many uses—Monte Carlo simulation, numerical integration, game development, etc.—but not be […]

The post RNG, PRNG, CSPRNG first appeared on John D. Cook.

Triangle circle maximization problem

2024-10-17 05:40:59

Let a, b, and c be the sides of a triangle. Let r be the radius of an inscribed circle and R the radius of a circumscribed circle. Finally, let p be the perimeter. Then the previous post said that 2prR = abc. We could rewrite this as 2rR = abc / (a + b […]

The post Triangle circle maximization problem first appeared on John D. Cook.

Relating six properties of a triangle in one equation

2024-10-16 07:33:54

Let a, b, and c be the sides of a triangle. Let p be perimeter of the triangle. Let r be the radius of the largest circle that can be inscribed in the triangle, and let R be the radius of the circle through the vertices of the triangle. Then all six numbers can be […]

The post Relating six properties of a triangle in one equation first appeared on John D. Cook.