|
|
||||||
|
Public Member Functions |
Protected Types |
Protected Member Functions |
Protected Attributes |
List of all members
faudes::LinearRelation Class Reference Detailed DescriptionLinear relation on R^n. This class is a container to hold matrices A1 and A2 and a vector B to represent the relation {(x1,x2) | A1 x1 + A2 x2 <= B}. Effectively, a linear relation on R^n is a polyhedron on R^(2n). For an alternative parametrisation for a linear relation consider an affine map "x -> C x + d" and a subsequent bloat by a polyhedral offset "F x <= E", to obtain: {(x1,x2) | F ( x2 - (C x1 + D) ) <= E}. to convert the second from to the first, we have the correspondence A1 = -F C; A2 = F; B = E + F D ; The class maintains a flags to indicate the special cases {(x1,x2) | x2 = C x1 + D } and {(x1,x2) | x2 = x1 }. These flags, however, are purely syntatic, i.e., they need to be set by using the respective initialisers. To facilitate the ussage of an external library that implements transformations on polyhedra, the Relation container can record untyped user data in a (void*) entry. See hyb_compute.cpp for a PLL based implemenation of a reachability analysis. The token format is as follows: % general relation
<Relation>
<A1Matrix>
...
</A1Matrix>
<A2Matrix>
...
</A2Matrix>
<BVector>
...
</BVector>
</Relation>
% identity
<Relation dimension="2"/>
Definition at line 970 of file hyb_parameter.h.
Member Enumeration Documentation◆ TCase
Constructor & Destructor Documentation◆ LinearRelation() [1/4]
Default constructor. Sets dimension to 0 and the relation to be the identity map. Definition at line 806 of file hyb_parameter.cpp. ◆ LinearRelation() [2/4]
Constructor by dimension. Sets the relation to be the identity map.
Definition at line 819 of file hyb_parameter.cpp. ◆ LinearRelation() [3/4]
Copy-constructor. Definition at line 839 of file hyb_parameter.cpp. ◆ LinearRelation() [4/4]
Construct from file. Definition at line 853 of file hyb_parameter.cpp. ◆ ~LinearRelation()
Destructor. Definition at line 868 of file hyb_parameter.cpp. Member Function Documentation◆ A1()
Get A1 matrix. Definition at line 948 of file hyb_parameter.cpp. ◆ A2()
Get A2 matrix. Definition at line 953 of file hyb_parameter.cpp. ◆ B()
Get B vector. Definition at line 958 of file hyb_parameter.cpp. ◆ C()
Get C matrix. Note: this is only defined for the cases Map and Identity. Definition at line 963 of file hyb_parameter.cpp. ◆ Clear()
Clear all. Sets dimension to 0 with identity Reimplemented from faudes::Type. Definition at line 900 of file hyb_parameter.cpp. ◆ D()
Get D vector. Note: this is only defined for the cases Map and Identity. Definition at line 968 of file hyb_parameter.cpp. ◆ Dimension() [1/2]
Set dimension. Defaults to identity map.
Definition at line 912 of file hyb_parameter.cpp. ◆ Dimension() [2/2]
◆ DoAssign()
Assign from other polyhedron.
Definition at line 874 of file hyb_parameter.cpp. ◆ DoEqual()
Test equality. Note: this test refers to the paramtrisation as oposed to the actual relation.
Definition at line 888 of file hyb_parameter.cpp. ◆ DoRead()
Read from TokenReader, see Type::Read for public wrappers. The method invokes TokenReader::ReadBegin() to seek the specified section, reads subsequent symbols, and calls matching TokenReader::ReadEnd(). If no section is specified, the section is assumed to start at the current position of the token stream. If the current position is no begin token, the section "LinearRelation" is read.
Reimplemented from faudes::Type. Definition at line 1120 of file hyb_parameter.cpp. ◆ DoSWrite()
Write statistic info to TokenWriter, see Type::SWrite for public wrapper.
Reimplemented from faudes::Type. Definition at line 1106 of file hyb_parameter.cpp. ◆ DoWrite()
Write to TokenWriter, see Type::Write for public wrappers.
Reimplemented from faudes::Type. Definition at line 1081 of file hyb_parameter.cpp. ◆ Identity() [1/2]
◆ Identity() [2/2]
Test for data format. True only if initialsed Identity. Definition at line 931 of file hyb_parameter.cpp. ◆ Map() [1/2]Set to affine map Cx+D.
Definition at line 1000 of file hyb_parameter.cpp. ◆ Map() [2/2]
Test for data format. True when initialsed via Map or Identity. When initialised by Relation, the map data format is not available. Definition at line 937 of file hyb_parameter.cpp. ◆ Name() [1/2]
Object name.
Reimplemented from faudes::Type. Definition at line 1022 of file hyb_parameter.h. ◆ Name() [2/2]
Object name.
Reimplemented from faudes::Type. Definition at line 1014 of file hyb_parameter.h. ◆ Relation() [1/2]Set by A1, A2 and B.
Definition at line 973 of file hyb_parameter.cpp. ◆ Relation() [2/2]
Test for data format. The current implementation allway sets up the matrices A1, A2 and B and, hence, allways returns true. Definition at line 943 of file hyb_parameter.cpp. ◆ Size()
◆ UserData() [1/2]
Set user data. The relation takes ownership of the provided memory. On write access on the defining parameters the user data gets invalidated by means of "delete". The internal pointer is then set to NULL. Definition at line 1068 of file hyb_parameter.cpp. ◆ UserData() [2/2]
Get user data.
Definition at line 1075 of file hyb_parameter.cpp. Member Data Documentation◆ mA1
LinearRelation: data. Definition at line 1192 of file hyb_parameter.h. ◆ mA2
Definition at line 1193 of file hyb_parameter.h. ◆ mB
Definition at line 1194 of file hyb_parameter.h. ◆ mC
Definition at line 1195 of file hyb_parameter.h. ◆ mCase
Case flag. Definition at line 1189 of file hyb_parameter.h. ◆ mD
Definition at line 1196 of file hyb_parameter.h. ◆ mName
have a name Definition at line 1183 of file hyb_parameter.h. ◆ mpUserData
User data. Definition at line 1199 of file hyb_parameter.h. The documentation for this class was generated from the following files: libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen |