Montag, 4. März 2024

The abc conjecture and positive definite kernel on the natural numbers with inductive Cholesky decomposition.

This is a transcription of the following MathOverflow question, found here. One formulation of the abc-conjecture is: \[\forall a,b \in \mathbb{N}: \frac{a+b}{\gcd(a,b)} < \operatorname{rad}\left ( \frac{ab(a+b)}{\gcd(a,b)^3}\right )^2 \] Let us define: \[K(a,b) := \frac{2(a+b)}{\gcd(a,b)\operatorname{rad}\left ( \frac{ab(a+b)}{\gcd(a,b)^3}\right )^2} \] I have checked in Sagemath up to \(n=100\) that the matrix \[(K(i,j))_{1 \le i,j \le n} \text{ is positive definite }\] and up to \(1\le a,b \le 100\) that : \[K(a,b)\le 1\] In the Encyclopedia of Distances the word "similarity" is described as: A similarity \(s:X\times X \rightarrow \mathbb{R}\) is defined in the Encyclopedia of Distances as:
  1. \(s(x,y) \ge 0 \forall x,y \in X\)
  2. \(s(x,y) = s(y,x) \forall x,y \in X\)
  3. \(s(x,y) \le s(x,x) \forall x,x \in X\)
  4. \(s(x,y) = s(x,x) \iff x=y\)
So one possible formulation of the empirical observation above might be: \[K \text{ is a pos. def. kernel and a sim. function with } K(a,a)=1\] From this formulation the abc conjecture in the variant above follows, because: \[K(a,b) \le K(a,a)=1 \rightarrow \frac{(a+b)}{\gcd(a,b)\operatorname{rad}\left ( \frac{ab(a+b)}{\gcd(a,b)^3}\right )^2} \le \frac{1}{2} < 1 \] Since in the definition of the similarity function, some of the properties are easy to prove for \(K\) such as 1. and 2. and from 3. follows abc, I am asking if it is possible to prove \(\require{enclose}\enclose{horizontalstrike}{\text{ property 4. and / or}}\) that \(K\) is positive definite function? Thanks for your help.
Edit: I think that \(4.\) can be proved by considering that if \(K(x,y)=1\) and assuming there exists a prime \(p\) which divides \(x\) but not \(y\), leads to a contradiction.
Second edit: The abc conjecture (in the version above) would follow, if one could prove that the function \[K(a,b) := \frac{2(a+b)}{\gcd(a,b)\operatorname{rad}\left ( \frac{ab(a+b)}{\gcd(a,b)^3}\right )^2} \] is positive definite over the natural numbers.
Proof: If \(K\) is a positive definite function over the natural numbers, then by the Moore-Aronszajn theorem , there exists a Hilbert space \(H\) and a feature mapping \(\phi: \mathbb{N} \rightarrow H\) such that: \[K(a,b) = \left < \phi(a),\phi(b) \right >_{H}\] But by Cauchy-Schwarz inequality we get: \[K(a,b) = |K(a,b)| = |\left < \phi(a), \phi(b) \right >_{H}|\] \[\le |\phi(a)||\phi(b)| = \sqrt{K(a,a)K(b,b)} = \sqrt{1 \cdot 1} = 1\] But then we get by division of \(2\) and application of the last inequality: \[\frac{(a+b)}{\gcd(a,b)\operatorname{rad}\left ( \frac{ab(a+b)}{\gcd(a,b)^3}\right )^2} \le \frac{1}{2} < 1 \] hence it would follow that: \[\forall a,b \in \mathbb{N}: \frac{a+b}{\gcd(a,b)} < \operatorname{rad}\left ( \frac{ab(a+b)}{\gcd(a,b)^3}\right )^2 \] Modified question: Is there a way to speed up the computations to try and test if the Gram matrix for \(n=1,\cdots,10000 \) is positive definite? Here is my code so far, but it is rather slow:
# inductive cholesky decomposition
def rad(n):
    return prod(prime_divisors(n))


def kk(a,b):
    return (2*(a+b)*a**1*b**1/gcd(a,b))*1/rad(a*b*(a+b)/gcd(a,b)**3)**2

def notPositiveDefinite(a,b):
    return rad(a*b/gcd(a,b))

#kk = notPositiveDefinite

def grammat(kk,n):
    return matrix([[kk(a,b) for a in range(1,n+1)] for b in range(1,n+1)],ring=QQ)


PHI = dict([])

def phi(n,useN=False):
    if n in PHI.keys():
        return PHI[n]
    
    if n==1:
        if not useN:
            x = vector([sqrt(kk(1,1))])
        else:
            x = vector([sqrt(kk(1,1)+0.0)])
        PHI[n] = x
        return x
    else:
        w = CC(n-1)**(-1)*vv(n-1)
        lw = list(w)
        if not useN:
            lw.append(sqrt(kk(n,n)-w.norm()**2))
        else:
            lw.append(sqrt(kk(n,n)-w.norm().n()**2).n())
        x = vector(lw)
        PHI[n]= x
        return x

def vv(n):
    return vector([kk(i,n+1) for i in range(1,n+1)])
    

CCDict = dict([])    

def CC(n):
    if n in CCDict.keys():
        return matrix(CCDict[n])
    mm = []
    for i in range(1,n+1):
        vi = list(phi(i))
        if len(vi) < n:
            vi.extend((n-i)*[0])
        mm.append(vi)
    M= matrix(mm)
    CCDict[n] = mm
    return M
    
    

for n in range(1,200):
    print(n,all(x in RR for x in phi(n,useN=True)))
    #print(grammat(kk,n).rational_form())
```
Comment on code:
It is based on inductive Cholesky decomposition as described below and keeps track in a dictionary if the \(\phi(n)\) or \(C_n\) have already been computed. It uses float approximation for greater speed and in the last step we check if each component of the vector \(\phi(n)\) is a real number. If it is for all \(1 \le k \le n\) then we conclude that the Gram matrix of \(n\) is positive definite. If it is not, then at least the Gram matrix for \(n\) is not positive definite:
Inductive Cholesky decomposition to find an embedding \(\phi(n)\) for each number \(n\):
Equation 1): \[\phi(n+1) = \left(\begin{array}{r} {C_{n}^{-1} v_n} \\ \sqrt{k(n+1,n+1)-{\left| {C_{n}^{-1} v_n} \right|}^{2} } \end{array}\right)\] Equation 2): \[v_n = \left(\begin{array}{r} k(1,n+1) \\ k(2,n+1) \\ \cdots\\ k(n,n+1)\\ \end{array}\right)\] Equation 3): \[C_n = \left(\begin{array}{r} \phi(1)^T \\ \phi(2)^T \\ \cdots\\ \phi(n)^T\\ \end{array}\right)\] Equation 4): \[\phi(1) := \sqrt{k(1,1)} e_1\] If we assume that the function \(k\) is positive definite, then this inductive method, should give us the vectors \(\phi(a),\phi(b)\) such that under the normal inner product we have: \[k(a,b) = \left < \phi(a), \phi(b) \right > \]. Edit (11.03.2024): This conjecture about the positive semidefiniteness of \(K\) is wrong as the determinant of \(G_{192}\) is < \(0\)

Keine Kommentare:

Kommentar veröffentlichen