다항식이 이중근 만 갖고있을 뿐인 기준을 어떻게 찾을 수 있습니까?
Aug 19 2020
function 도움말 문서 SolveAlways
에서 다항식에 삼중 근이 있다는 조건을 보았습니다.
(*Find a condition for a cubic polynomial to have a triple root:*)
f[x_] := x^3 + a x^2 + b x + c;
SolveAlways[Implies[f[x] == 0 && f[y] == 0, x == y], {x, y}]
이제이 예제를 모방하여 다항식에 이중근 만 있다는 조건을 찾고 싶습니다 (2 차보다 높은 다중 근은 없음).
A = {{1, 2, -3}, {-1, 4, -3}, {1, a, 5}};
f[λ_] := CharacteristicPolynomial[A, λ]
Reduce[Exists[{x, y}, Implies[f[x] == 0 && f[y] == 0, x == y]], {a}]
Solve[(f[x] /. a -> -2) == 0, x]
SolveAlways[Implies[(f[x] == f'[x] == 0), f''[x] != 0], x]
그러나 위 코드의 출력은 판단 조건이 아닙니다. 이 문제를 해결하려면 어떻게해야합니까?
답변
7 DanielLichtblau Aug 19 2020 at 22:46
판별자는 사라지고 파생물의 판별자는 사라지지 않기를 원합니다.
mat = {{1, 2, -3}, {-1, 4, -3}, {1, a, 5}};
cpoly = CharacteristicPolynomial[mat, x];
disc1 = Discriminant[cpoly, x]
disc2 = Discriminant[D[cpoly, x], x]
(* Out[616]= -288 - 720 a - 504 a^2 - 108 a^3
Out[617]= -4 (2 + 9 a) *)
이제 이것들을 분류하십시오.
Reduce[disc1 == 0 && disc2 != 0]
(* Out[618]= a == -2 || a == -(2/3) *)
7 user64494 Aug 19 2020 at 23:47
다중도 2의 루트 정의를 사용하여 다음을 얻습니다.
A = {{1, 2, -3},{-1, 4, -3},{1, a, 5}};f[\[Lambda]_]:= CharacteristicPolynomial[A,\[Lambda]]
Reduce[Exists[x, f[x] == 0 && f'[x] == 0 && f''[x] != 0], a, Reals]
(*a == -2 || a == -(2/3)*)
이 접근 방식은 다항식에만 적용되는 것이 아닙니다.
6 J.M.'sennui Aug 19 2020 at 14:02
이것이 판별자가 사용할 수있는 것입니다.
Reduce[Discriminant[CharacteristicPolynomial[{{1, 2, -3},
{-1, 4, -3},
{1, a, 5}}, x], x] == 0, a]
a == -2 || a == -2/3
검사:
With[{a = -2/3}, Eigenvalues[{{1, 2, -3}, {-1, 4, -3}, {1, a, 5}}]]
{4, 4, 2}
With[{a = -2}, Eigenvalues[{{1, 2, -3}, {-1, 4, -3}, {1, a, 5}}]]
{6, 2, 2}