Go to Overview over all GrAL packages.
Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Construct Grid Isomorphisms
[Grid MorphismsCombinatoric Algorithms on Grids]

Algorithms for finding an isomorphism between two grids. More...

Functions

template<class GRID1, class GRID2, class GT1, class GT2, class PHI> bool construct_isomorphism (GRID1 const &G1, GRID2 const &G2, GT1 gt1, GT2 gt2, PHI &phi)
 Construct an isomorphism between two grids. More...

template<class GRID1, class GRID2, class PHI> bool construct_isomorphism (GRID1 const &G1, GRID2 const &G2, PHI &phi)
 Convenience wrapper for general construct_isomorphism. More...

template<class CELL1, class CELL2, class GRID1, class GRID2, class PHI> bool extend_isomorphism (CELL1 const &c1, CELL2 const &c2, GRID1 const &G1, GRID2 const &G2, PHI &phi)
 Extend a given isomorphism to the whole grid. More...


Detailed Description

Algorithms for finding an isomorphism between two grids.

Grid Isomorphisms are bijective mappings between grids, respecting incidence relationships. Two isomorphic grids are indistinguishable from a combinatorial point of view.


Function Documentation

template<class GRID1, class GRID2, class GT1, class GT2, class PHI>
bool construct_isomorphism GRID1 const &    G1,
GRID2 const &    G2,
GT1    gt1,
GT2    gt2,
PHI &    phi
 

Construct an isomorphism between two grids.

See also:
Construct Grid Isomorphisms
Return value is true on successful construction, else false.

See also:
test-construct-isomorphism.C for an example
Bug:
It does not really try all possible isomorphisms. If an isomorphism of 2 cells does not extend to an isomorphism of the whole grid, it does not try other isomorphisms of the same pair of cell. Thus, it cannot construct an isomorphism of a Cartesian 2x1 grid to a 1x2 grid.

Definition at line 223 of file construct-isomorphism.C.

template<class GRID1, class GRID2, class PHI>
bool construct_isomorphism GRID1 const &    G1,
GRID2 const &    G2,
PHI &    phi
[inline]
 

Convenience wrapper for general construct_isomorphism.

See also:
Construct Grid Isomorphisms

Definition at line 52 of file construct-isomorphism.h.

template<class CELL1, class CELL2, class GRID1, class GRID2, class PHI>
bool extend_isomorphism CELL1 const &    c1,
CELL2 const &    c2,
GRID1 const &    G1,
GRID2 const &    G2,
PHI &    phi
 

Extend a given isomorphism to the whole grid.

See also:
Construct Grid Isomorphisms
Return value is true on successful extension to the whole grid (more precisely, to the component containing c1). It is false if this failed. In this case, phi contains the partial morphism constructed so far.


Copyright (c) Guntram Berti 1997-2002. See the GrAL Homepage for up-to-date information.

Generated at Tue Feb 26 16:06:06 2002 for GrAL Base by doxygen 1.2.11-20011104 written by Dimitri van Heesch, © 1997-2000