Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
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