2

ふしぎな数列3

268
0
$$$$

こんにちは、itouです。
前回
前々回

今回は現在分かっていることのまとめ回です。

$$   (n+1)^2u_{n+1}=(x_0n^2+x_0n+x_1)u_n+x_2n^2u_{n-1} (u_0=a,u_1=b) (n\geq1)\tag{1.0}\label{name1} $$
で定められる数列の一般項を$u_n(x_0,x_1,x_2)[a,b]$と表す。$u_0=1,u_1=x_1$の場合には、単に$u_n(x_0,x_1,x_2)$とかく。

$m$を正の数として

$$ u_n(x_0,x_1,x_2)[a,b]=u_n(\frac{x_0}{m},\frac{x_1}{m},\frac{x_2}{m^2} )[a,\frac{b}{m}]×m^n  \tag{1.1}\label{name2} $$

初期条件について線形

$u_n(x_0,x_1,x_2)(a,b)$を、\ref{name1}の漸化式を満たし、$u_0=a,u_1=b$で定められる数列とする。このとき、
$u_n(x_0,x_1,x_2)[a,b]=a×u_n(x_0,x_1,x_2)[1,0]+b×u_n(x_0,x_1,x_2)[0,1]$
である。

多項式解があるための必要条件

\ref{name1}の解が多項式であるためには、$x_0=2$かつ$x_1=l^2+l+1$かつ$x_2=-1$が必要である。
($k\in N$)

$u_n(2,l^2+l+1,-1)$の解

多項式解は
$u_n(2,l^2+l+1,-1)[1,l^2+l+1]=\sum_{j=0}^{l}{{l \choose j}{l+j \choose j}{n\choose j}}$である。
また、初期条件が異なるものは、

$u_n(2,l^2+l+1,-1)[0,1]=\Delta^{l+1} u_{l+1}\sum_{k=0}^{n-2}{\frac{S^{(l-1)}(n-1-k)}{{l+k+1 \choose k}^2}}$

ただし、$S^{(l)}=\sum_{i=1}^{n}{i^l},S^{(-1)}=1$,
$\Delta^{k} u_{n}=\Delta^{k-1} u_{n}-\Delta^{k-1} u_{n-1}$

多項式解の表示は前回、子葉さんにコメントで教えていただきました。感謝致します。

$u_n(2,l^2+l+1,-1)[0,1]$は前回述べた通り、階差を$l+1$回とることで求められます。

数値計算による結果

私が気になるのは以下のような数列についてです。

$x_0$$x_1$$x_2$
728
93-27
1131
124-32
176-72

上の表にある$(x_0,x_1,x_2)$の組はすべての自然数$n$について、$u_n(x_0,x_1,x_2)$が整数である、または整数であると思われる数列で、多項式でも多項式×指数関数ではないものです。(定理1より、$x_0^2+4x_2\ne0$なら多項式でも多項式×指数関数ではないので)

$u_n(7,2,8)=\sum_{k=0}^{n}{ n \choose k }^3$
$u_n(11,3,1)=\sum_{k=0}^{n}{ n \choose k }^2{ n+k \choose k }$
$u_n(11,3,1)[0,5]=\sum_{k=0}^{n}{ n \choose k }^2{ n+k \choose k }c_{n.k}$
(ただし$c_{n,k}=2\sum_{m=1}^{n}{\frac{(-1)^{m-1}}{m^2}}+\sum_{m=1}^{k}{\frac{(-1)^{n+m-1}}{m^2{ n \choose m }{ n+m \choose m }}}$

上の2組については解が分かっています。(さらに$(11,3,1)$については初期条件が異なる解も分かっています)

残りの3組は数値計算によって少なくとも第100項までは整数となることが分かっています。なお、定理1より、上の組に対し$(x_0m,x_1m,x_2m^2),m \in N$も整数となります。これら以外の例を得ること、およびこれらの解を得ることが今後の目的です。

コード

需要があるかわかりませんが、数値計算に利用したpythonコードを貼っておきます。

      # -*- coding: cp932 -*-

from fractions import Fraction

u_0=1
def f(n,x_0,x_1,x_2):#漸化式による計算
    if n <= 0:
        return [u_0]
    elif n == 1:
        return [u_0]
    elif n == 2:
        return [u_0, x_1]
    else:
        f_se= [u_0, x_1]
        for i in range(2, n):
            next_fib =Fraction(((x_0*i**2-x_0*i+x_1)*f_se[i - 1] +x_2*(i-1)**2*f_se[i - 2])/i**2)
            f_se.append(next_fib)
        return f_se

n = 100

f_sequence = f(n,9,3,-27)
f_sequence2 = f(n,17,6,-72)

    

また、解が与えられたときに漸化式を求めるコードも貼っておきます。

      
# -*- coding: cp932 -*-
import sympy
from math import *

from fractions import Fraction



x_0 = sympy.Symbol('x_0')
x_1 = sympy.Symbol('x_1')
x_2 = sympy.Symbol('x_2')
x_3 = sympy.Symbol('x_3')
x_4 = sympy.Symbol('x_4')
x_5 = sympy.Symbol('x_5')
x_6 = sympy.Symbol('x_6')
x_7 = sympy.Symbol('x_7')


def bil_co(n,k):# binomial coefficient
    if k > n  or  k < 0 :
        return 0
    else:

        return factorial(n)/(factorial(k)*factorial(n-k))

def seque(n,a,b,c,d,e,f,g,h):#一般項による計算
    s=0
    for k in range(n+1):
        s+=Fraction(bil_co(a*n+b*k,c*n+d*k)*bil_co(e*n+f*k,g*n+h*k)*bil_co(2*k,k))
    return s

def calculate_sequence(n):
    sequence = [seque(n,1,0,0,1,1,0,0,1) for n in range(0, n+1)]
    return sequence

n=15
a=calculate_sequence(n)
equations = []

for n in range(1,15):#不定方程式を解き係数決定
    equations.append((n**2+x_0*n+x_1)*a[n+1]+(x_2*n**2+x_3*n+x_4)*a[n]+(x_5*n**2+x_6*n+x_7)*a[n-1])

solution = sympy.solve(equations, (x_0,x_1,x_2,x_3,x_4,x_5,x_6,x_7))
print(solution)

    

まだまだ調べたいことがいっぱいあるのですが、受験生なのでそろそろ区切りをつけたいと思い、この記事を書きました。何か発見があった方はぜひコメントに書いてください!受験勉強のかたわらに考えます。

投稿日:202394
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

itou
itou
140
12108
数学勉強中. https://twitter.com/G7UOMb0Zd8V7LdP

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中