cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A382381 Lexicographically earliest sequence of distinct positive integers such that any two subsets with at least two terms have distinct variances.

This page as a plain text file.
%I A382381 #20 Apr 07 2025 17:46:47
%S A382381 1,2,4,8,16,25,36,62,136,320,411,1208,1295,4179,5143,6380,31370,34425,
%T A382381 36094,213044,218759,306722
%N A382381 Lexicographically earliest sequence of distinct positive integers such that any two subsets with at least two terms have distinct variances.
%C A382381 Numbers k such that A381856(k) = 1.
%C A382381 The variance of a nonempty set X is (Sum_{x in X} (x-m)^2)/|X|, where m is the average of X and |X| is the size of X.
%C A382381 a(20) > 100000.
%o A382381 (Python)
%o A382381 from fractions import Fraction
%o A382381 from itertools import chain, combinations, count, islice
%o A382381 def powerset(s): # skipping empty set
%o A382381     return chain.from_iterable(combinations(s, r) for r in range(1, len(s)+1))
%o A382381 def agen(): # generator of terms
%o A382381     an, alst, vset = 1, [1], set()
%o A382381     while True:
%o A382381         yield an
%o A382381         P = list(powerset(alst))
%o A382381         Xlst, X2lst = [sum(s) for s in P], [sum(si**2 for si in s) for s in P]
%o A382381         for k in count(an+1):
%o A382381             ok, vnew = True, set()
%o A382381             for i, s in enumerate(P):
%o A382381                 mu, X2 = Fraction(Xlst[i] + k, len(s)+1), X2lst[i] + k**2
%o A382381                 v = Fraction(X2, len(s)+1) - mu**2
%o A382381                 if v in vset or v in vnew:
%o A382381                     ok = False
%o A382381                     break
%o A382381                 else:
%o A382381                     vnew.add(v)
%o A382381             if ok:
%o A382381                 break
%o A382381         an = k
%o A382381         vset |= vnew
%o A382381         alst.append(an)
%o A382381 print(list(islice(agen(), 13))) # _Michael S. Branicky_, Mar 31 2025
%Y A382381 Cf. A138857, A260873, A381856, A382382, A382383.
%K A382381 nonn,hard,more
%O A382381 1,2
%A A382381 _Pontus von Brömssen_, Mar 23 2025
%E A382381 a(20)-a(21) from _Michael S. Branicky_, Mar 31 2025
%E A382381 a(22) from _Michael S. Branicky_, Apr 07 2025