d specifying <code>num_knots</code> with respect to
<code>smoothness_orders</code>, and as a vector of length <code>max_degree</code> with
values decreasing exponentially. This prevents combinatorial explosions in
the number of higher-degree basis functions generated. The default behavior
of <code>num_knots</code> follows this logic — for <code>smoothness_orders = 0</code>,
<code>num_knots</code> is set to \(500 / 2^{j-1}\), and for
<code>smoothness_orders = 1</code> or higher, <code>num_knots</code> is s