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
ToInert - 不活性表現への変換
FromInert - 不活性表現からの変換
使い方
ToInert( expr )
FromInert( inert_expr )
パラメータ
expr - 数式
inert_expr - 有効な不活性表現
説明
評価中に形が変化する Maple の数式の中には、操作が難しいものがあります。そこで、活性な数式の形を、評価の心配をすることなく自由に編集することが可能な不活性形式に変換することが有用となります。変更が行われても、その数式を活性形式に戻す変換を行うことが可能です。
ToInert ルーチンは、Maple の数式を不活性形式に変換します。FromInert ルーチンは、有効な不活性表現を、Maple の活性なオブジェクトに戻します。
不活性形式は、Maple の内部 DAG データ構造表現へ、詳細に反映されます。例えば、数式 x^y は、変数 x および変数 y のベキ乗として内部的に保存されます。不活性表現は、与えられた数式の構造を記述する"_Inert_XXX" という変数を用いた、埋め込み関数呼び出しの列となります。内部的な表現と不活性表現にはいくつか異なる点があります。主として和および積の場合、内部表現は、便利なプログラミング的操作とは反対の、高速の多項式算法を用いてデザインされます。正確な内部表現については、 dismantle を参照して下さい。
Maple の DAG の種類を表すリストについては、Maple Advanced Programming Guide 内にある "Appendix A: Internal Representation and Manipulation" を参照して下さい。
例
5*x の構造を調べます。
ToInert(5*x);
手続きの中で、属性を持たない大域変数全てを検索します。
f := proc(x) ASSERT(type(x,integer)); ifactor(x) end;
globals_f := indets(op(5,ToInert(eval(f,1))), '_Inert_NAME(anything)');
局所変数 i の名称を j に変更します。
g := proc() local i; end;
inert_g := ToInert(eval(g,1));
new_g := FromInert( subsop(2=subs("i"="j", op(2,inert_g)), inert_g));
参照
dagtag, dismantle, inert
参考文献
Maple Advanced Programming Guide
Download Help Document