Factor
詳細とオプション
- Factorは,式の最上の代数的レベルに限って適用される.他のレベルに到達するためにはMapを使用したり,Factorを再適用したりする必要があることがある.
- Factor[poly,GaussianIntegers->True]は,ガウスの整数を係数と認識し因数分解する.
- poly の係数が複素数である場合,ガウスの整数を係数と認め因数分解が実行される.
- 変数の指数が正の整数である必要はなく,Factorは,指数が記号式の線形結合のものを取り扱うことができる.
- 有理式が与えられる場合,Factorは,まずTogetherを呼び出し,それから分子と分母を因数分解する.
- Factorは以下のオプションを取る.
-
Extension None 使用する係数体 GaussianIntegers False ガウス整数上で因数分解するかどうか Modulus 0 整数に仮定する法 Trig False 代数変換だけでなく三角変換も行うかどうか - デフォルト設定のExtension->Noneでは,Factor[poly]は多項式 poly において代数的数である係数を独立変数と同様のやり方で取り扱う.
- Factor[poly,Extension->Automatic]は,多項式 poly にある任意の代数的数を含めるように,係数の取り扱える領域を拡張する. »
- Factorは自動的に,リスト,方程式,不等式,論理関数に縫い込まれる.
例題
すべて開く すべて閉じる例 (3)
スコープ (13)
基本的な用法 (6)
Factor[x ^ 3 - 6x ^ 2 + 11x - 6]Factor[2x ^ 3 y - 2a ^ 2x y - 3a ^ 2x ^ 2 + 3a ^ 4]Factor[(x ^ 3 + 2x ^ 2) / (x ^ 2 - 4y ^ 2) - (x + 2) / (x ^ 2 - 4y ^ 2)]Factor[2 ^ (3x) - 1]Factorはリストに縫い込まれる:
Factor[{x ^ 2 - 1, x ^ 4 - 1, x ^ 8 - 1}]Factorは等式と不等式に縫い込まれる:
Factor[1 < 1 + 2 x + x ^ 2 + 1 / (1 + x) < 2]高度な用法 (7)
Factor[x ^ 2 + 1, GaussianIntegers -> True]Factor[x ^ 4 - 2, Extension -> Sqrt[2]]Factor[x ^ 3 + 1, Modulus -> 3]ℱ = FiniteField[17, 3];Factor[ℱ[3]x ^ 2 + ℱ[1771]]Factor[x ^ 3 + 5x + 19, Extension -> ℱ]ℱ = FiniteField[29, 3];
𝒢 = FiniteField[29, 6];
ℰ = FiniteFieldEmbedding[ℱ, 𝒢];
上で既約の有限体は,
をより大きい体
に埋め込んだ後で因数分解される:
Factor[ℱ[12]x ^ 2 + ℱ[34]x + ℱ[56]]Factor[ℱ[12]x ^ 2 + ℱ[34]x + ℱ[56], Extension -> ℰ]Factor[x ^ (2s) + 2x ^ s + 1]Factor[x ^ (2 / 3s) + 2x ^ s + 1]Factor[Exp[2s] + 2Exp[s] + 1]rpoly[n_] := RandomInteger[{-2 ^ 10, 2 ^ 10}, {n + 1}].x ^ Range[0, n]
SeedRandom[1234];
p = rpoly[1000]; q = rpoly[1000];
r = Expand[p q];Factor[r]//Short//AbsoluteTimingオプション (7)
Extension (4)
Factor[1 + x ^ 4, Extension -> Sqrt[2]]Factor[1 + x ^ 4, Extension -> {Sqrt[2], I}]Extension->Automaticとすると,自動的に係数をカバーする体まで拡大する:
Factor[2 + 2Sqrt[2]x + x ^ 2]Factor[2 + 2Sqrt[2]x + x ^ 2, Extension -> Automatic]ℱ = FiniteField[73, 4];Factor[x ^ 4 + 21x + 3, Extension -> ℱ]ℱ = FiniteField[7, 2];Factor[ℱ[1]x ^ 4 + ℱ[234]x + ℱ[567]]
をより大きい体
に埋め込むとさらに因数分解できるようになる:
𝒢 = FiniteField[7, 4];
ℰ = FiniteFieldEmbedding[ℱ, 𝒢];Factor[ℱ[1]x ^ 4 + ℱ[234]x + ℱ[567], Extension -> ℰ]GaussianIntegers (1)
Modulus (1)
アプリケーション (3)
多項式で動作をモデル化する場合,多項式を評価すると0になるタイミングを決定することが重要である.例えば,ビデオゲームシステムを作成するためのコストが次の式でモデル化されるとする:
cost[x_] := -.03x ^ 3 + 4x ^ 2 - x + 500Plot[cost[x], {x, 0, 100}]revenue[x_] := .03x ^ 2 - 4x + 200Plot[revenue[x], {x, 0, 100}]収益をあげるまでに何単位売らなければならないかが知りたければ,差を計算する:
profit[x_] := revenue[x] - cost[x]Plot[profit[x], {x, 0, 100}]次に,Factorを使って収益関数が0になる点を求めることで問題を解く:
Factor[profit[x]]Plot[profit[x], {x, 130, 140}]x ^ 2 == xSubtractSides[%, x]Factorを使って多項式が0になる点を求める:
Factor[%]0 ^ 21 ^ 2Factor[-x ^ 2 + x]Factor[x ^ 4 - 1]両者が因子
を共有していることがわかる.PolynomialGCDを使ってこの結果を確かめる:
PolynomialGCD[-x ^ 2 + x, x ^ 4 - 1]特性と関係 (3)
Factor[x ^ 50 - 1]Expand[Factor[x ^ 50 - 1]]FactorListは因数のリストを返す:
FactorList[x ^ 8 + 11x ^ 7 + 43x ^ 6 + 59x ^ 5 - 35x ^ 4 - 151x ^ 3 - 63x ^ 2 + 81x + 54]FactorSquareFreeは,無平方因子のみを取り出す:
f = x ^ 9 + 9x ^ 8 + 21x ^ 7 - 27x ^ 6 - 153x ^ 5 - 81x ^ 4 + 239x ^ 3 + 207x ^ 2 - 108x - 108;Factor[f]FactorSquareFree[f]テクニカルノート
-
▪
- 代数式の変形 ▪
- 式の変形 ▪
- 有理式の変形操作 ▪
- 多項式の変形操作 ▪
- 素数を法とする多項式 ▪
- 実装に関するノート: 代数と解析
履歴
1988 で導入 (1.0) | 1996 で更新 (3.0) ▪ 2007 (6.0) ▪ 2022 (13.2) ▪ 2023 (13.3)
テキスト
Wolfram Research (1988), Factor, Wolfram言語関数, https://reference.wolfram.com/language/ref/Factor.html (2023年に更新).
CMS
Wolfram Language. 1988. "Factor." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/Factor.html.
APA
Wolfram Language. (1988). Factor. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Factor.html
BibTeX
@misc{reference.wolfram_2026_factor, author="Wolfram Research", title="{Factor}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/Factor.html}", note=[Accessed: 08-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_factor, organization={Wolfram Research}, title={Factor}, year={2023}, url={https://reference.wolfram.com/language/ref/Factor.html}, note=[Accessed: 08-September-2026]}