# Find the maximum of the value $c(n)$ (similar to Hardy's inequality)

This problem has been posted on Math.SE for seven days, without a solution.

Let $$n\ge 2$$ be a given positive integer, and $$a_{1},a_{2},\cdots,a_{n}>0$$, such that $$a_{1}a_{2}\cdots a_{n}=1$$ Find the maximum of the value of $$C(n)$$ satisfying $$\sum_{k=1}^{n}\left(\dfrac{1}{k}-\dfrac{2}{n(n+1)}\right)a_{k}\ge C(n)\left(\sum_{k=1}^{n}\dfrac{k^2}{a_{k}}\right)^{\frac{1}{n-1}}$$

This inequality is similar to Hardy's inequality on Math.SE, Various proofs of Hardy's inequality.

I have tried some methods but not solved it, such as Cauchy-Schwarz inequality or induction.

• Why similar to Hardy's inequality? – Vesselin Dimitrov Nov 10 '18 at 13:05

At first, we denote $$c_k=\frac1k-\frac2{n(n+1)}$$, take $$C(n)=(n-1) \biggl( \frac{2}{n(n+1)!} \biggr)^{1/(n-1)}$$ as in Brendan McKay's answer, and make the inequality homogeneous: $$\sum_{k=1}^n c_k a_k\geqslant C(n) \left(\sum_{k=1}^n k^2 \prod_{j\ne k} a_j\right)^{\frac1{n-1}}.$$ Now we do not need the condition $$\prod a_j=1$$. Denote $$a_k=kx_k$$, using Brendan McKay's guess on where is the maximum. The inequality rewrites as $$\sum_{k=1}^n kc_k x_k\geqslant C(n) (n!)^{\frac1{n-1}} \left(\sum_{k=1}^n k \prod_{j\ne k} x_j\right)^{\frac1{n-1}}.$$ Now we fix LHS and maximise RHS. If the maximum point is on the boundary, i.e. some $$x_i$$ equals 0, the inequality reduces to AM-GM for $$n-1$$ numbers $$kc_kx_k$$, $$k\ne i$$ (and comparing the constants - this part is quite boring and I skip it). Otherwise by Lagrange multipliers the partial derivatives of $$\sum_{k=1}^n k \prod_{j\ne k} x_j$$ in the maximum point should be proportional to the numbers $$kc_k$$. We have $$\frac{\partial}{\partial x_i} \sum_{k=1}^n k \prod_{j\ne k} x_j=P\sum_{k\ne i} \frac{k}{x_k x_i},$$ where $$P=\prod_k x_k$$. So we get, denoting $$y_k=\frac1{x_k}$$, the following proportionality relations: $$\sum_{k\ne i} ky_ky_i=\lambda c_k=\lambda (1-\frac{2i}{n(n+1)})=\frac{\lambda}{n(n+1)/2}\sum_{k\ne i} k$$. Now denote $$M=\max y_i$$, let $$M=y_a$$, $$m=\min y_i$$, let $$m=y_b$$. For $$i=a$$ we have $$\frac{\lambda}{n(n+1)/2}\sum_{k\ne a} k=\sum_{k\ne a} ky_ky_a\geqslant Mm\sum_{k\ne a} k,$$ for $$i=b$$ we have $$\frac{\lambda}{n(n+1)/2}\sum_{k\ne b} k=\sum_{k\ne b} ky_ky_b\leqslant Mm\sum_{k\ne b} k.$$ Therefore $$\frac{\lambda}{n(n+1)/2}=Mm$$ and we have equalities everywhere. For $$n\geqslant 3$$ it implies that all $$y$$'s, thus all $$x$$'s are equal and the equality occurs. For $$n=2$$ we always have the equality.

On the basis of rather convincing numerical evidence (iterative optimisation that always converges to the same place regardless of starting point), I conjecture that the worst case is $$a_i = \frac{i}{(n!)^{1/n}}.$$

I believe that gives $$C(n) = (n-1) \biggl( \frac{2}{n(n+1)!} \biggr)^{1/(n-1)} = e - \frac{e(7\ln n-\ln 2+\ln\pi)}{2n} + O((\ln n)^2/n^2).$$

The method is as boring as can be imagined. Start with a random vector a then make random changes to it, rejecting the change if the ratio of left side to right side gets greater. Stop when it hasn't changed for quite a while. Here is Maple code and sample output for $$n=7$$. Note that the vector is written with normalisation $$a_1=1$$ even though the function is calculated with $$\prod a_i=1$$; this is to make it easy to verify the conjecture by eye. Increase the value of Digits to get more precise verification.

# C(a) = left side divided by right side when a is normalised to product 1
C := proc(a::list) local b,s,k,n;
n := numelems(a);
s := mul(a)^(1/n);
evalf(%);
end proc:

eps := rand(-0.005..0.005):
r := rand(0.0..1.0):

n := 7;              # Insert value of n here
p := rand(1..n):
a := [seq(r(),i=1..n)]:
Ca := C(a):
# Initial values
a,Ca;

while true do
currC := Ca:
for iter to 5000 do
a := a / a[1];     # Normalise to a[1]=1, note definition of C()
pos := p():
old := a[pos]:
a[pos] := max(old+eps(),0.0):
newCa := C(a):
if newCa < Ca then Ca := newCa: else a[pos] := old: end if:
end do:
print(a,Ca);
if Ca = currC then break end if:
end do:

# Compare to conjecture
evalf((n-1)*(2/(n*(n+1)!))^(1/(n-1)));

n := 7
[0.01506015221, 0.07126263187, 0.6247572599, 0.8230410086,  0.3693148049, 0.7607420702, 0.4647867183], 1.130896511
[1.000000000, 2.539500613, 16.40072680, 21.91302565, 10.73273281, 20.16793736, 13.31584408], 0.9921703822
[1.000000000, 1.724599348, 6.508732912, 8.844028091, 5.179715013, 8.535313648, 6.434865587], 0.8859967880
[1.000000000, 1.922974212, 3.388120139, 5.041522591, 4.236184244, 6.150065920, 4.972451482], 0.8403143690
[0.9999999998, 2.003100092, 3.006977468, 4.342457370, 5.023819919, 6.039027264, 6.158267516], 0.8324458625
[1.000000000, 2.000240008, 3.000252639, 4.000077928, 5.000611566, 6.000674528, 7.000510740], 0.8315464026
[1.000000000, 2.000204912, 3.000252639, 4.000077928, 5.000451793, 6.000674528, 7.000510740], 0.8315464022
[1.000000000, 2.000204912, 3.000252639, 4.000077928, 5.000451793, 6.000674528, 7.000510740], 0.8315464022
0.8315464026

• Can you share your code, please? – Mahdi Nov 10 '18 at 18:49