8
$\begingroup$

I am reading an interesting paper One of the numbers ζ(5), ζ(7), ζ(9), ζ(11) is irrational by Zudilin. Define $$\varphi_0(x,y):=\sum_{j=1}^{3}([y]+[\eta_0x-y]-[y-\eta_j x]-[(\eta_0-\eta_j)x-y]-2[\eta_j x])+\sum_{j=4}^{13}([(\eta_0-2\eta_j)x]-[y-\eta_j x]-[(\eta_0-\eta_j)x-y])$$ where [.] denotes the floor function and $$\eta_0=91,\eta_1=\eta_2=\eta_3=27,\eta_4=29,\eta_5=30,\eta_6=31,...,\eta_{12}=37,\eta_{13}=38.$$

Question: I need a Mathematica code (or by hand) to find intervals $I_{v}$ such that $$\min_{0\leq y<1} \varphi_0(\{x\},y)=v$$ when $\{x\}\in I_v\subset [0,1)$ for $v=0,1,...,K$.

We observe that $$\varphi_0(x,y)=\varphi_0(\{x\},\{y\})$$ where $\{x\}=x-\lfloor x \rfloor$ denotes the fractional part of $x$. So it is enough to calculate the minimum of this function inside the unit square $S_1:=\{(x,y):0\leq \{x\},\{y\}<1\}$.

In Arithmetic of Linear forms page $285-286$, the author writes

\begin{align*} \varphi(x)&=\nu, \quad x \in \Omega_\nu \setminus \Omega_{\nu+1}, \quad \nu = 0,1,\dots,9, \quad x\in[0,1), \text{where} \ \ \Omega_0 = [0,1),\\ \\ \Omega_1 &= \Omega_2 = \Bigl[\tfrac{2}{91},\tfrac{36}{37}\Bigr)\,\cup\, \Bigl[\tfrac{90}{91},1\Bigr),\\[6pt] \Omega_3 &= \Bigl[\tfrac{2}{91},\tfrac{1}{20}\Bigr)\, \cup\, \Bigl[\tfrac{5}{91},\tfrac{3}{4}\Bigr)\, \cup\, \Bigl[\tfrac{28}{37},\tfrac{13}{14}\Bigr)\, \cup\, \Bigl[\tfrac{14}{15},\tfrac{35}{37}\Bigr)\, \cup\, \Bigl[\tfrac{18}{19},\tfrac{27}{28}\Bigr)\, \cup\, \Bigl[\tfrac{88}{91},\tfrac{36}{37}\Bigr)\, \cup\, \Bigl[\tfrac{90}{91},1\Bigr),\\[6pt] &\;\vdots\notag\\ \Omega_9 &= \Bigl[\tfrac{1}{29},\tfrac{1}{28}\Bigr) \;\cup\; \Bigl[\tfrac{2}{29},\tfrac{1}{14}\Bigr) \;\cup\; \Bigl[\tfrac{7}{19},\tfrac{10}{27}\Bigr) \;\cup\; \Bigl[\tfrac{12}{25},\tfrac{13}{27}\Bigr) \;\cup\; \Bigl[\tfrac{17}{23},\tfrac{20}{27}\Bigr) \;\cup\; \Bigl[\tfrac{15}{17},\tfrac{23}{26}\Bigr) \;\cup\; \Bigl[\tfrac{24}{25},\tfrac{25}{26}\Bigr),\\ \Omega_{10} &= \varnothing. \end{align*} How did we find the intervals $\Omega_{0},\Omega_{1},\Omega_{2},\Omega_{3}$ such that $\varphi(x) = 0, x \in \Omega_0 \setminus \Omega_{1}$, $\varphi(x) = 1, x \in \Omega_1 \setminus \Omega_{2}$ and $\varphi(x) = 2, x \in \Omega_2 \setminus \Omega_{3}$.

I tried in Mathematica Cloud using:

r = 3;

q = 13;

etalis = {91, 27, 27, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38};


etasl = Table[eta[i] -> etalis[[i + 1]], {i, 0, 13}]


msl = Table[
  m[j] -> (Max[eta[r], eta[0] - 2 eta[r + 1], 
      eta[0] - eta[1] - eta[r + j]]) /. etasl, {j, 1, q - r}]


phi1[x_, y_] :=
 (Sum[
    (Floor[y] + Floor[eta[0] x - y] - Floor[y - eta[j] x] - 
       Floor[(eta[0] - eta[j]) x - y] - 
       2 Floor[eta[j] x]) /. etasl, {j, 1, r}]
   +      
   Sum[
    (Floor[(eta[0] - 2 eta[j]) x] - Floor[y - eta[j] x] - 
       Floor[(eta[0] - eta[j]) x - y]) /. etasl,
    {j, r + 1, q}
    ])

Any help would be highly appreciated. Thank you!

$\endgroup$
5
  • $\begingroup$ This doesn't answer your question as to why the integral value doesn't converge to the expected value, but to make phi easier to calculate, you may notice phi1 can only change value at a finite set of points for $y$ $$ $$ switchingPoints[x_] = Mod[Union[{0}, etalis, etalis[[1]] - etalis[[r ;; q + 1]]]*x, 1]; $$ $$ and the minimum will be at one of those points. $$ $$ phi[x_] := Min[phi1[x, #] & /@ switchingPoints[x]] $\endgroup$ Commented Jun 25, 2025 at 15:30
  • $\begingroup$ @ydd But with this code, I am not getting the set of points of minimum. Please help. $\endgroup$ Commented Jun 25, 2025 at 17:06
  • 1
    $\begingroup$ You mean you want the argmin values for $y$ like this ? You can then just calculate the intervals between those switching points at the minimum to get the region of $y$ that minimizes $\phi_1 (x,y)$ $\endgroup$ Commented Jun 25, 2025 at 17:23
  • $\begingroup$ Not familiar with the topic, but I'd suggest using a more informative title to make the question more attractive. $\endgroup$ Commented Jun 26, 2025 at 4:44
  • $\begingroup$ @ydd Yes you are right. We have $\varphi_0(x,y)=\varphi_0(\{x\},\{y\})$, where $\{x\}$ is fractional part of $x$. So it is enough to calculate the minimum on the square $0\leq x,y<1$. I need intervals of $x\in[0,1)$ such that $\min_{0\leq y <1} \varphi_0(x,y)= k, \text{if} \ x\in I_k$ where $k=0,1,...,K$ and $I_k$ are sub intervals of $[0,1)$. I am sorry if I am asking something trivial. $\endgroup$ Commented Jun 26, 2025 at 17:26

1 Answer 1

11
$\begingroup$
ClearAll["`*"]
r = 3;

q = 13;

etalis = {91, 27, 27, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38};

etasl = Table[eta[i] -> etalis[[i + 1]], {i, 0, 13}]


m[j_] := (Max[eta[r], eta[0] - 2 eta[r + 1], 
    eta[0] - eta[1] - eta[r + j]]) /. etasl

Define $$ \phi_1(x,y) = \sum_{j=1}^r \left( \lfloor y \rfloor + \lfloor \eta_0 x - y \rfloor - \lfloor y - \eta_j x \rfloor - \lfloor (\eta_0 - \eta_j) x - y\rfloor - \lfloor 2 \eta_j x \rfloor \right ) \\ + \sum_{j=1}^r \left(\lfloor (\eta_0 - 2 \eta_j)x \rfloor - \lfloor y - \eta_j x\rfloor - \lfloor (\eta_0 - \eta_j)x -y \rfloor \right ), 0 \leq y \lt 1 $$

You can combine the sums, and move the parts that only depend on $x$ outside the sum. There is also a term depending on $\eta_0$ I leave separate. $\lfloor y \rfloor = 0$ because $0 \leq y \lt 1$.

$$ \begin{align} &\phi_1(x,y) = A(x,y) + B(x) + S(x,y) \\\\ &A(x,y) = r \lfloor \eta_0 x - y \rfloor \\\\ &B(x) = -2 \sum_{j=1}^r \lfloor \eta_j x \rfloor + \sum_{j=r+1}^q \lfloor (\eta_0 - 2\eta_j)x \rfloor \\\\ &S(x,y) = - \sum_{j=1}^q \left( \lfloor y - \eta_j x \rfloor + \lfloor(\eta_0-\eta_j)x -y \rfloor \right) \end{align} $$

termA[x_, y_] = r Floor[eta[0] x - y];

termB[x_] = -2 Sum[Floor[eta[j] x], {j, r}] + 
   Sum[ Floor[(eta[0] - 2 eta[j]) x], {j, r + 1, q}];

termS[x_, 
   y_] = -Sum[(Floor[y - eta[j] x] + 
      Floor[(eta[0] - eta[j]) x - y]), {j, q}];

phi1[x_, y_] = termA[x, y] + termB[x] + termS[x, y] /. etasl;

and $\phi(x)$ is defined as in the paper, but since $B(x)$ is independent of $y$ it can be removed from the min: $$ \begin{align} &\varphi(x) = \min_{0\leq y<1} \phi_1(x,y) \\ &\varphi(x) = B(x) + \min_{0\leq y<1} \left( A(x,y) + S(x,y) \right) \end{align} $$

Now we need to think about where $$ A(x,y) + S(x,y) $$ can change value. Observe that $ S(x,y) $ is a linear sum of two types of functions: functions that look like $$ - \lfloor k x - y \rfloor $$

and functions that look like $$ - \lfloor -k x + y \rfloor $$

for some natural number $k$ which depends on the values of $\eta$.

For either type of function, if you imagine a fixed $x$, and starting moving right from $y = 0$, each function will increment by 1 at the point $$ y = \{k x\} $$

where $\{.\}$ denotes the fractional part.

And the values $k$ can be found by recalling the definitions of $A$ and $S$: $$ k \in \eta_j \bigcup (\eta_0 - \eta_j) \bigcup \eta_0 ~~,~~ j = 1,..,q $$

Since these are the only location our objective function changes value, the minimum value must occur in at least one of the points.

Furthermore, since we are searching for a minimum, the value must decrease (or remain constant) when it changes. Which means we only need to look at the $k$ values associated with functions of the 2nd form $$ -\lfloor -k x + y \rfloor $$

Which are just $$ k \in \eta_j, j = 1,..,q $$

And finally, since $$ A(x,y) = r \lfloor \eta_0 x - y \rfloor $$ the function also decreases at $\{\eta_0 x\}$ so we know a $y$ exists that minimizes $\phi_1(x,y)$ and satisfies $$ \text{arg}\!\min_{0\leq y<1} \phi_1(x,y) = \{\eta_i x\} $$ for some $i = 0,2,...,q$.

Since we also know the locations where $S(x,y) + A(x,y)$ increase, we can find $\varphi(x)$ by just accumulating the values at the points the values changes (and multiplying in the linear coefficients of $S(x,y)$ and $A(x,y)$ ), finding the minimum of the list, and adding the value at $y=0$ $$ X_0(x) = A(x,0) + B(x) + S(x,0) $$

(*locations phi1 decreases*)
decreasePoints[x_] = FractionalPart[DeleteDuplicates@etalis*x];

(*locations phi2 increases*)
increasePoints[x_] = 
  FractionalPart[DeleteDuplicates@(etalis[[1]] - Rest@etalis)*x];

(*put together in a list*)
allPoints[x_] = Join[decreasePoints[x], increasePoints[x]];

(*decrease coefficients. Normally it just decrements by 1*)
decreaseCoeffs = ConstantArray[-1, 12];
(*but the term associated with eta[0] is -r.*)
decreaseCoeffs[[1]] = -r;
(*also there are 3 eta values equal to 27, so that coefficient is \
-3 since I deleted duplicates*)
decreaseCoeffs[[2]] = -3;

(*increase coefficients. Normally it just increments by 1*)
increaseCoeffs = ConstantArray[1, 11];
(*but since there are 3 etas with the same value, the first one is 3*)
increaseCoeffs[[1]] = 3;

allCoefs = Join[decreaseCoeffs, increaseCoeffs];

(*value at y=0*)
xInitTerm[x_] := (termA[x, 0] + termS[x, 0] + termB[x]) /. etasl;

(*sort points by allPoints, accumulate, and find minimum*)
minChange[x_?NumericQ] := 
  Min@Accumulate@allCoefs[[Ordering[allPoints[N@x]]]];

(*and phi[x] is the min change in value starting at xInitTerm*)
phi[x_?NumericQ] := minChange[x] + xInitTerm[x]

And finally for integration. Note that $\varphi(x) = 0$ for $0≤x < \frac{2}{\eta_0}$, since we have $\phi_1(\frac{z}{\eta_0},\frac{z}{2}) = 0 $ when $0 \leq z <2$:

expr = phi1[z/91, z/2];
Simplify[expr, 0 <= z < 2]
(*0*)

So we increase our lower integration bound from 0 to 2/91 and numerically integrate:

int1 = NIntegrate[phi[x]*PolyGamma[1, x], {x, 2/91, 1}, 
   Method -> "LocalAdaptive", MaxRecursion -> 100];
int2 = NIntegrate[phi[x]/x^2, {x, 2/91, 1/m[q - r]}, 
   Method -> "LocalAdaptive", MaxRecursion -> 100];
const = r m[1] + Sum[m[i], {i, 2, q - r}];
const - (int1 - int2)
(*226.249*)

Which seems pretty close.

Exact value for integral

Since minChange only depends on the ordering of the points (call this set of points $P(x)$):

$$ P_x = \{\eta_j x\} \bigcup \{(\eta_0 -\eta_j) x\} \bigcup \{\eta_0 x\} ~~ , j = 1,...,q $$

We can find where minChange will change ordering after starting at a given $x_0$ by finding the smallest positive $\epsilon$ such that:

$$ \Omega \left(x_0 + \epsilon \right) \neq \Omega \left(x_0\right) $$

where $\Omega \left(x \right)$ denotes the ordering of values in $P_x$.

To find $\epsilon$, consider $T_{x_0}$ to be $P_{x_0}$ in ordered form $$ \begin{align} T_{x_0} = \mathrm{Sort}[P_{x_0}] \\ T_{x_0} = p_1,p_2,...,p_{n-1},p_n \\ p_1 \leq p_2,..., \leq p_{n-1} \leq p_n \end{align} $$

And each $p_i$ looks like

$$ \{a_i x_0\} $$

for a natural number $a$.

Notice that if $\epsilon < w$ with $$ w = \min \frac{1-p_i}{a_i} $$

Then we have

$$ \{a_i (x_0 + \epsilon) \} = \{a_i x_0 \} + a_i \epsilon = p_i + a_i \epsilon $$

And we can just do pairwise tests to find the smallest $0 ≤ \epsilon_i < w$ for each pair of points in $T$:

$$ \begin{align} & p_i + a_i \epsilon_i ≤ p_{i+1} + a_{i+1} \epsilon_i \\\\ & (a_i-a_{i-1}) \epsilon_i ≤ p_{i+1} - p_i \\\\ & \epsilon_i = \min \left(\frac{p_{i+1} - p_i}{a_i-a_{i-1}}, w \right) ~~ , a_i > a_{i-1} \\\\ & \epsilon_i = w ~~, a_i < a_{i-1} \end{align} $$

And we just take the minimum nonzero value of all pairwise tests $$ \epsilon = \min(\epsilon_i > 0) $$

So we can now separate 0≤x≤1 into regions with the same minChange value as a given $x_0$:

constantInterval[x0_] := 
 Module[{p, w, ordering, q, a, epsilonList, epsilon},
  a = Union[etalis, etalis[[1]] - Rest[etalis]];
  p = FractionalPart[a x0];
  w = Min[(1 - p)/a];
  ordering = Ordering[p];
  q = Sort[p];
  a = a[[ordering]];
  epsilonList = -(Differences[q]/Differences[a]);
  epsilonList = Clip[epsilonList, {0, Infinity}, {w, w}];
  epsilonList = Select[epsilonList, # > 0 &];
  epsilonList = Join[epsilonList, {w}];
  epsilon = Min[epsilonList];
  x0 + epsilon]

It should be noted we removed the cases where $\epsilon = 0$, which are isolated points which may or may not be equal to their neighbors in value. Take for example $x_0 = 1/38$:

minChange[1/38]
(*-4*)
minChange[1/38 + $MachineEpsilon]
(*-3*)
minChange[1/38 - $MachineEpsilon]
(*-3*)

But these points will have no effect on integration since we integrate over a finite region, and the values of the isolated points themselves are finite.

So now we can calculate the integral component coming from minChange, by using the value of minChange at the midpoint of each constant value region:

integrationLowerBound = 2/etalis[[1]];
steps = NestWhileList[constantInterval, integrationLowerBound, # < 1 &];
intervals = Partition[steps, 2, 1];
midPoints = Mean /@ intervals;
midVals = minChange /@ midPoints;

mBound = 1/m[q - r];

with2ndInt = 
  Take[intervals, FirstPosition[intervals[[All, 2]], mBound][[1]]];
midVals2ndInt = 
  Take[midVals, FirstPosition[intervals[[All, 2]], mBound][[1]]];
intM2 = midVals2ndInt . Map[1/#[[1]] - 1/#[[2]] &, with2ndInt];
intM1 = midVals . 
   Map[PolyGamma[#[[2]]] - PolyGamma[#[[1]]] &, intervals];

intM = intM1 - intM2;

And then add the integral component from $X_0(x)$. Since $X_0(x)$ is a sum of floor functions, it is amenable to PiecewiseExpand by splitting it into a list first, integrating each part separately, and summing together:

(*xInitTerm is a linear sum of floor functions so split xInitTerm into\
 a list*)
listXInit[x_] = List @@ xInitTerm[x];
(*expand each floor function*)
x0Expanded[x_] = PiecewiseExpand[#, 2/91 <= x <= 1] & /@ listXInit[x];
(* and now we can integrate efficiently with exact precision*)
nFloorTerms = Length[x0Expanded[x]];

intX1 = Sum[
   intIndef = Integrate[x0Expanded[x][[i]]*PolyGamma[1, x], x];
   
   (intIndef /. x -> 1) - (intIndef /. x -> integrationLowerBound)
   , {i, nFloorTerms}];

intX2 = Sum[
   intIndef = Integrate[x0Expanded[x][[i]]/x^2, x];
   (intIndef /. x -> mBound) - (intIndef /. x -> integrationLowerBound)
   , {i, nFloorTerms}];
intX = intX1 - intX2;

And we calculate $C_1$

const = r m[1] + Sum[m[i], {i, 2, q - r}];
c1 = const - (intX + intM);
N[c1, 20]

(*226.24944266388667175*)

$C_1$'s exact value is given by a sum of 258 polygamma terms evaluated at rational points $u_i$ plus a rational and the Euler-Mascheroni constant. It's very long but looks like $$ C_1 = \frac{905}{2} + 3 \gamma + \sum_{i} z_i \psi\left(u_i\right) $$ Where the $z_i$ are integers and the denominator of the $u_i$'s are between 2 and $\eta_0$.

Small Add-on

I did what you suggested and also found the intervals over which $X_0(x)$ is constant, using the exact same method as I used to find the constant intervals of minChange:

x0Coeffs = Union@Abs@Cases[xInitTerm[x], Floor[a_ x] :> a, -1];
x0SwitchingPoint[x_] := 
  x + Min[(1 - FractionalPart[x0Coeffs*x])/x0Coeffs];
x0Steps = 
  NestWhileList[floorSwitchingPoint, integrationLowerBound, # < 1 &];

It turns out these intervals are a subset of the constant intervals of minChange:

Complement[x0Steps, steps]

(*{}*)

So we can actually just calculate phi directly at the midpoints of the minChange constant intervals (we calculate at the midpoints because the interval endpoints could be isolated points that are unequal to their neighbors), and now we don't have to deal with the annoying PiecewiseExpand of xInitTerm:

phiMids = phi /@ midPoints;
phiMids2 = 
  Take[phiMids, FirstPosition[intervals[[All, 2]], mBound][[1]]];
intT2 = phiMids2 . Map[1/#[[1]] - 1/#[[2]] &, with2ndInt];
intT1 = phiMids . 
   Map[PolyGamma[#[[2]]] - PolyGamma[#[[1]]] &, intervals];

intT = intT1 - intT2;

c1 = const - intT;

N[c1, 20]

(*226.24944266388667175*)

Which is the same result, but quite a lot simpler to calculate.

Link to notebook with some extra comments at the end


More on finding Intervals of $x$ where $\varphi(x)$ is a constant value

An interval $[x_0, x_0+\epsilon)$ will have a constant value $\varphi(x) = i$ if the ordering of the discontinuities $T_{x0}$ remains constant over the interval. As shown above, this occurs when:

$$ \epsilon = \min \left(\frac{p_{i+1} - p_i}{k_i-k_{i-1}}, w \right) ~~ , \forall k_i > k_{i-1} $$

Where $p$ is the sorted list of discontinuities: $$ \begin{align} & p_i = \{k_i x_0\} \\ & p_{i} \leq p_{i+1} \\ & k \in \eta_j \bigcup (\eta_0 - \eta_j) \bigcup \eta_0 ~~,~~ j = 1,..,q \\ & k \text{ is sorted by } p \end{align} $$ And $w$ is the smallest wrapping point, where one of the $\{k_i (x + w)\}$ wraps back to 0: $$ w = \min \frac{1 - p_i}{k_i} $$

So to get the intervals we can just do (note these last two codeblocks can be run independently of any previous codeblock):

r = 3;

q = 13;

etalis = {91, 27, 27, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38};


etasl = Table[eta[i] -> etalis[[i + 1]], {i, 0, 13}];


msl = Table[
   m[j] -> (Max[eta[r], eta[0] - 2 eta[r + 1], 
       eta[0] - eta[1] - eta[r + j]]) /. etasl, {j, 1, q - r}];


phi1[x_, 
   y_] := (Sum[(Floor[y] + Floor[eta[0] x - y] - Floor[y - eta[j] x] -
         Floor[(eta[0] - eta[j]) x - y] - 2 Floor[eta[j] x]) /. 
      etasl, {j, 1, r}] + 
    Sum[(Floor[(eta[0] - 2 eta[j]) x] - Floor[y - eta[j] x] - 
        Floor[(eta[0] - eta[j]) x - y]) /. etasl, {j, r + 1, q}]);

(*all y Points where phi changes or is about to change value*)
uniqueEtas = uniqueEtas = etalis;
subtractedEtas = Table[eta[0] - eta[j], {j, q}] /. etasl;
kList = Union[uniqueEtas, subtractedEtas];

yDiscontinuities[x_] := FractionalPart[kList*x];

(*the decrease points have to shifted by a small amount right since th\
ey are right on a discontinuity*)
yDecreasePoints[x_] := FractionalPart[uniqueEtas*(x + $MachineEpsilon)]

(*phi is just the minimum value at the decrease points*)
phi[x_] := Min@Table[phi1[x, y], {y, yDecreasePoints[x]}]

(*gets interval[x,x+ϵ) where phi is a constant value*)
getConstantInterval[x_] := 
 Module[{p, ord, w, k, yOrdered, ϵCandidates, ϵ},
  p = yDiscontinuities[x];
  ord = Ordering[p];
  
  w = Min[(1 - p)/kList];
  
  k = kList[[ord]];
  p = p[[ord]];
  
  ϵCandidates = -Differences[p]/Differences[k];
  ϵCandidates = Select[ϵCandidates, 0 < # <= w &];
  ϵCandidates = Join[ϵCandidates, {w}];
  
  ϵ = Min[ϵCandidates];
  x + ϵ
  ]
(*get endpoints of constant phi intervals*)
changePoints = NestWhileList[getConstantInterval, 0, # < 1 &];
(*split into pairs*)
intervals = Partition[changePoints, 2, 1];

And to get the $\Omega_\nu$ intervals as shown in the paper, we use the IntervalComplement resource function, add the initial conditions $\Omega_0 = [0,1) , \Omega_1 = \Omega_2$, and iteratively apply $ \Omega_\nu \setminus \Omega_{\nu+1}$ :

(* phi values at midpoints*)
samePhiIntervals = GatherBy[intervals, phi@*Mean];

(*sort them by phi values*)
samePhiIntervals = SortBy[samePhiIntervals, phi@*Mean@*First];

(*now create intervals*)
samePhiIntervals = Interval @@@ samePhiIntervals;


iComp = ResourceFunction["IntervalComplement"];

(*we add the initial region Ω0=[0,1} *)
Ω0 = Interval[{0, 1}];

(*and Ω1 = Ω2*)
samePhiIntervals = Join[{samePhiIntervals[[1]]}, samePhiIntervals];

(*and now iteravely apply the interval complement function*)
ΩList = 
  FoldList[iComp, Ω0, samePhiIntervals];

And we are able to recover (I believe, I haven't checked them all exactly) the intervals shown in the paper: $$ \begin{align}\\ &\Omega_{0} = [0,1)\\ &\Omega_{1} = [\frac{2}{91},\frac{36}{37})\bigcup[\frac{90}{91},1)\\ &\Omega_{2} = [\frac{2}{91},\frac{36}{37})\bigcup[\frac{90}{91},1)\\ &\Omega_{3} = [\frac{2}{91},\frac{1}{20})\bigcup[\frac{5}{91},\frac{3}{4})\bigcup[\frac{28}{37},\frac{13}{14})\bigcup[\frac{14}{15},\frac{35}{37})\bigcup[\frac{18}{19},\frac{27}{28})\bigcup[\frac{88}{91},\frac{36}{37})\bigcup[\frac{90}{91},1)\\ &\Omega_{4} = [\frac{1}{38},\frac{1}{22})\bigcup[\frac{5}{91},\frac{3}{26})\bigcup[\frac{2}{17},\frac{1}{8})\bigcup[\frac{4}{31},\frac{4}{27})\bigcup[\frac{5}{33},\frac{7}{30})\bigcup[\frac{4}{17},\frac{12}{37})\bigcup[\frac{30}{91},\frac{1}{3})\\ & \bigcup[\frac{31}{91},\frac{3}{8})\bigcup[\frac{14}{37},\frac{11}{28})\bigcup[\frac{13}{33},\frac{9}{22})\bigcup[\frac{7}{17},\frac{13}{28})\bigcup[\frac{8}{17},\frac{1}{2})\bigcup[\frac{19}{37},\frac{9}{14})\bigcup[\frac{20}{31},\frac{2}{3})\\ & \bigcup[\frac{21}{31},\frac{3}{4})\bigcup[\frac{25}{33},\frac{11}{14})\bigcup[\frac{26}{33},\frac{23}{28})\bigcup[\frac{14}{17},\frac{23}{27})\bigcup[\frac{31}{36},\frac{25}{27})\bigcup[\frac{85}{91},\frac{35}{37})\bigcup[\frac{20}{21},\frac{26}{27})\\ & \bigcup[\frac{32}{33},\frac{34}{35})\\ &\Omega_{5} = [\frac{1}{37},\frac{1}{27})\bigcup[\frac{1}{25},\frac{1}{24})\bigcup[\frac{5}{91},\frac{1}{18})\bigcup[\frac{2}{35},\frac{2}{27})\bigcup[\frac{3}{38},\frac{1}{12})\bigcup[\frac{8}{91},\frac{3}{34})\bigcup[\frac{2}{21},\frac{1}{9})\\ & \bigcup[\frac{4}{33},\frac{1}{8})\bigcup[\frac{5}{38},\frac{4}{27})\bigcup[\frac{3}{19},\frac{1}{6})\bigcup[\frac{5}{29},\frac{5}{27})\bigcup[\frac{4}{21},\frac{5}{26})\bigcup[\frac{6}{29},\frac{2}{9})\bigcup[\frac{5}{21},\frac{7}{27})\\ & \bigcup[\frac{4}{15},\frac{10}{37})\bigcup[\frac{2}{7},\frac{3}{10})\bigcup[\frac{7}{23},\frac{4}{13})\bigcup[\frac{6}{19},\frac{12}{37})\bigcup[\frac{30}{91},\frac{1}{3})\bigcup[\frac{10}{29},\frac{7}{20})\bigcup[\frac{13}{37},\frac{5}{14})\\ & \bigcup[\frac{33}{91},\frac{3}{8})\bigcup[\frac{8}{21},\frac{5}{13})\bigcup[\frac{13}{33},\frac{11}{27})\bigcup[\frac{12}{29},\frac{5}{12})\bigcup[\frac{8}{19},\frac{11}{26})\bigcup[\frac{14}{33},\frac{13}{30})\bigcup[\frac{40}{91},\frac{4}{9})\\ & \bigcup[\frac{5}{11},\frac{11}{24})\bigcup[\frac{17}{37},\frac{6}{13})\bigcup[\frac{17}{36},\frac{13}{27})\bigcup[\frac{16}{33},\frac{1}{2})\bigcup[\frac{16}{31},\frac{14}{27})\bigcup[\frac{8}{15},\frac{19}{35})\bigcup[\frac{17}{31},\frac{5}{9})\\ & \bigcup[\frac{19}{33},\frac{15}{26})\bigcup[\frac{18}{31},\frac{16}{27})\bigcup[\frac{20}{33},\frac{17}{28})\bigcup[\frac{19}{31},\frac{17}{27})\bigcup[\frac{11}{17},\frac{2}{3})\bigcup[\frac{17}{25},\frac{15}{22})\bigcup[\frac{20}{29},\frac{19}{27})\\ & \bigcup[\frac{12}{17},\frac{17}{24})\bigcup[\frac{21}{29},\frac{20}{27})\bigcup[\frac{23}{31},\frac{3}{4})\bigcup[\frac{69}{91},\frac{7}{9})\bigcup[\frac{15}{19},\frac{19}{24})\bigcup[\frac{4}{5},\frac{22}{27})\bigcup[\frac{14}{17},\frac{23}{27})\\ & \bigcup[\frac{25}{29},\frac{19}{22})\bigcup[\frac{27}{31},\frac{7}{8})\bigcup[\frac{29}{33},\frac{8}{9})\bigcup[\frac{26}{29},\frac{9}{10})\bigcup[\frac{28}{31},\frac{25}{27})\bigcup[\frac{31}{33},\frac{35}{37})\bigcup[\frac{87}{91},\frac{26}{27})\\ & \bigcup[\frac{32}{33},\frac{33}{34})\\ &\Omega_{6} = [\frac{1}{36},\frac{1}{27})\bigcup[\frac{1}{17},\frac{2}{27})\bigcup[\frac{9}{91},\frac{4}{37})\bigcup[\frac{10}{91},\frac{1}{9})\bigcup[\frac{12}{91},\frac{4}{27})\bigcup[\frac{16}{91},\frac{5}{27})\bigcup[\frac{19}{91},\frac{8}{37})\\ & \bigcup[\frac{5}{23},\frac{2}{9})\bigcup[\frac{7}{29},\frac{9}{37})\bigcup[\frac{23}{91},\frac{7}{27})\bigcup[\frac{2}{7},\frac{8}{27})\bigcup[\frac{29}{91},\frac{12}{37})\bigcup[\frac{30}{91},\frac{1}{3})\bigcup[\frac{33}{91},\frac{10}{27})\\ & \bigcup[\frac{15}{38},\frac{11}{27})\bigcup[\frac{3}{7},\frac{16}{37})\bigcup[\frac{40}{91},\frac{4}{9})\bigcup[\frac{9}{19},\frac{13}{27})\bigcup[\frac{47}{91},\frac{14}{27})\bigcup[\frac{7}{13},\frac{20}{37})\bigcup[\frac{50}{91},\frac{5}{9})\\ & \bigcup[\frac{53}{91},\frac{16}{27})\bigcup[\frac{8}{13},\frac{23}{37})\bigcup[\frac{57}{91},\frac{17}{27})\bigcup[\frac{59}{91},\frac{24}{37})\bigcup[\frac{15}{23},\frac{17}{26})\bigcup[\frac{23}{35},\frac{2}{3})\bigcup[\frac{9}{13},\frac{26}{37})\\ & \bigcup[\frac{64}{91},\frac{19}{27})\bigcup[\frac{66}{91},\frac{19}{26})\bigcup[\frac{67}{91},\frac{20}{27})\bigcup[\frac{13}{17},\frac{7}{9})\bigcup[\frac{4}{5},\frac{22}{27})\bigcup[\frac{76}{91},\frac{31}{37})\bigcup[\frac{16}{19},\frac{23}{27})\\ & \bigcup[\frac{29}{33},\frac{8}{9})\bigcup[\frac{31}{34},\frac{34}{37})\bigcup[\frac{23}{25},\frac{25}{27})\bigcup[\frac{31}{33},\frac{33}{35})\bigcup[\frac{87}{91},\frac{26}{27})\\ &\Omega_{7} = [\frac{1}{33},\frac{1}{27})\bigcup[\frac{1}{17},\frac{2}{27})\bigcup[\frac{9}{91},\frac{4}{37})\bigcup[\frac{10}{91},\frac{1}{9})\bigcup[\frac{12}{91},\frac{5}{37})\bigcup[\frac{1}{7},\frac{4}{27})\bigcup[\frac{16}{91},\frac{5}{27})\\ & \bigcup[\frac{19}{91},\frac{8}{37})\bigcup[\frac{20}{91},\frac{2}{9})\bigcup[\frac{22}{91},\frac{9}{37})\bigcup[\frac{9}{35},\frac{7}{27})\bigcup[\frac{2}{7},\frac{8}{27})\bigcup[\frac{29}{91},\frac{9}{28})\bigcup[\frac{10}{31},\frac{11}{34})\\ & \bigcup[\frac{33}{91},\frac{10}{27})\bigcup[\frac{36}{91},\frac{15}{37})\bigcup[\frac{37}{91},\frac{11}{27})\bigcup[\frac{3}{7},\frac{16}{37})\bigcup[\frac{40}{91},\frac{4}{9})\bigcup[\frac{10}{21},\frac{13}{27})\bigcup[\frac{47}{91},\frac{14}{27})\\ & \bigcup[\frac{7}{13},\frac{20}{37})\bigcup[\frac{50}{91},\frac{5}{9})\bigcup[\frac{53}{91},\frac{16}{27})\bigcup[\frac{8}{13},\frac{23}{37})\bigcup[\frac{57}{91},\frac{17}{27})\bigcup[\frac{59}{91},\frac{24}{37})\bigcup[\frac{9}{13},\frac{26}{37})\\ & \bigcup[\frac{64}{91},\frac{19}{27})\bigcup[\frac{66}{91},\frac{27}{37})\bigcup[\frac{67}{91},\frac{20}{27})\bigcup[\frac{10}{13},\frac{7}{9})\bigcup[\frac{73}{91},\frac{30}{37})\bigcup[\frac{74}{91},\frac{22}{27})\bigcup[\frac{11}{13},\frac{23}{27})\\ & \bigcup[\frac{80}{91},\frac{8}{9})\bigcup[\frac{83}{91},\frac{34}{37})\bigcup[\frac{12}{13},\frac{25}{27})\bigcup[\frac{87}{91},\frac{26}{27})\\ &\Omega_{8} = [\frac{1}{31},\frac{1}{27})\bigcup[\frac{6}{91},\frac{2}{27})\bigcup[\frac{9}{91},\frac{1}{10})\bigcup[\frac{3}{29},\frac{4}{37})\bigcup[\frac{10}{91},\frac{1}{9})\bigcup[\frac{2}{15},\frac{5}{37})\bigcup[\frac{1}{7},\frac{4}{27})\\ & \bigcup[\frac{3}{17},\frac{5}{28})\bigcup[\frac{7}{38},\frac{5}{27})\bigcup[\frac{7}{33},\frac{8}{37})\bigcup[\frac{20}{91},\frac{2}{9})\bigcup[\frac{8}{33},\frac{9}{37})\bigcup[\frac{9}{31},\frac{7}{24})\bigcup[\frac{5}{17},\frac{8}{27})\\ & \bigcup[\frac{4}{11},\frac{10}{27})\bigcup[\frac{37}{91},\frac{11}{27})\bigcup[\frac{11}{23},\frac{13}{27})\bigcup[\frac{7}{13},\frac{20}{37})\bigcup[\frac{16}{29},\frac{5}{9})\bigcup[\frac{53}{91},\frac{7}{12})\bigcup[\frac{17}{29},\frac{16}{27})\\ & \bigcup[\frac{13}{21},\frac{23}{37})\bigcup[\frac{23}{33},\frac{7}{10})\bigcup[\frac{64}{91},\frac{19}{27})\bigcup[\frac{14}{19},\frac{20}{27})\bigcup[\frac{10}{13},\frac{27}{35})\bigcup[\frac{25}{31},\frac{30}{37})\bigcup[\frac{74}{91},\frac{22}{27})\\ & \bigcup[\frac{11}{13},\frac{23}{27})\bigcup[\frac{80}{91},\frac{31}{35})\bigcup[\frac{83}{91},\frac{11}{12})\bigcup[\frac{12}{13},\frac{25}{27})\bigcup[\frac{22}{23},\frac{26}{27})\\ &\Omega_{9} = [\frac{1}{29},\frac{1}{28})\bigcup[\frac{2}{29},\frac{1}{14})\bigcup[\frac{7}{19},\frac{10}{27})\bigcup[\frac{12}{25},\frac{13}{27})\bigcup[\frac{17}{23},\frac{20}{27})\bigcup[\frac{15}{17},\frac{23}{26})\bigcup[\frac{24}{25},\frac{25}{26})\\ &\Omega_{10} = \varnothing \end{align} $$

$\endgroup$
12
  • $\begingroup$ Thank you for such a nice answer. We note that $\varphi_0(x,y)=\varphi_0(\{x\},\{y\})$, where $\{x\}$ is fractional part of $x$. So it is enough to calculate the minimum on the square $0\leq x,y<1$. I need intervals of $x\in[0,1)$ such that $\min_{0\leq y <1} \varphi_0(x,y)= k, \text{if} \ x\in I_k$ where $k=0,1,...,K$ and $I_k$ are sub intervals of $[0,1)$. I am sorry if I am asking something trivial. Thank you. $\endgroup$ Commented Jun 26, 2025 at 17:20
  • $\begingroup$ I've added how to get the intervals of $\Delta(x)~~$ ($\Delta(x)$ is minChange in my code), where $\varphi(x) = \Delta(x) + \phi_1(x,0)$ . This is sufficient to calculate $C_1$ exactly, but if you want the intervals of $\varphi(x)$ you can probably use a similar method to what I've done. $\endgroup$ Commented Jun 27, 2025 at 1:19
  • $\begingroup$ How did you get the $\varphi_0(x)$ by calculating at $y=0$ as $X_0(x) = A(x,0) + B(x) + S(x,0)$? Why does minimum value occur at $y=0$? I request you to kindly explain. $\endgroup$ Commented Jul 4, 2025 at 5:25
  • $\begingroup$ @Max I am finding the y that minimizes $\Delta(x)$, which is the change in value of $\phi_1(x,y)$ starting from $y=0$ . To get the value of $\varphi(x)$ you need to add the initial value $X_0(x) = \phi_1(x,0)$ to that minimum change. I probably should've just wrote $X_0(x) = \phi_1(x,0)$ instead of $X_0(x) = A(x,0) + B(x) + S(x,0)$ but these are equivalent expressions. $\endgroup$ Commented Jul 4, 2025 at 13:49
  • 1
    $\begingroup$ Thanks a lot for this nice and elegant answer. I have accepted your answer. Thank you so much. $\endgroup$ Commented Jul 17, 2025 at 15:49

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.