|
original poster
hbghlyj
posted 2025-7-21 07:47
arxiv.org/html/2504.00889v1#S4.SS2
表示直线:将四条直线表示为 ℙ³ 中两点的连接。例如,设第一条直线为 ℓ₁ = a · b,其中 a 和 b 是 ℙ³ 中的两点。类似地,定义其他三条直线:
- ℓ₂ = c · d
- ℓ₃ = e · f
- ℓ₄ = g · h
Copy the Code 在 Macaulay2 中,使用 Brackets 包初始化 Grassmann-Cayley 代数,并设置系数环为 ℚ[λ, μ]:
- needsPackage "Brackets"
- G = gc(toList(a..h), 4, CoefficientRing => QQ[l,m])
- ell1 = (a*b)_G
- ell2 = (c*d)_G
- ell3 = (e*f)_G
- ell4 = (g*h)_G
Copy the Code 参数化交点:假设横截线 ℓ 与 ℓ₁ 相交于点 p,p 可表示为 p = λa + μb,其中 λ + μ = 1
构造平面:由于横截线也与 ℓ₂ 相交,定义平面 V = p · ℓ₂。因为 ℓ 经过 p 且与 ℓ₂ 相交,ℓ 包含在平面 V 中。
计算交点 q:平面 V 与一般直线 ℓ₃ 相交于一点 q = V ∧ ℓ₃。由于横截线 ℓ 也在 V 中且与 ℓ₃ 相交,q 是 ℓ 与 ℓ₃ 的交点。因此,候选横截线可表示为 ℓ = q · p = ((p · ℓ₂) ∧ ℓ₃) · p:
- ell = ((p * ell2) ^ ell3) * p
Copy the Code
验证与 ℓ₄ 的相交:为使 ℓ 成为横截线,它必须与 ℓ₄ 相交,即表达式 ℓ * ℓ₄ 必须为零。计算此表达式:
结果是一个关于 λ 和 μ 的二次方程,系数为点的括号多项式:
- m^2*[bdef]*[bcgh] - 2*m^2*[bdgh]*[bcef] - 2*l*m*[bcef]*[adgh] + l*m*[bcgh]*[adef] + l*m*[bdef]*[acgh] + l^2*[adef]*[acgh] - 2*l*m*[bdgh]*[acef] - 2*l^2*[adgh]*[acef]
Copy the Code 判别式分析:将上述公式视为 λ 和 μ 的二次方程(满足 λ + μ = 1),横截线的数量等于该二次方程的根的数量。为此,提取 λ²、λμ 和 μ² 的系数,并计算判别式:
- (m, c) = coefficients formula;
- disc = c_(2,0) * c_(0,0) - 4 * c_(1,0)
Copy the Code 判别式为:
- [bdef]*[bcgh]*[adef]*[acgh] - 2*[bdgh]*[bcef]*[adef]*[acgh] - 2*[bdef]*[bcgh]*[adgh]*[acef] + 4*[bdgh]*[bcef]*[adgh]*[acef] + 8*[bcef]*[adgh] - 4*[bcgh]*[adef] - 4*[bdef]*[acgh] + 8*[bdgh]*[acef]
Copy the Code 对于一般位置的直线,判别式通常非零,表明二次方程有两个不同根,因此存在两条横截线。
特殊情况:
若判别式为零,则二次方程有一个根,表明只有一条横截线。
若 λ 和 μ 的所有系数(三个括号多项式)均为零,则有无穷多条横截线。 |
|