sort - 値のリストまたは多項式の並べ換え
使い方
sort(L)
sort(L, F)
sort(A)
sort(A, V)
パラメータ
L - 並べ換えられる値のリスト
F - (オプションl) 2 つの引数のブール手続き
A - 代数式
V - (オプション) 変数
|
説明
|
|
•
|
sort 関数は、リスト L の要素を昇順に、代数式 A の多項式の項を降順に並べ換えます。
|
•
|
F が与えられると、それはリストを並べ換える順序付けの定義に用いられます。F が記号 `<` または numeric ならば、型 type({numeric, real_infinity}) を持つリスト L は、数値の昇順に並べ換えられます。F が記号 `>` ならば、L は数値の降順に並べ換えられます。F が記号 lexorder または string ならば、文字列と記号のリストは、辞書式順序により並べ換えられます。F が記号 address ならば、要素はアドレスにより並べ換えられます。F が記号 length ならば、要素は length() 関数で決定されるその長さにより並べ換えられます。そうでなければ、F は2つの引数のブール値関数でなければなりません。 特に、望む順序で a が b の前にあれば、F(a,b) は true を返し、そうでなければ false を返すはずです。
|
•
|
順序付け関数 F が指定されていないと、型 list({numeric, real_infinity}) を持つリストは数値順序で並べ換えられ、文字列や記号のリストは辞書式順序で並べ換えられます。そうでなければ、L の要素はマシンアドレスによって並べ換えられます。マシンアドレスによる並べ換えは、セッションに依存することに注意して下さい。
|
•
|
Maple では、多項式は並べ換えた順序で自動的には記憶されません。多項式は最初に作られた順序で記憶され、表示されます。sort 関数は多項式を並べ換えるために使用することができます。しかし、多項式の並べ換えは破壊的な操作であることに注意して下さい。入力の多項式は「その場で」並べ換えられます。
|
•
|
V が与えられると、それは多項式を並べ換える際に使用される変数の順序を指定します。V は名前、関数、名前のリストまたは集合 (多変数の場合) のいずれかです。式 A のすべての多項式は、V の降順に並べ換えられます。V が指定されないと、A に現れる不定元が用いられます。
|
•
|
追加の 3 つめの引数である、記号 plex または tdeg のいずれかは、多変数の場合の順序付けを定義するために用いることができます。tdeg が指定されると (デフォルト)、V の多項式は全次数で順序付けられ、同じ全次数のときは辞書式順序で順序付けられます。plex が指定されると、V の多項式は純辞書式順序で並べ換えられます。
|
•
|
リストを並べ換えるための並べ換えアルゴリズムは、並べ換えられた列を早期に探知する Merge ソートの再帰的な実装です。多項式の並べ換えに用いられる並べ換えアルゴリズムは、その場で行う Shell ソートです。文字列と記号の辞書式順序は US-ASCII 文字セットの順序列を想定しています。
|
|
|
例
|
|
| (2.1) |
| (2.2) |
>
|
sort([c,a,d],lexorder);
|
| (2.3) |
>
|
sort([a,ba,aaa,aa],length);
|
| (2.4) |
>
|
p := y^3+y^2*x^2+x^3:
sort(p,[x,y]);
|
| (2.5) |
| (2.6) |
| (2.7) |
|
|
Download Help Document
Was this information helpful?