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
add - 値の式列の足し合わせ
mul - 値の式列の掛け合わせ
使い方
add(f, i = m..n)
add(f, i = x)
add(f, i in x)
mul(f, i = m..n)
mul(f, i = x)
mul(f, i in x)
パラメータ
f
-
式
i
名前
m, n
数値
x
add コマンドは、明示された数値の式列を足し合わせるために用います。mul コマンドは、明示された式列の積を計算します。add コマンドの典型的な呼び出し方は add(f(i), i=1..n) です。これは を計算します。より一般に、add(f(i), i=m..n) は を計算します。同様に mul(f(i), i=m..n) は を計算します。
コール add(f(i), i=x) は x のそれぞれの被作用子もしくは入力に対して f を適用したものの和を計算します。ここで x は通常、集合またはリストですが、加算とか乗算といった、op が適用できる他のあらゆるデータ構造でも構いません。同様にして、コール mul(f(i), i=x) は x の被作用子に f を適用したものの積を計算します。x に tables や Arrays、rtables が入力されると x は被作用子として読み込まれません。
add および mul コマンドは for 文によるループ処理と関連する seq コマンドと関連づけられています。2 つのコマンド add および mul をより正確に理解するには、このコマンドが以下に示す for ループ処理と同じであることに注目するとよいでしょう。ここで、式 f は指標 i の関数を表します。
add(f, i=m..n) == S := 0;
old := i;
for i from m to n do S := S+f end do;
i := old;
S; # 計算結果
mul(f, i=x) == P := 1;
for i in x do P := P*f end do;
P; # 計算結果
どちらの場合でも、add および mul コマンドの方が一般に for ループよりも効率的です。これは for ループ処理においては、多くの中間的な和や積が作られるからです。
端点 m と n は、数値定数、すなわち、整数、分数または浮動小数点数に評価される必要があります。端点について記号的な和や積を与える式を計算したい場合には、sum または product コマンドを使います。特別な場合として、m は (無限大) に、n は (マイナス無限大) に評価されても構いません。m が n よりも大きい場合、add は 0、mul は 1 を返します。
インデックス変数 i に割り当てられた既存の値は、いずれも add または mul の呼び出しの中だけのものであることにも注意して下さい。add または mul が実行されているときに同時に現れる同じ名前の局所変数や大域変数は影響を受けません。
x がスパース Matrix、Vector または rtable である場合、0 でないエントリーだけが読み込まれます。そうでなければ、indexing function もしくは storage にかかわらず、オブジェクトの全インデックススペースは読み込まれます。
記号的な和や積の計算に関しては、sum や product も参照して下さい。これらのコマンドは、明示的な和や積ではなく、不定和 (または定和) あるいは積に対する式を返すためのものです。
add(f(i), i in x) は、add(f(i), i = x) と同様のものとして扱われます。"in" と "=" の表記は add と mul で同じ結果を生成します。
スレッド安全性
add および mul コマンドは、Maple 15 以後スレッドセーフです。ただし、式 f の評価がスレッドセーフである場合に限ります。さらに、インデックス変数 i が、スレッド間で共有されないことが必要です。ローカルのプロシージャの使用を推奨します。
スレッド安全性に関する詳細は、index/threadsafe を参照してください。
例
add や mul コマンドは、明示された数値の式列の和や積を計算するために使用します。
mul( i, i=1..5 );
add( i^2, i=1..5 );
add(a[i]*x^i, i=0..5);
add と mul コマンドは、行列に使用できます。
M:=Matrix([[1,2],[3,4]]);
add(M, k=1..2);
mul(M, k=1..3);
"in" と "=" の表記は add と mul で同じ結果を生成します。
L := [seq(i, i=1..5)];
add( i, i=L );
add( i, i in L);
mul( x-i, i=L );
mul( x-i, i in L);
add コマンドは数値で指定された範囲に関してのみ働きます。
add( i^2, i=0..n );
Error, unable to execute add
sum( i^2, i=0..n );
add( i, i=infinity..0 );
mul( i, i=0..-infinity );
product(i, i=1..infinity);
関連項目
for、op、product、seq、sum、Threads[Add]、Threads[Mul]
Download Help Document