# AlphaZ

### Site Tools

tutorial_subsystem

# Differences

This shows you the differences between two versions of the page.

 tutorial_subsystem [2014/07/14 11:51]guillaume [Extension domain] tutorial_subsystem [2017/04/19 13:31] (current) Both sides previous revision Previous revision 2014/07/14 11:59 guillaume [Transformations involving subsystems] Commands added2014/07/14 11:51 guillaume [Extension domain] 2014/07/14 11:33 guillaume [Syntax of Use Equation (without extension domain)] 2014/07/14 11:33 guillaume [Extension domain] 2014/07/14 11:29 guillaume [Syntax of Use Equation (without extension domain)] 2014/07/12 08:00 guillaume [Transformations involving subsystems] 2014/07/12 07:43 guillaume [Extension domain] 2014/07/12 07:33 guillaume [Extension domain] 2014/07/12 07:00 guillaume Part 1 posted2014/07/07 11:51 yun created Next revision Previous revision 2014/07/14 11:59 guillaume [Transformations involving subsystems] Commands added2014/07/14 11:51 guillaume [Extension domain] 2014/07/14 11:33 guillaume [Syntax of Use Equation (without extension domain)] 2014/07/14 11:33 guillaume [Extension domain] 2014/07/14 11:29 guillaume [Syntax of Use Equation (without extension domain)] 2014/07/12 08:00 guillaume [Transformations involving subsystems] 2014/07/12 07:43 guillaume [Extension domain] 2014/07/12 07:33 guillaume [Extension domain] 2014/07/12 07:00 guillaume Part 1 posted2014/07/07 11:51 yun created Line 7: Line 7: Let us assume that we want to compute the mean of the values of a vector. It is feasible through the following Alpha system: Let us assume that we want to compute the mean of the values of a vector. It is feasible through the following Alpha system: - + affine mean {N | N>0} affine mean {N | N>0} input input Line 22: Line 22: However, let us assume that you already have another Alpha system which computes the sum of the elements of a vector. It is possible to use this affine system (instead of rewriting its equation in the main system), by calling it through a **use equation**: However, let us assume that you already have another Alpha system which computes the sum of the elements of a vector. It is possible to use this affine system (instead of rewriting its equation in the main system), by calling it through a **use equation**: - + affine sum {P| P>0} // Computes the sum of the elements of a vector of size P affine sum {P| P>0} // Computes the sum of the elements of a vector of size P input input Line 49: Line 49: In general, the syntax of a use equation is the following: In general, the syntax of a use equation is the following: - + use subsystem_name[list of parameters] (list of input expressions) returns (list of output variables); use subsystem_name[list of parameters] (list of input expressions) returns (list of output variables); ​ Line 61: Line 61: Let us assume that you have a system which computes a dot product of two vectors: Let us assume that you have a system which computes a dot product of two vectors: - + affine dotProduct {N | N>0} affine dotProduct {N | N>0} input input Line 76: Line 76: It is possible to do it by using an extension domain: It is possible to do it by using an extension domain: - + affine dotProduct {N | N>0} affine dotProduct {N | N>0} input input Line 110: Line 110: **InlineSubSystem:​** Inline the equations of a subsystem inside the affine system calling it. The use equation of the main system is replaced by the equations of the subsystem (which are adapted), and new local variables are added. **InlineSubSystem:​** Inline the equations of a subsystem inside the affine system calling it. The use equation of the main system is replaced by the equations of the subsystem (which are adapted), and new local variables are added. + + The command is: ''​void InlineSubSystem(Program program, String systemName, String label)''​ where ''​label''​ is the label of the inlined use equation. + **OutlineSubSystem:​** Given a list of equations of an affine systemm, outline them inside a new system and replace these equation by a use equation. The current version (July 2014) do not allow to specify an extension domain, however this is a work in progress. **OutlineSubSystem:​** Given a list of equations of an affine systemm, outline them inside a new system and replace these equation by a use equation. The current version (July 2014) do not allow to specify an extension domain, however this is a work in progress. + + The command is ''​void OutlineSubSystem(Program program, String system, String listEquations)''​ where ''​listEquations''​ is the list of label of the equations to be outlined. 