Proving function defined by algorithm is convex

34 Views Asked by At

I'm working on my bachelor thesis and I'm trying to prove a conjecture, but I seem to miss the hint that helps me.

I have an algorithm that defines a function $f:\mathbb{R}_{\geq 0}^n\to\mathbb{Z}_{\geq 0}^n$ and I want to prove that if $x_1,x_2\in S_y$ with $S_y=\{x\in\mathbb{R}_{\geq 0}^n|f(x)=y\in\mathbb{Z}_{\geq 0}^n\}$ then for $\lambda\in [0,1]$ we have $\lambda x_1 + (1-\lambda)x_2\in S_y$.

The problem is that the function isn't a regular function. The algorithm is as follows.

Input: $x=(x_1,...,x_n)\in\mathbb{R}_{\geq 0}^n$ with $x_i\geq 1 ~\forall i$ and $\sum_i x_i = A\in\mathbb{N}$.

Then: $Q = A - \sum_i \lfloor x_i \rfloor$ and $R=\overset{\rightarrow}{0}\in\mathbb{R}_{\geq 0}^n$

$j=k=1$

While $j\neq Q+1$:

~~$G_j=\begin{pmatrix}\frac{x_1}{\lfloor x_1\rfloor + j},...,\frac{x_n}{\lfloor x_n\rfloor + j}\end{pmatrix};$

~~$j = j + 1$

$G = \begin{pmatrix}G_1\\G_2\\...\\G_{Q}\end{pmatrix}$

While $k\neq Q+1$:

~~For maximum in $G$ return index $(i,j)$, then:

~~$R(j) = R(j) + 1;$

~~$G(i,j) = 0;$

~~$k = k + 1$

Then: $f((x_1,...,x_n)) = (\lfloor x_1\rfloor+R(1),...,\lfloor x_n\rfloor+R(n))\in\mathbb{Z}_{\geq 0}^n$.

In proving my conjecture I have the following.

Let $y\in\mathbb{Z}_{\geq 0}^n$ and $x_A,x_B\in S_y$. So $f(x_A)=f(x_B)=y$. Let $\lambda\in [0,1]$.

Then: $\lfloor x_{A_i}\rfloor + R_A(i) = \lfloor x_{B_i}\rfloor + R_B(i)$ $\forall~i\in\{1,...,n\}$. Then we have to show that $\lambda x_A + (1-\lambda)x_B\in S_y$ either $\lfloor\lambda x_{A_i} + (1-\lambda)x_{B_i}\rfloor +R_{\lambda A + (1-\lambda)B}(i)=\lfloor x_{A_i}\rfloor + R_A(i) = \lfloor x_{B_i}\rfloor + R_B(i)$ $\forall~i\in\{1,...,n\}$.

Has anyone any idea how to continue the proof? I have no idea how to work with the floor function. Any ideas are welcome, since my professor is gone for the next few weeks.