椭圆 Γ:a2x2+b2y2=1,F(c,0) 为 Γ 的右焦点,P1,…,Pn∈Γ 满足 ∡PiFPi+1=n2π,l 是 P1,…,Pn 的最小二乘回归直线,证明:当 P1 在 Γ 上运动时,l 过定点 C,并求出定点的坐标(用含 n,a,b,c 的代数式表示)。
不妨将 F 平移到原点,将焦准距位似为 21。设 Γ 的离心率为 e。
设 θk=n2kπ+φ,Pk(xk,yk),根据焦半径公式,取
rkxkyk=2+2ecosθke=rkcos(−θk)=rksin(−θk)
(负号是让式子更简单的小巧思)
记 ωk=exp(iθk),设 zk=xk+iyk,则
zk=2+2eℜωkeωˉk=2+e(ωk+ωk−1)eωk−1=ωk2+e2ωk+11
记 α,β 为 x2+e2x+1=0 的两根,则
zk=(ωk−α)(ωk−β)1=ωk−αA−ωk−βA
其中实数 A=α−β1。
若多项式 P(x) 所有根为 x1,…,xn,则
k=1∑nxk−a1=−P(a)P′(a)
两边对 a 求导,得到
k=1∑n(xk−a)21=P(a)2P′(a)2−P′′(a)P(a)
因为 ωk 是方程 ωn=exp(iφ)=u 的 n 个根,记 P(x)=xn−u,则 P′(x)=nxn−1,P′′(x)=n(n−1)xn−2,于是记
S1(a)S2(a)=k=1∑nωk−a1=−an−unan−1=k=1∑n(ωk−a)21=(an−u)2(nan−1)2−n(n−1)an−2(an−u)
注意 ωkzk∈R,所以 ∣zk∣2=ωk2zk2,zˉ=ωk2zk,令
U=k=1∑nzkV=k=1∑nzk2W=k=1∑n∣zk∣2=k=1∑n(ωk−α)(ωk−β)1=k=1∑n(ωk−αA−ωk−βA),A=α−β1=AS1(α)−AS1(β)=k=1∑n(ωk−αA−ωk−βA)2=k=1∑n((ωk−α)2A2+(ωk−β)2A2−(ωk−α)(ωk−β)2A2)=A2S2(α)+A2S2(β)−2A3S1(α)+2A3S1(β)=k=1∑n((ωk−α)(ωk−β)ωk)2=k=1∑n(ωk−αAα−ωk−βAβ)2=A2α2S2(α)+A2β2S2(β)−2A3αβS1(α)+2A3αβS1(β)
设回归直线 y=a+bx 与 x 轴的交点为 X,则
X=xˉ−byˉ=n1(k=1∑nxk)−n1(k=1∑nyk)n(k=1∑nxkyk)−(k=1∑nxk)(k=1∑nyk)n(k=1∑nxk2)−(k=1∑nxk)2=n(k=1∑nxkyk)−(k=1∑nxk)(k=1∑nyk)(k=1∑nxk)(k=1∑nxkyk)−(k=1∑nyk)(k=1∑nxk2)=nℑV/2−ℜUℑUℜUℑV/2−ℑU(ℜV+W)/2=ℑ(nV−U2)ℑ(UˉV−UW)=nV−U2−(nVˉ−Uˉ2)UˉV−UW−(UVˉ−UˉW)
注意 ∣u∣=1,因此 uˉ=u−1,使用计算机代数系统分别计算并化简分子和分母:
Code
# [Jupyter Notebook]
# %%
import sympy as sp
# %%
n = sp.symbols('n', integer=True, positive=True)
e = sp.symbols('e', real=True, positive=True)
u = sp.symbols('u', nonzero=True)
i = I = sp.I
# %%
alpha = sp.symbols('alpha', real=True)
beta = 1 / alpha
# %%
def S1(a):
"""
sum 1/(omega-a)
"""
return -n*a**(n-1)/(a**n-u)
def S2(a):
"""
sum 1/(omega-a)^2
"""
return (
n*a**(2*n-2)
+ n*(n-1)*u*a**(n-2)
)/(a**n-u)**2
# %%
A = 1/(alpha - beta)
# %%
U = (A*S1(alpha) - A*S1(beta))
U
# %%
V = (
A**2*S2(alpha) + A**2*S2(beta)
- 2*A**3*S1(alpha) + 2*A**3*S1(beta)
)
V
# %%
W = (
A**2*alpha**2*S2(alpha)
+ A**2*beta**2*S2(beta)
- 2*A**3*alpha*beta*S1(alpha)
+ 2*A**3*alpha*beta*S1(beta)
)
W
# %%
def conj(expr):
expr = sp.conjugate(expr)
expr = expr.subs(
sp.conjugate(u),
1/u
)
expr = sp.simplify(expr)
return expr
# %%
Aexpr = conj(U)*V - U*W
Bexpr = n*V-U**2
numerator = Aexpr-conj(Aexpr)
denominator = Bexpr-conj(Bexpr)
# %%
numerator = sp.factor(sp.simplify(sp.together(numerator))) # 这一步不理想的话可以反复做
numerator
# %%
denominator = sp.factor(sp.simplify(sp.together(denominator))) # 这一步不理想的话可以反复做
denominator
# %%
X = sp.factor(sp.simplify(numerator / denominator))
X
得到
分子分母=(α−1)3(α+1)3(αn−u)2(αnu−1)2αnn2u(α2+1)(u−1)(u+1)(α4n+α2n+2n−2α2n+2−α2n+2α2−α2nn)=−(α−1)(α+1)(αn−u)2(αnu−1)2α2n2u(n−1)(u−1)(u+1)(α2+1)αn−2(αn−1)(αn+1)
注意所有含 u 的项全部抵消,
X=−(n−1)(α−1)2(α+1)2(αn−1)(αn+1)α4n−α2n+2α2−α2nn+α2n+2n−2α2n+2=−(n−1)(α−β)2(αn−βn)(n−2)(αn−βn)−n(αn−2−βn−2)
注意这个式子关于 α,β 对称,这是因为这两个根在代数层面不可区分。
最后进行收尾工作,将结果变换回一般的标准形式:
C(2(n−1)cn(1+αn−βnαn−2−βn−2),0)
其中 α,β=c−a±b。