Maple Professionel
Maple Académique
Maple Edition Étudiant
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professionel
MapleSim Académique
Maple T.A. - Suite d'examens de classement
Maple T.A. MAA Placement Test Suite
Möbius - Didacticiels de mathématiques en ligne
Machine Design / Industrial Automation
Aéronautique
Ingénierie des véhicules
Robotics
Energie
System Simulation and Analysis
Model development for HIL
Modélisation du procédé pour la conception de systèmes de contrôle
Robotics/Motion Control/Mechatronics
Other Application Areas
Enseignement des mathématiques
Enseignement de l’ingénierie
Enseignement secondaire et supérieur (CPGE, BTS)
Tests et évaluations
Etudiants
Modélisation financière
Recherche opérationnelle
Calcul haute performance
Physique
Webinaires en direct
Webinaires enregistrés
Agenda des évènements
Forum MaplePrimes
Blog Maplesoft
Membres Maplesoft
Maple Ambassador Program
MapleCloud
Livres blancs techniques
Bulletin électronique
Livres Maple
Math Matters
Portail des applications
Galerie de modèles MapleSim
Cas d'Etudes Utilisateur
Exploring Engineering Fundamentals
Concepts d’enseignement avec Maple
Centre d’accueil utilisateur Maplesoft
Centre de ressources pour enseignants
Centre d’assistance aux étudiants
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