第 2 章 式子變形與因式分解¶
(適用:台灣高中~大一;目標:把「手算技巧」和「Sage 驗算」整合成可靠流程)
2.1 這一章要解決什麼問題?¶
「式子變形」與「因式分解」是很多章節的共同基礎:
- 解方程、解不等式前,常要先整理成可處理的形式
- 求極限、微積分前,常要先約分、通分、化簡
- 函數圖形分析時,常要先分解看零點/漸近線/對稱性
但手算時最常遇到兩個痛點:
- 步驟多、容易手誤:尤其是展開、合併同類項、通分
- 分解不唯一:同一個式子可能有很多等價形式
本章策略:
你用手算做推導,SageMath 用來「驗算」與「探索」。
你要學會的是:如何用最少指令,快速確認你的變形是否正確。
2.2 你的第一個驗算模板:比較兩個式子是否相等¶
如果你手算得到:$A(x)=B(x)$
最穩的方法不是「看起來像」,而是算:
$$ A(x)-B(x)\stackrel{?}{=}0 $$
在 Sage 裡就寫:
simplify(A - B)看是否得到 0- 或者
expand(A - B)、factor(A - B)多看幾種形式
下面先做最基本的示範。
var('x')
A = (x+1)^2
B = x^2 + 2*x + 1
simplify(A - B)
如果輸出是 0,代表在「代數恆等式」的意義下相等。
注意:若牽涉到根號、絕對值、分式的「定義域」或「主值」,
只靠simplify有時不夠。這些會在第 4 章(不等式與絕對值)補強。
var('x')
expr = (x-2)*(x+3)*(2*x-1)
expand(expr)
# collect 讓結果以 x 的冪次排序(有時候比 expand 更接近你想要的「標準型」)
from sympy import collect
collect(expand(expr), x)
var('a b')
simplify((a+b)^2 - (a^2 + 2*a*b + b^2)), simplify((a-b)*(a+b) - (a^2 - b^2))
例題 3:因式分解(先看結構,再下手)¶
題目:分解 $x^4-16$。
手算常見想法:
- 先當成平方差:$(x^2)^2 - 4^2$
- 再繼續分解:$(x^2-4)(x^2+4)=(x-2)(x+2)(x^2+4)$
用 Sage 一秒驗算。
var('x')
factor(x^4 - 16)
# 更結構化地看:因子與次方
(x**4 - 16).factor_list()
小技巧:你在紙上分解時,如果卡住,可以先用
factor(...)看答案長什麼樣,
然後回去思考「我手算要怎麼走到這個結構」。
這樣你練到的是技巧,而不是只抄答案。
from sympy import together
var('x')
expr = 1/(x-1) + 2/(x+1)
together(expr)
# 分子分母分解一下,方便看是否能再約分
expr.simplify_rational().factor()
var('x')
expr = (x^2 - 1)/(x - 1)
simplify(expr), factor(expr)
重要觀念:化簡後不等於「完全相同的函數」¶
- 原式:在 $x=1$ 沒有定義
- 化簡後:$x+1$ 在 $x=1$ 有定義
所以它們是「在共同定義域上相等」:對所有 $x \neq 1$,兩者相同。
後面談極限時(第 9 章),這個觀念會非常常用:
- 可以把分式約分來算極限
- 但不能因此忘記原本的限制點
2.5 根式與有理化:用 Sage 幫你檢查¶
高中常見:把分母有根號的分式「有理化」。
例:化簡 $ rac{1}{\sqrt{x}+1} $ 手算:乘以共軛 $ rac{1}{\sqrt{x}+1}\cdotrac{\sqrt{x}-1}{\sqrt{x}-1}=rac{\sqrt{x}-1}{x-1} $
用 Sage 驗算(看差是否為 0)。
var('x')
A = 1/(sqrt(x) + 1)
B = (sqrt(x) - 1)/(x - 1)
simplify(A - B)
注意:根號牽涉到「定義域」與「主值」
例如這裡通常假設 $x\\ge 0$ 且 $x\\ne 1$。
Sage 的simplify在多數高中情境下足夠,但在更嚴謹的分析中要補上條件。
var('x')
factor(x^4 + 2*x^2 - 3)
# 驗算你的手算結果(自行寫出來比對差是否為 0)
hand = (x^2+3)*(x-1)*(x+1)
simplify(hand - (x^4 + 2*x^2 - 3))
var('x')
factor(x^3 - 3*x^2)
var('a b x y')
expr = a*x + a*y + b*x + b*y
factor(expr)
(C) 對稱型:把它看成「同樣的結構」¶
例:$x^3+y^3=(x+y)(x^2-xy+y^2)$
例:$x^3-y^3=(x-y)(x^2+xy+y^2)$
var('x y')
factor(x^3 + y^3), factor(x^3 - y^3)
2.8 因式分解不是只有「找答案」:它在解題中的用途¶
你分解一個式子,通常是為了做其中一件事:
- 找零點(解方程):$P(x)=0$
- 判號(不等式):看每個因子在哪些區間為正/負
- 約分(極限、化簡):把可去除的不連續點找出來
- 看圖形結構(函數):例如對稱、平移、伸縮、漸近線
下面用一個小例子把「找零點」與「畫圖」連起來。
var('x')
P = x^3 - 3*x^2 - x + 3
factor(P)
# 因式分解後,根一眼就能看出來;再用 solve 驗算
solve(P == 0, x)
# 畫圖看看根的位置是否合理
plot(P, (x, -3, 5))
2.9 應用策略:用 Sage「輔助」而不是「取代」手算¶
建議你練習用下面流程:
- 先觀察結構:平方差?完全平方?以 $x^2$ 為主?可分組?
- 手算嘗試分解:寫出你的分解式
- Sage 驗算:
simplify(你的分解 - 原式)是否為 0 - 如果失敗:用
factor(原式)看看 Sage 的分解長什麼樣 - 回到手算:思考「哪一步看錯了」或「缺了什麼技巧」
這樣你才會越練越強,而不是越來越依賴工具。
2.10 本章小結¶
你現在應該能:
- 用差是否為 0 來驗算恆等式
- 熟練
expand / factor / simplify / together - 在分式、根式操作時保持「定義域意識」
- 用代換與結構觀察處理較難的分解題
- 理解因式分解在後續章節(方程、不等式、極限、微積分)的用途
練習題(附提示)¶
- 驗算恆等式:
(a) $(x+2)^3 = x^3+6x^2+12x+8$
(b) $(x-y)^2 = x^2-2xy+y^2$
提示:用 simplify(LHS-RHS)。
- 因式分解:
(a) $x^4-5x^2+4$(提示:令 $t=x^2$)
(b) $2x^2-8$(提示:先提公因式)
(c) $x^3+8$(提示:立方和公式)
- 分式化簡並註記限制:
$\dfrac{x^2-4}{x^2-2x}$
提示:先 factor,再約分,最後寫出 $x\ne 0,2$。
- 有理化驗算:
把 $\dfrac{\sqrt{x+1}-\sqrt{x}}{1}$ 化簡成「沒有分母根號」的形式。
提示:乘上共軛,然後用 simplify 驗算。
5.(挑戰)找出參數 a 使得多項式可被 $x-1$ 整除:
$P(x)=x^3+ax^2-2x+1$
提示:整除等價於 $P(1)=0$;用 Sage 計算 P(x=1) 再解 a。
下一章(第 3 章)我們會進入「一元方程與聯立方程」:
會把本章的因式分解技巧,直接用在解題與驗算流程中。