login
Lexicographically earliest sequence of distinct positive integers such that the Hankel matrix of any odd number of consecutive terms is invertible.
4

%I #12 May 22 2024 09:19:51

%S 1,2,3,4,6,5,7,8,9,10,12,11,13,14,16,15,17,18,19,20,22,21,23,24,25,26,

%T 29,27,28,30,31,32,33,35,34,36,37,38,39,41,40,42,44,43,45,46,47,48,50,

%U 49,51,52,53,54,56,57,55,58,59,60,61,63,62,64,65,66,67

%N Lexicographically earliest sequence of distinct positive integers such that the Hankel matrix of any odd number of consecutive terms is invertible.

%C From _Robert Israel_, May 19 2024: (Start)

%C Given a(1),...,a(n-1), the determinant of the Hankel matrix of [a(n-2*k), ..., a(n-1), x] is of the form A*x + B where A is the determinant of the Hankel matrix of [a(n-2*k), ..., a(n-2)]. Thus if A <> 0 there is only one x that makes this determinant 0. For a(n) there are at most n-1+ceil(n/2) "prohibited" values, namely a(1) to a(n-1) and ceil(n/2) values that make Hankel determinants 0. We conclude that a(n) always exists and a(n) <= 3*n/2. (End)

%H Robert Israel, <a href="/A350348/b350348.txt">Table of n, a(n) for n = 1..750</a>

%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Hankel_matrix">Hankel matrix</a>

%p with(LinearAlgebra):

%p R:= [1]: S:= {1};

%p for i from 2 to 100 do

%p for y from 1 do

%p if member(y,S) then next fi;

%p found:= false;

%p for j from i-2 to 1 by -2 do if Determinant(HankelMatrix([op(R[j..i-1]),y]))=0 then found:= true; break fi od;

%p if not found then break fi;

%p od;

%p R:= [op(R),y];

%p S:= S union {y};

%p od:

%p R; # _Robert Israel_, May 19 2024

%o (Python)

%o from sympy import Matrix

%o from itertools import count

%o def A350348_list(nmax):

%o a=[]

%o for n in range(nmax):

%o a.append(next(k for k in count(1) if k not in a and all(Matrix((n-r)//2+1,(n-r)//2+1,lambda i,j:(a[r:]+[k])[i+j]).det()!=0 for r in range(n-2,-1,-2))))

%o return a

%Y Cf. A350330, A350349, A350350.

%K nonn

%O 1,2

%A _Pontus von Brömssen_, Dec 26 2021