Skip to main content

My Journey into Constructions of Pathological Functions

 

My Journey into Constructions of Pathological Functions

When I first learned about continuous but nowhere differentiable functions, I was fascinated. The idea that you could draw a function without lifting your pencil, yet never find a tangent line anywhere, felt like a paradox. How could such functions exist? And more importantly — could I discover one myself, using only the tools I knew?

This question eventually led me to write my paper Functional Equations and Combinatorial Constructions of Pathological Functions in Real Analysis. But the road there was more like a chain of small discoveries than a single big idea.      check out the full paper


The Starting Point: Weierstrass and Takagi

My journey began with the Weierstrass function:

W(x)=n=0ancos(bnπx).W(x) = \sum_{n=0}^\infty a^n \cos(b^n \pi x).

It’s elegant, but all the proofs I could find that WW is nowhere differentiable used harmonic analysis. Fourier series, lacunarity arguments, deep inequalities. I thought: there has to be a simpler way.

Then I found the Takagi function:

T(x)=n=02nτ(2nx),τ(x)=dist(x,Z).T(x) = \sum_{n=0}^\infty 2^{-n} \tau(2^n x), \quad \tau(x) = \text{dist}(x,\mathbb{Z}).

This was more combinatorial, more elementary. It felt like something I could play with directly. So I asked: what if I tweak the coefficients and scaling? What happens to differentiability?


Playing with Functional Equations

I noticed that Takagi’s function satisfies a functional equation. If you zoom in by a factor of 2 and scale down, you get the same function back. That suggested fixed-point methods.

So I tried writing something like:

(TF)(x)=g(x)+αF(βx),(TF)(x) = g(x) + \alpha F(\beta x),

and wondered: what kind of functions arise as fixed points of this operator?

By applying the Banach fixed-point theorem, I realized I could generate functions of the form:

F(x)=n=0αng(βnx).F(x) = \sum_{n=0}^\infty \alpha^n g(\beta^n x).

This was a big moment: I had a whole family of functions generalizing Takagi.

Now the question became: which of these are smooth, and which are pathological?


The Phase Transition

The key was analyzing difference quotients:

Q(x,h)=F(x+h)F(x)h.Q(x,h) = \frac{F(x+h) - F(x)}{h}.

For the generalized Takagi function

Tα,β(x)=n=0αnτ(βnx),T_{\alpha,\beta}(x) = \sum_{n=0}^\infty \alpha^n \tau(\beta^n x),

I derived the identity:

Q(x,h)=τ(x+h)τ(x)h+αβQ(βx,βh).Q(x,h) = \frac{\tau(x+h) - \tau(x)}{h} + \alpha\beta \, Q(\beta x, \beta h).

Iterating this relation was like peeling back layers of self-similarity. Eventually, I saw the pattern:

  • If αβ<1\alpha\beta < 1, the difference quotients remain controlled → Lipschitz continuity.

  • If αβ1\alpha\beta \geq 1, the quotients blow up along some sequence → nowhere differentiability.

It felt like discovering a phase transition: just by crossing the threshold αβ=1\alpha\beta = 1, everything changes.


Digits and Irregularity

But I wasn’t done. I kept thinking about whether I could build a pathological function directly from binary digits. After all, numbers in [0,1][0,1] have expansions:

x=n=1dn(x)2n,dn(x){0,1}.x = \sum_{n=1}^\infty d_n(x) 2^{-n}, \quad d_n(x) \in \{0,1\}.

What if I turned these digits into weights in a series?

So I tried:

fp(x)=n=1dn(x)np,p>1.f_p(x) = \sum_{n=1}^\infty \frac{d_n(x)}{n^p}, \quad p > 1.

It converges uniformly (since np<\sum n^{-p} < \infty), so fpf_p is continuous.

But what about differentiability?

I realized that binary expansions let you flip digits locally. With a small perturbation hh, you can change the mm-th digit while keeping earlier digits fixed. That gave me a lower bound:

fp(x+h)fp(x)h2mmp.\Bigg|\frac{f_p(x+h) - f_p(x)}{h}\Bigg| \gtrsim \frac{2^m}{m^p}.

And since 2m2^m grows faster than mpm^p, the difference quotients diverge. So fpf_p is nowhere differentiable.

It was so simple, yet so effective: pathology born from digit flips.


Putting It Together

At this point, I had two independent constructions:

  1. Functional equations (self-similarity, scaling).

  2. Combinatorics of digits (binary expansions).

Both led to continuous nowhere differentiable functions, but from very different angles. To me, that was the real beauty: pathology isn’t a single trick, it’s a recurring theme in analysis.


What I Learned

  • Sometimes, deep theorems (like Hardy’s) can be approached with elementary tools if you find the right perspective.

  • Self-similarity and digit expansions are incredibly powerful — they hide wildness inside simple formulas.

  • Doing math isn’t about memorizing results. It’s about playing with definitions, tweaking them, and seeing where they lead.

When I started, I didn’t expect to rediscover known results, let alone prove new ones. But by following curiosity, I ended up with a framework that feels natural and elegant.


Closing Thoughts

Pathological functions remind us that analysis is not about smooth curves drawn with a steady hand. It’s about exploring the edge cases, the counterexamples, the surprises that force us to rethink what continuity and differentiability really mean.

For me, this journey wasn’t just about proving theorems — it was about discovering beauty in chaos, and realizing that mathematics rewards curiosity as much as rigor.



Comments

Popular posts from this blog

Sharp Extremal Bounds for Angular Occupancy (Behind the Curtains)

you can find the full paper here First Attempts, and the Limits of Energy When I first began thinking about angular occupancy, I wasn’t looking for a brand-new problem. I was chasing a theme that has long fascinated me in discrete geometry: how do we measure the geometric richness of a finite set of points? This fascination is not unique to me. Erdős, way back in 1946, posed the distinct distances problem : given n points in the plane, how many distinct distances can they determine? That question alone gave birth to entire decades of work in combinatorial geometry. Later, Fishburn and Füredi asked about distinct angles , while Pach and Sharir studied repeated angles . Each time, the same underlying itch was being scratched: when you place points in the plane, what kinds of diversity can they generate? Why angles, why bins? It was natural to think of angles — after all, distances and directions had already been well studied. But if you go straight for “distinct angles,” you run in...

The Art of Goodbye

  The Art of Goodbye: How Relationships End and Why It Matters The friendship had been slowly dissolving for months. What used to be weekly coffee dates became monthly check-ins, then sporadic text messages, then silence. No fight precipitated the ending, no dramatic confrontation or betrayal. It simply... faded. One day you realized you hadn't spoken to someone who was once central to your life, and you weren't sure when the relationship had officially ended or even if it had. This ambiguous loss left you with a peculiar grief – mourning someone still alive, still accessible, but no longer present in your world. This experience is incredibly common yet rarely discussed. While we have cultural scripts for how relationships begin – meet-cutes, first dates, friendship origin stories – we have few models for how they end. We talk extensively about building connections but rarely about gracefully releasing them. This gap in our social understanding leaves many people unprepared ...

Getting Stuck: When Dijkstra Meets Negative Edges

  Getting Stuck: When Dijkstra Meets Negative Edges One of the joys (and pains) of computer science is when you take a tool you know, confidently apply it, and then watch everything break down in surprising ways. This happened to me recently when I decided to revisit shortest path algorithms — specifically, Dijkstra’s algorithm — only to get stuck in a swamp of negative edges. Setting the Scene The problem was classic: Given a directed, weighted graph and a source vertex, find the shortest path to all other vertices. This is the kind of problem that every CS student learns early, usually with Dijkstra’s algorithm. I already knew Dijkstra like an old friend: Keep a priority queue of distances. Always expand the node with the current smallest distance. Relax its edges. Simple, elegant, efficient ( O((V + E) log V) with a binary heap). So when I started coding a graph utility for my project — a tool to analyze transportation networks — I confidently plugged in D...