Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
mod, modp, mods - m を法とする整数上での計算
使い方
e mod m
modp(e, m)
mods(e, m)
`mod`(e, m)
パラメータ
e - 代数式
m - ゼロでない整数
説明
mod 演算子は、式 e を m を法とする整数上で評価します。因数分解を含む、有限体上の演算と有限体上の多項式や行列の演算を行う機能が組み込まれています。
演算子構文 e mod m は、関数 `mod`(e,m) を呼び出すことと同値です。環境変数 `mod` は、modp 関数か mods 関数のどちらかを割り当てます。(デフォルトで) modp が割り当てられたとき、m を法として正の整数が使われます。すなわち、すべての有理数の係数が、範囲 [0,abs(m)-1] 内の整数になるでしょう。 mods の値が割り当てられたとき、対称な表現が使われます。すなわち、すべての有理数の係数が、範囲 [-iquo(abs(m)-1,2), iquo(abs(m),2)] 内の整数になるでしょう。
法 m が素数のとき、すべての係数算術は、m を法とする整数からなる有限体で行われます。標数 m の q = m^n 元体の要素は、alpha を m を法とする整数のなす有限体上の単純拡大とするとき、aplha の多項式として表されます。付加された元 aplha は、m を法とする整数上の最高次の係数が1の n 次の1変数既約多項式の根 (RootOf) です。RootOf および下記の例を参照して下さい。
有限環や有限体上の多項式演算や行列演算に対する以下の関数は、mod と使うことができます。より詳しくはヘルプを参照して下さい。
Content Det DistDeg Divide Eval Expand Factor Factors Frobenius Gausselim Gaussjord Gcd Gcdex Hermite Interp Inverse Issimilar Lcm Normal Nullspace Power Powmod Prem Primfield Primitive Primpart Quo Randpoly Randprime Rem Resultant Roots Smith Sprem Sqrfree taylor
i が整数のとき、i^n mod m を計算するために、この「自明な」構文を使用するのは不適切です。なぜなら、ベキ乗は m を法とする簡約の前にまず整数上で実行されるからです (非常に大きな整数になるかもしれません)。むしろ、不活性な演算子 &^ を i &^ n mod m のように使うべきです。 後者の形では、ベキ乗は mod 演算によってうまく実行されるでしょう。同様に Powmod(a,n,b,x) mod m は、(a と b が x の多項式であるとき) 初めに a^n mod m を計算せずに Rem(a^n,b,x) mod m を計算します。
他の法算術演算は、自然な形式で述べられます。
i+j mod m; i-j mod m; i*j mod m; j^(-1) mod m; i/j mod m;
後者の場合、m を法として i*j^(-1) を実行するでしょう。
mod 演算子の左優先順位は、他の算術演算子より低い (すなわち拘束力が小さい) です。その優先順位は、ちょうど +, - より高く、 *, / より低くなっています。
mod 関数にはユーザが定義するためのインタフェースがあります。たとえば、ユーザが手続き `mod/f` を定義したとき、演算 f(x,y) mod 23 は、関数 `mod/f`(x,y,23) を呼び出します。
mod 演算子は、等式、多項式の係数、およびリストと集合の成分上へ自動的に写像されます。
mod は環境変数なので、手続き本体の内部での mod に対するいかなる割り当ても、手続きから抜け出ると解除されます。
効率的なモジュールの線形代数計算を行うには、LinearAlgebra[Modular] を参照してください。
例
modp(12,7);
12 mod 7;
mods(12,7);
1/3 mod 7;
5*3 mod 7;
5 &^ 1000 mod 100;
a := 15*x^2+4*x-3 mod 11;
`mod` := mods: b := 3*x^2+8*x+9 mod 11;
gcd(a,b);
g := Gcd(a,b) mod 11;
Divide(a,g,'q') mod 11;
q;
factor(x^3+2);
Factor(x^3+2) mod 5;
alias(alpha=RootOf(y^2+2*y-1)): Normal(1/alpha) mod 5;
Factor(x^3+2,alpha) mod 5;
Expand(%) mod 5;
参照
environment, GF, iquo, irem, LinearAlgebra[Modular], modp1, msolve
Download Help Document