Multifractals from IFS

A simple way to construct multifractals is to use an IFS with transformations {T1, ..., TN}, contraction ratios r1, ..., rN, and probabilities p1, ..., pN.
We will show how to construct the f(α) curve from this information, through an auxiliary function β(q) defined by the equation.
(p1q)(r1β(q)) + ... + (pNq)(rNβ(q)) = 1
The similarity to the Moran equation
r1d + r2d + ... + rNd = 1
is apparent.
A reason for this approach is that for large positive q the larger pi dominate; for large negative q the the smaller pi dominate.

First, we note that each q determines a unique value of β(q).
All β(q) curves share several properties:
A: β(q) → ∞ as q → -∞ and β(q) → -∞ as q → ∞
B: β(q) is a decreasing function of q
C: the graph of β(q) is concave up
Corresponding to each q, say α is the negative of the slope of the tangent to the graph of β(q). This tangent line intersects the y-axis at a value called f(α).
In the special case that the scaling factors r1, r2, ..., rN all are equal, the formulas for α and f(α) can be simplified.
 
First note that in this case the expression for β(q),
p1qr1β(q) + p2qr2β(q) + ... + pNqrNβ(q) = 1
reduces to
p1qrβ(q) + p2qrβ(q) + ... + pNqrβ(q) = 1
This can be solved explicitly for rβ(q)
rβ(q) = 1/(p1q + p2q + ... + pNq)
and so β(q) is given by
β(q) = -Log(p1q + p2q + ... + pNq) / Log(r)
 
Next, the expression for α = -dβ/dq simplifies to
α(q) = (rβ(q) (p1qLog(p1) + ... + pNqLog(pN))) / (rβ(q) Log(r) (p1q + ... + pNq))
hence to
α(q) = (p1qLog(p1) + ... + pNqLog(pN)) / (Log(r) (p1q + ... + pNq))
 
Finally, combining these f(α(q)) can be computed explicitly from the familiar formula
f(α(q)) = q⋅α(q) + β(q)
The f(α) curve can be approximated by letting q range from some negative value, say q = -20, to some positive value, say q = 20, in fairly small steps. This avoids the substantial headaches involved in trying to write f as an explicit, even if only approximate, function of α.
 
For N = 4 and r = 0.5, we have f(α(q)) =
q⋅(p1qLog(p1) + ... + p4qLog(p4))/(Log(0.5)⋅(p1q + ... + p4q)) - Log(p1q + ... + p4q)/Log(0.5)
 
Finally, there is a simple interpretation of the highest point of the f(α) curve.