- s(x,y)≥0∀x,y∈X
- s(x,y)=s(y,x)∀x,y∈X
- s(x,y)≤s(x,x)∀x,x∈X
- s(x,y)=s(x,x)⟺x=y
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):=2(a+b)gcd(a,b)rad(ab(a+b)gcd(a,b)3)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 ϕ:N→H such that: K(a,b)=⟨ϕ(a),ϕ(b)⟩H But by Cauchy-Schwarz inequality we get: K(a,b)=|K(a,b)|=|⟨ϕ(a),ϕ(b)⟩H| ≤|ϕ(a)||ϕ(b)|=√K(a,a)K(b,b)=√1⋅1=1 But then we get by division of 2 and application of the last inequality: (a+b)gcd(a,b)rad(ab(a+b)gcd(a,b)3)2≤12<1 hence it would follow that: ∀a,b∈N:a+bgcd(a,b)<rad(ab(a+b)gcd(a,b)3)2 Modified question: Is there a way to speed up the computations to try and test if the Gram matrix for n=1,⋯,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 ϕ(n) or Cn have already been computed. It uses float approximation for greater speed and in the last step we check if each component of the vector ϕ(n) is a real number. If it is for all 1≤k≤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 ϕ(n) for each number n:
Equation 1): ϕ(n+1)=(C−1nvn√k(n+1,n+1)−|C−1nvn|2) Equation 2): vn=(k(1,n+1)k(2,n+1)⋯k(n,n+1)) Equation 3): Cn=(ϕ(1)Tϕ(2)T⋯ϕ(n)T) Equation 4): ϕ(1):=√k(1,1)e1 If we assume that the function k is positive definite, then this inductive method, should give us the vectors ϕ(a),ϕ(b) such that under the normal inner product we have: k(a,b)=⟨ϕ(a),ϕ(b)⟩. Edit (11.03.2024): This conjecture about the positive semidefiniteness of K is wrong as the determinant of G192 is < 0
Keine Kommentare:
Kommentar veröffentlichen