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
combstruct[agfeqns] - find the system of generating function equations associated with an attribute grammar
combstruct[agfseries] - find the series solution of a system of generating function equations associated with an attribute grammar
Calling Sequence
agfeqns(spec, a_spec, typ, var, att_list)
agfseries(spec, a_spec, typ, var, att_list)
Parameters
spec
-
combinatorial specification
a_spec
specification of attribute grammar associated with spec
typ
labeling type; 'labeled' or 'unlabeled'
var
main (size) variable in the generating function
att_list
list of lists associating attribute names with variables
Description
These functions, agfeqns and agfseries, form the attribute grammar analogues to combstruct[gfeqns], and combstruct[gfseries]. For details on specifications, see combstruct and combstruct[specification].
These functions involve multivariate generating function equations which count the objects, as described in the specification spec, and properties of the structures, as defined in the attribute grammar, a_spec.
Each nonterminal in the grammar is associated with a generating function which is named with the name of the structure. For example, would be a generating function for . These two functions, agfeqns and agfseries, determine the equations in terms of other nonterminals and specify the series for the generating functions, respectively.
For example, in an unlabeled system with structure and attributes and , the multivariate generating function is defined as .
Any number of attributes is allowable, but no user-defined attribute can be marked by the parameter var.
If the objects are labeled, the exponential generating functions are produced. If the objects are unlabeled, ordinary generating functions are used.
The attribute, size, is used for the property pertaining to the number of atoms. It can be referenced in another attribute, but not redefined.
If no rule is defined for a given attribute structure pair, a default recursive rule is used. For example, and the attribute imply a default attribute specification of .
Each attribute must be marked by a single, unique variable.
Examples
For example, a labeled binary tree is a node or a node and two subtrees.
One can use attributes to count the number of leaves.
For example, the series up to order 10 indicates that there are five trees with 7 nodes and 4 leaves.
The internal path length, or sum of distances from nodes to the root, can be defined recursively.
This system can be solved and the average values attained.
See Also
combstruct, combstruct[agfmomentsolve], combstruct[gfseries], combstruct[gfsolve], combstruct[specification]
Download Help Document