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
Grid[Seq] - グリッド上で計算を分配して数列を生成
使い方
Seq( f, i=m..n ))
Seq( f, i=x ))
パラメータ
f
-
任意の式
i
名前
m, n
数値
x
式
説明
Seq コマンドは並列計算により数列を構築します。最も一般的な使用法は、Seq(f(i), i = 1..n) で、その場合数列 f(1), f(2), ..., f(n) を生成します。各 f(i) の計算は、利用可能な全ノードにわたり均等に分配されます。
Seq コマンドはトップレベルコマンド seq と Threads[Seq] コマンドに似ています。トップレベルコマンド seq は数列全体を直列的に評価します。Threads[Seq] コマンドは、数列の要素を同一プロセス内で別々のスレッドに乗せて並列に処理します。Grid[Seq] コマンドは、数列の要素を別々のプロセスに乗せて並列に処理しますが、この場合はプロセスを複数マシンに分配することも可能です。
Seq は並列計算の全ノードで呼び出されることを想定しています。グリッド外の非計算ノードから、並列計算の一部としてでなく呼び出された場合、Seq は Launch コマンドにより全ノードで同コマンドを起動しようとします。そのとき、f を解析し、f 内にあるアサインされた値を各グリッドノードに予め入れておきます。この方法でほとんどのケースに対応できますが、頑健な方法ではありません。
Seq は Send と Receive コールを利用した高水準コマンドです。従って、f からの Send や Receive への呼び出しは避けてください。
Seq には Maple の seq コマンドの特殊評価ルールは該当しません。x パラメータでは、一次元を超える構造(行列など)は現在利用できません。
Seq の計算結果はノード 0 でのみ利用可能です。結果として得られる Maple 数式を使って他のノードでさらに計算を進める場合、Send と Receive を用いて直接送る必要があります。
互換性
Grid[Seq] コマンドは Maple 15 より導入されています。
Maple 15 の変更点についての詳細は、Maple 15 の更新情報 をご覧ください。
例
[ Grid[Seq]( i, i=1..4 ) ];
f := proc(x,y) if x > 0 then trunc(x) + y; else y^2 + x; end if; end proc;
a := 2;
g := proc(x) trunc(x) end:
[ Grid:-Seq( 'f(g(i)*a,i)', i=[1.1,2.2,3.3,4.4] ) ];
cmd := proc() uses Grid; local f, g, a, y; f := proc(x,y) if x > 0 then trunc(x) + y; else y^2 + x; end if; end proc; a := 2; g := proc(x) trunc(x) end: Seq( 'f(g(i)*a,i)', i=[1.1,2.2,3.3,4.4] ); end proc;
[ Grid:-Launch(cmd) ];
参照
Grid, Grid[Receive], Grid[Send], seq, Threads[Seq]
Download Help Document