Homology in Electromagnetic Boundary Value Problems

  • Matti Pellikka1Email author,

    Affiliated with

    • Saku Suuriniemi1 and

      Affiliated with

      • Lauri Kettunen1

        Affiliated with

        Boundary Value Problems20102010:381953

        DOI: 10.1155/2010/381953

        Received: 4 March 2010

        Accepted: 14 July 2010

        Published: 1 August 2010

        Abstract

        We discuss how homology computation can be exploited in computational electromagnetism. We represent various cellular mesh reduction techniques, which enable the computation of generators of homology spaces in an acceptable time. Furthermore, we show how the generators can be used for setting up and analysis of an electromagnetic boundary value problem. The aim is to provide a rationale for homology computation in electromagnetic modeling software.

        1. Introduction

        Setting up a well-posed electromagnetic boundary value problem encompasses setting up constraints that are related to the problem domain: the boundary conditions, field sources, and material parameters. These constraints usually surreptitiously involve the topology of the field problem domain. The division of the domain boundary to be governed by different boundary conditions, imposed source fields or circuit quantities, the division of the domain to conducting and nonconducting subdomains, and the use of field potentials bring up topological aspects that cannot be overlooked when defining the boundary value problem [16].

        Failure to provide the above information in a consistent manner often leads to an over- or underdetermined system, and worse than that, the user as well as the software might be clueless where the problem lies. In this light, an automated, fast and definite procedure to find out the keystones of problem topology would save human effort and supersede problem-specific methods and heuristics in EM modeling software.

        The tools of homology, capturing the topological nature of Maxwell's equations, can provide what is needed. Therefore, the efficient computation of absolute and relative homology groups has been under active study in computational electromagnetics community during recent years [7, 8]. The absolute homology links to topologically complicated boundary value problem domain, while the relative homology is needed when the boundary values are imposed for the unknown fields, or the boundary value problem is coupled to external systems.

        In this paper, we represent a succession of algorithms that, when given a cellular mesh, will lead to computation of generators of homology groups in an acceptable time and memory, establishing the viability of homology computation as an integral part of an electromagnetic modeling software. We also discuss how the information provided by homology computation can be exploited.

        2. Homology

        The study of homology is sewed around the concept of boundary of a chain, which is an intrinsic part of Maxwell's integral equations and Stokes' theorem. We define a boundary operator on chains, which maps chains to their boundary chains. A chain with zero boundary is called a cycle, and the boundary of the boundary of any chain is empty. Therefore, all boundaries are cycles. However, the converse is not true, there can be cycles that are not boundaries. This makes a dramatic difference in the integration of closed fields over cycles. By Stokes' theorem, the integrals of closed fields vanish over boundaries, but not necessarily over cycles. Therefore, if two cycles differ only by a boundary, integrals of closed fields over them are equal, and they can be considered equivalent in this sense. The homology spaces(they are generalizable into moduli, but we restrict to spaces with coefficient field of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq1_HTML.gif or http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq2_HTML.gif , which are sufficient to our application) of a chain complex provide reliable means to classify cycles depending on their contribution to the integrals of closed fields. The elements of homology spaces are thus cosets of cycles.

        To algebraize the concepts of boundary and chain, we form a finitely generated chain complex http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq3_HTML.gif based on a cellular mesh http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq4_HTML.gif of the problem domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq5_HTML.gif . The cellular mesh http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq6_HTML.gif is an instance of the regular cell complex, a finite element mesh for example. The domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq7_HTML.gif is taken to be an orientable manifold with boundary. Now, the finite spaces of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq8_HTML.gif -chains constitute a chain complex (Chain complex: http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq9_HTML.gif for each http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq10_HTML.gif ). under the boundary operator. It is represented by an incidence matrix http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq11_HTML.gif , one for each dimension http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq12_HTML.gif . If we chose to disregard part of the chains that lie in a subdomain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq13_HTML.gif , covered by cell subcomplex http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq14_HTML.gif , we get so-called relative chain complex http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq15_HTML.gif [5, 7]. (In a case boundary values of the unknown field are imposed http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq16_HTML.gif , we are not interested about the field integrals there.) This is done by forming an inclusion map http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq17_HTML.gif and quotienting to get http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq18_HTML.gif . In boundary value problem, the quotient can be formed by dropping the rows and columns from http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq19_HTML.gif corresponding to elementary http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq20_HTML.gif -chains that lie in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq21_HTML.gif (As there are no boundary conditions concerning a multiplicity of a boundary, this is a practical choice of representatives for the relative chains of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq22_HTML.gif .) If http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq23_HTML.gif is empty, we call the chain complex absolute. Our discussion applies to absolute homology as well. Also, the distinction between the domains http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq24_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq25_HTML.gif and the FE meshes http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq26_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq27_HTML.gif is disregarded, and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq28_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq29_HTML.gif are used throughout. (Chain space http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq30_HTML.gif is finite dimensional whereas http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq31_HTML.gif is not, while http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq32_HTML.gif .)

        2.1. Decomposition of Chains and Cohomology

        It holds that for each http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq33_HTML.gif , the relative http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq34_HTML.gif -chain space has the nonunique decomposition [5]
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ1_HTML.gif
        (2.1)

        That is, a nonzero relative chain is a relative boundary of some http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq35_HTML.gif chain, that it belongs to an equivalence class of chains that are neither boundaries of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq36_HTML.gif relative chains and do not have a relative boundary in the chain space http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq37_HTML.gif , or it is a relative chain that has a nonzero relative boundary. Spaces http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq38_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq39_HTML.gif constitute a space of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq40_HTML.gif -chains whose boundaries are empty, the relative http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq41_HTML.gif -cycles http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq42_HTML.gif .

        It turns out that the relative homology spaces, moduli in general, http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq43_HTML.gif are interesting when posing an electromagnetic boundary value problem. (Restriction to space disregards torsion, which may occur in relative homology of orientable manifolds [7]. Our implementation uses integer computations to detect it.)They are isomorphic with cohomology spaces http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq44_HTML.gif of the (relative) cochains http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq45_HTML.gif . Cohomology is constructed on the exterior derivative, in our context of the de Rham cohomology, d in the similar manner homology concerns the boundary operator [1, 9]. (In general, this operator is called coboundary operator.) Cochains can be used to model the electromagnetic fields, and the integration of fields can be regarded as a bilinear mapping http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq46_HTML.gif of chains and cochains [1, 9]. The subdomain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq47_HTML.gif is typically a region where a boundary condition is imposed upon an unknown field.

        Cohomology and homology are related by de Rham's theorem. A field http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq48_HTML.gif is closed if http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq49_HTML.gif , and exact if http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq50_HTML.gif holds. By de Rham's theorem, a field http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq51_HTML.gif is exact if and only if
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ2_HTML.gif
        (2.2)

        Fields that are closed but fail to be exact belong to the cohomology class http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq52_HTML.gif . Now, such fields can only exist if the homology space http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq53_HTML.gif contains nonzero elements. Otherwise by (2.2) and Stokes' theorem, all closed fields are also exact. This is de Rham isomorphism between homology and cohomology: http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq54_HTML.gif [9]. Therefore, computation of the relative homology of the boundary value problem domain gives us full understanding of how the boundary conditions fix the cohomology classes of the unknown fields, what is left to be determined because of tunnels or voids in the domain.

        2.2. Some Properties and Examples of Homology Spaces

        The relation between absolute and relative homology spaces can be summarized with the exact sequence of homology spaces [1]:
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ3_HTML.gif
        (2.3)

        Here http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq55_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq56_HTML.gif are an inclusion and a projection induced by the corresponding mappings of chain spaces [5, 7]. That is, all the elements of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq57_HTML.gif can be decomposed into such nonunique parts that either have a nonzero preimage in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq58_HTML.gif or image in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq59_HTML.gif . This twofold structure of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq60_HTML.gif emerges when the domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq61_HTML.gif contains tunnels or voids, where field sources might be present in electromagnetic boundary value problem. Such sources can be taken into account with the aid of generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq62_HTML.gif , which have a counterpart in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq63_HTML.gif .

        Example 2.1.

        A toroid http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq64_HTML.gif where http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq65_HTML.gif consists of the two shaded walls in is shown Figure 1. 1-chain cosets http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq66_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq67_HTML.gif generate http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq68_HTML.gif . Generator http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq69_HTML.gif has a nonzero preimage in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq70_HTML.gif , while generator http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq71_HTML.gif has image in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq72_HTML.gif : http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq73_HTML.gif .
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig1_HTML.jpg
        Figure 1

        Two representatives of generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq74_HTML.gif . One generator has a nonzero preimage in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq75_HTML.gif , while the other has image in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq76_HTML.gif .

        Let http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq77_HTML.gif be an http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq78_HTML.gif -dimensional manifold. Then there exists an isomorphism [1, 9]
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ4_HTML.gif
        (2.4)
        If the boundary http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq79_HTML.gif is divided into two complementary nonoverlapping parts http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq80_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq81_HTML.gif , there exists an isomorphism [1, 9]
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ5_HTML.gif
        (2.5)

        These are so-called duality theorems, actually, compositions of the Lefschetz and de Rham duality theorems [1, 9], (It is crucial that the coefficient fields are the same on the homology and cohomology side.), which turn out to be useful together with the isomorphism between chains and cochains when considering dual formulations of an electromagnetic boundary value problem.

        Example 2.2.

        Dual generators of a bar http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq82_HTML.gif in are shown Figure 2. http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq83_HTML.gif consists of the opposite shaded ends of the tube, and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq84_HTML.gif consists of the jacket. 1-chain coset http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq85_HTML.gif generates http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq86_HTML.gif , while 2-chain coset http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq87_HTML.gif generates the dual space http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq88_HTML.gif .
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig2_HTML.jpg
        Figure 2

        Representatives of dual generators.

        3. Computation

        From the data structure representing a cellular mesh, that is a regular cell complex, we can deduce the incidence matrices representing the boundary operators. The http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq89_HTML.gif matrix contains the information about the boundary http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq90_HTML.gif 1-cells of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq91_HTML.gif -cells. If a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq92_HTML.gif 1-cell is on the boundary of a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq93_HTML.gif -cell, the corresponding incidence index is either 1 or −1, depending whether their orientations match or not [5, 7]. Otherwise the incidence index is 0. The boundary operator matrices and knowledge about the cells belonging to http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq94_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq95_HTML.gif hold all the information we need.

        The computation of the http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq96_HTML.gif  : th homology space is about finding the quotient space http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq97_HTML.gif . In other words, the p : th relative homology-space is http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq98_HTML.gif . The computation of a basis of this quotient space using the bases for http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq99_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq100_HTML.gif can be done with integer matrix decompositions of the boundary operator matrices, as discussed in [7, 8]. The decompositions are called Hermite normal form and Smith normal form. The problem is divided into three parts: finding bases for http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq101_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq102_HTML.gif , finding an inclusion map http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq103_HTML.gif , and finding a basis for quotient http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq104_HTML.gif .

        Unfortunately, the computation of the relevant integer matrix decompositions has worse than http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq105_HTML.gif upper bound for computational time complexity, where http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq106_HTML.gif is the number of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq107_HTML.gif -cells in the complex [10]. This is unacceptable, as finite element solution of a boundary value problem is a lot cheaper. However, the number of generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq108_HTML.gif is practically always substantially smaller than http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq109_HTML.gif , which suggests that we need to look for means to reduce the size of the bases of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq110_HTML.gif -chain spaces without altering the relative homology spaces. Only after that, the integer matrix decompositions of the reduced boundary operator matrices are used to compute the generators of homology spaces.

        3.1. Problem Size Reduction

        Homology spaces are topological invariants and they are isomorphic under weak homotopy equivalences [7, 11, 12]. Those properties provide that homeomorphisms and homotopy invariant mappings between topological spaces also preserve the homology spaces. Therefore, it is possible to apply certain homotopical operations to the problem domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq111_HTML.gif , which keep the homology spaces http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq112_HTML.gif invariant. When the domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq113_HTML.gif is covered by a regular cell complex http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq114_HTML.gif , two operations of this kind can easily be exploited [7, 13] as follows.

        (i) First is removing a cell that bounds only one cell, together with the cell it bounds. This makes a dent in the domain but not any holes. The corresponding homotopy invariant mapping of the underlying space http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq115_HTML.gif , is called deformation retraction [12]. In [13], this is referred to as exterior face collapsing.

        (ii) Second is combining neighboring http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq116_HTML.gif -cells that share on their boundary a common http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq117_HTML.gif 1-cell that is not bounding any other http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq118_HTML.gif -cells. This mapping leaves http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq119_HTML.gif intact. It only alters the chain complex http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq120_HTML.gif , which still covers the same domain. Therefore, the topology of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq121_HTML.gif doesnot change. In [13], this is referred to as interior face reduction.

        The aim is to perform and implement these two operations in such manner that as many cells as possible get removed with as little computational effort as possible. We have avoided nonlocal reduction methods in order to avoid algebraic computations until the sizes of the bases of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq122_HTML.gif -chain spaces are modest. The reason we split the reduction techniques in [13] in two separate algorithms is that the former alone is found more computationally efficient, and one should only after that resort to the latter.

        3.1.1. Reduction of Cells

        If a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq123_HTML.gif -cell http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq124_HTML.gif has a boundary http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq125_HTML.gif 1-cell http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq126_HTML.gif that does not bound any other http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq127_HTML.gif -cell, both of these cells can be removed from the cell complex without altering the relative homology spaces http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq128_HTML.gif [7, 13]. These cell pairs http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq129_HTML.gif satisfying the above condition are called elementary reduction pairs. Let http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq130_HTML.gif be the number of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq131_HTML.gif -cells in the cell complex http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq132_HTML.gif .

        An estimate for the computational complexity Algorithm 1 is in our interest. The order in which the cells are removed affects the efficiency of the algorithm, which ultimately depends on the index numbering of the cells. It is possible to construct examples where the repeat-until-loop must be ran http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq133_HTML.gif times, resulting to at least quadratic worst case computational complexity. However, for a typical manifold of a boundary value problem, the loop runs only a couple of times. That gives us more promising estimate when the cell complex http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq134_HTML.gif is implemented as a binary search tree and the cells carry the information about their boundary cells. The computational complexity is then essentially due to the linear-time for-loop and the logarithmic-time operation of removing items from a binary search tree. This estimate is http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq135_HTML.gif .

        Algorithm 1: http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq136_HTML.gif -Reduce.

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq137_HTML.gif cell complex

        Repeat

         for all http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq138_HTML.gif −1-cells http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq139_HTML.gif   do

          if   http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq140_HTML.gif is on the boundary of exactly one http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq141_HTML.gif -cell http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq142_HTML.gif   and

            ( http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq143_HTML.gif   or   http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq144_HTML.gif ) then

            http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq145_HTML.gif

          end if

        end for

        until no cell has been removed

        The removal of a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq146_HTML.gif - and a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq147_HTML.gif 1-cell corresponds to the removal of a row and a column from the matrix of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq148_HTML.gif and the removal of a row from the matrix of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq149_HTML.gif . The matrix of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq150_HTML.gif does not change as the removed http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq151_HTML.gif -cell cannot be on the boundary of any http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq152_HTML.gif +1-cell. In such case, no http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq153_HTML.gif 1-cell can be found that satisfies the if-clause in the algorithm. The algorithm can be applied to the cell complex in succession from the dimension http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq154_HTML.gif of the cell complex down to http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq155_HTML.gif . Note though, that the matrix operations are not definitely the most efficient way of implementation.

        The number of pairs http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq156_HTML.gif the algorithm is able to remove from the cell complex ranges from zero to all of them. Usually one successful removal triggers an avalanche of removals. Therefore, the cases where no cells can be removed are the most dramatic, and we enumerate the three possible cases (Figure 3) for each connected component http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq157_HTML.gif of the problem domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq158_HTML.gif when http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq159_HTML.gif is equal to the dimension http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq160_HTML.gif of the cell complex:

        (1) http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq162_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq163_HTML.gif : elementary reduction pairs http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq164_HTML.gif can be found. There exist http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq165_HTML.gif 1-cells in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq166_HTML.gif that bound only one http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq167_HTML.gif -cell of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq168_HTML.gif ;

        (2) http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq170_HTML.gif : no elementary reduction pairs http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq171_HTML.gif can be found. A manifold without a boundary: there can be no http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq172_HTML.gif 1-cells bounding only one http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq173_HTML.gif -cell, otherwise they would belong to the boundary;

        (3) http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq175_HTML.gif : no elementary reduction pairs http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq176_HTML.gif can be found. This is similar to the first case, but all the http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq177_HTML.gif 1-cells in possible elementary reduction pair candidates for removal belong to http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq178_HTML.gif .

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig3_HTML.jpg
        Figure 3

        Three manifolds: a 3-dimensional tube , the surface of a toroid ( ), and a solid ( ), where consists of the shaded regions. Reduction is able to reduce cells from cell complex http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq185_HTML.gif , but not from complexes http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq186_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq187_HTML.gif .

        In the last two cases no http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq188_HTML.gif 1-cells can be found that satisfy the if-clause in the n-Reduce algorithm. The inability to remove any pairs http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq189_HTML.gif implies that no lower dimensional pairs can be removed either (true for cell complexes whose underlying space is a manifold.) It seems that http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq190_HTML.gif -Reduce algorithm is toothless in many situations, but fortunately we can resort to an approach derived from the Coreduction homology algorithm [14].

        3.1.2. The Reduce-Omit Algorithm

        Coreduction, as opposed to reduction, is the procedure of removing http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq191_HTML.gif -cell and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq192_HTML.gif 1-cell pairs http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq193_HTML.gif when the http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq194_HTML.gif -cell http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq195_HTML.gif has only one http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq196_HTML.gif 1-cell http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq197_HTML.gif on its boundary. This pair http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq198_HTML.gif is called an elementary coreduction pair. As no such pairs can be found from a complete cellular mesh, the algorithm is started by arbitrarily removing a single http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq199_HTML.gif -cell, leaving pairs http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq200_HTML.gif which satisfy the condition. The algorithm goes on by removing one http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq201_HTML.gif -cell each time there are no elementary coreduction pairs http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq202_HTML.gif left, while there are still http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq203_HTML.gif -cells left. The number of arbitrary removals needed to be done in order to banish all http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq204_HTML.gif -cells equals the Betti number http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq205_HTML.gif , the number of connected components of the domain [14].

        The http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq206_HTML.gif -cell removal is justified by treating the cell complex as the reduced cell complex(constituting together with the augmentation map http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq207_HTML.gif an augmented chain complex [11].), where there is one additional − http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq208_HTML.gif -cell in each connected component of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq209_HTML.gif . Thus, the removal of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq210_HTML.gif -cell is interpreted as the removal of the coreduction pair http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq211_HTML.gif . For the reduced homology(homology for the augmented chain complex, an example of an extraordinary homology theory[11]). http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq212_HTML.gif holds [14]. For the reduced cell complex http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq213_HTML.gif holds for each connected component, and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq214_HTML.gif holds for all http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq215_HTML.gif [11]. The information lost about http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq216_HTML.gif due to computing the reduced homology instead can be recovered by storing the arbitrarily removed http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq217_HTML.gif -cells: they are the generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq218_HTML.gif .

        The algebraic dual of a cellular mesh is a mesh where the roles of the cells in the boundary relation of cells have been interchanged. We say http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq219_HTML.gif is on the coboundary of cell http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq220_HTML.gif , if http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq221_HTML.gif is on the boundary of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq222_HTML.gif . So in the dual mesh, boundary cells of a cell become coboundary cells and vice versa. Also the dimensions of the cells get flipped over: if the dimension of the manifold is http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq223_HTML.gif , the dual cell of a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq224_HTML.gif -cell is an http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq225_HTML.gif http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq226_HTML.gif -cell. For the dual mesh, the boundary operator matrices are http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq227_HTML.gif for each http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq228_HTML.gif , that is, the transposes of the boundary operators of the primal mesh [5].

        Coreduction is a dual algorithm to reduction in the sense that, instead of checking whether a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq229_HTML.gif 1-cell is on the boundary of a single http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq230_HTML.gif -cell only, it checks whether a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq231_HTML.gif -cell is on the coboundary of a single http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq232_HTML.gif 1-cell only. So the Coreduction can be interpreted as a reduction algorithm for the dual mesh in terms of primal mesh cells. Due to the isomorphism between primal and dual cells, the coreductions can be regarded as weak homotopy equivalences.

        A dual version of the launch of the Coreduction can be used to devise an extension to http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq233_HTML.gif -Reduce algorithm, but only in the case http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq234_HTML.gif equals http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq235_HTML.gif : Applying the arbitrary removal to http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq236_HTML.gif -cells from the cell complex each time it notices no elementary reduction pairs http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq237_HTML.gif could be found in the previous run, yet there still are http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq238_HTML.gif -cells left. The three cases enumerated earlier tell us that this is the case only when http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq239_HTML.gif is either empty or a subset of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq240_HTML.gif . The http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq241_HTML.gif -Reduce algorithm detects this nonexistence of elementary reduction pairs in linear time. Similarly to the Coreduction, the number of arbitrary removals needed to banish all the http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq242_HTML.gif -cells from the cell complex tells us the dimension of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq243_HTML.gif , the Betti number http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq244_HTML.gif . By duality theorem http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq245_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq246_HTML.gif is equal to the number of connected components http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq247_HTML.gif of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq248_HTML.gif , for which either http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq249_HTML.gif or http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq250_HTML.gif holds.

        Therefore, each arbitrary removal of a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq251_HTML.gif -cell leads to a removal of all the http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq252_HTML.gif -cells in the given connected component of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq253_HTML.gif and the removed http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq254_HTML.gif -cells together with the "trigger" http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq255_HTML.gif -cell constitute a generator of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq256_HTML.gif . This procedure of course leaves the http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq257_HTML.gif -generators out of the final algebraic problem and without orientation, but they can be recovered afterwards. The operation also clearly alters the topology of the domain, but in a controlled fashion. It is known exactly how many and which http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq258_HTML.gif -generators were omitted: one for each connected component http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq259_HTML.gif of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq260_HTML.gif , for which either http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq261_HTML.gif or http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq262_HTML.gif holds. We call Algorithm 2 Reduce-Omit.

        Algorithm 2: Reduce-Omit.

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq263_HTML.gif cell complex

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq264_HTML.gif dimension of the cell complex http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq265_HTML.gif

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq266_HTML.gif

        for   http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq267_HTML.gif = http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq268_HTML.gif to 1 do

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq269_HTML.gif -Reduce ( http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq270_HTML.gif )

        end for

        while cell complex http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq271_HTML.gif has http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq272_HTML.gif -cells http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq273_HTML.gif such that http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq274_HTML.gif   do

         choose http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq275_HTML.gif -cell http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq276_HTML.gif such that http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq277_HTML.gif

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq278_HTML.gif

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq279_HTML.gif

        for   http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq280_HTML.gif to 1  do

           http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq281_HTML.gif -Reduce ( http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq282_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq283_HTML.gif )

        end for

         store http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq284_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq285_HTML.gif -cells removed by http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq286_HTML.gif -Reduce ( http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq287_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq288_HTML.gif ) in previous loop.

        end while

        This strategy cannot be applied further down in the dimension http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq289_HTML.gif , as there is no guarantee that the http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq290_HTML.gif -generators have separate supports. Therefore, the arbitrary removal of a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq291_HTML.gif -cell could lead to a removal of such set of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq292_HTML.gif -cells, from which no representative of the generator of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq293_HTML.gif can be constructed. The dimension http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq294_HTML.gif was exceptional, as all the http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq295_HTML.gif -generators had separate supports, and therefore all the removed http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq296_HTML.gif -cells constituted one http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq297_HTML.gif -generator. For this reason, it seems that the power of the Coreduction algorithm in Betti number computations does not carry over to homology generator computation.

        3.1.3. Combining Cells

        If a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq298_HTML.gif 1-cell resides on the boundary of exactly two http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq299_HTML.gif -cells, it is possible to combine these two http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq300_HTML.gif -cells to form single http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq301_HTML.gif -cell and remove the http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq302_HTML.gif 1-cell from the cell complex without altering the covered domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq303_HTML.gif . [7, 13].

        Algorithm 3 has worst-case computational complexity of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq304_HTML.gif , where http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq305_HTML.gif is the number of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq306_HTML.gif -cells in the cell complex. This is due to the fact that eventually most of the http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq307_HTML.gif 1-cells get enqueued in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq308_HTML.gif . Another option would be a faster version without a queue, but experience on test runs suggests that the end-state of such algorithm will leave more cells in the cell complex. This trade-off gets worse as the size of the problem is increased, as one needs to face the algebraic decomposition in the end. Furthermore, accessing the boundary information of a cell is a constant-time operation, if memory is sacrificed to carry this information. The check whether a queue already contains an element, can be done in logarithmic time by maintaining a binary search tree of the elements in the queue. Again, the end-state of the algorithm ultimately depends on the index numbering of the mesh vertices.

        Algorithm 3: http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq309_HTML.gif -Combine.

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq310_HTML.gif cell complex

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq311_HTML.gif empty queue of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq312_HTML.gif −1-cells

        for all   http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq313_HTML.gif -cells http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq314_HTML.gif   do

         enqueue boundary http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq315_HTML.gif −1-cells of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq316_HTML.gif into http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq317_HTML.gif

        while   http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq318_HTML.gif is not empty do

          dequeue http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq319_HTML.gif from http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq320_HTML.gif

          If   http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq321_HTML.gif is on the boundary of exactly two http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq322_HTML.gif -cells http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq323_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq324_HTML.gif   and

            ( http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq325_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq326_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq327_HTML.gif   or   http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq328_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq329_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq330_HTML.gif   then

            http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq331_HTML.gif

            http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq332_HTML.gif , the sign chosen such that the orientations match

           enqueue boundary http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq333_HTML.gif −1-cells of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq334_HTML.gif not already in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq335_HTML.gif to http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq336_HTML.gif

          end if

        end while

        end for

        The combining of two http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq337_HTML.gif -cells and removal of a http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq338_HTML.gif 1-cell correspond to an addition row-operation of two rows followed by removal of a row and a column in the matrix of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq339_HTML.gif , an addition column operation of two columns followed by removal of a column in the matrix of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq340_HTML.gif and a removal of a row in the matrix of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq341_HTML.gif . Again, matrix operations are not an efficient way to reduce the mesh.

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq342_HTML.gif -Combine can be run for each dimension of the cell complex, starting from http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq343_HTML.gif down to 1. In addition, after each run of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq344_HTML.gif -Combine, http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq345_HTML.gif -Reduce ( http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq346_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq347_HTML.gif ) can be run to get rid of "loose tails" that http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq348_HTML.gif -Combine leaves behind; see Figure 4.
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig4_HTML.jpg
        Figure 4

        A mesh of a square with a hole after cell combining. Loose tails are left behind, which can be removed with http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq349_HTML.gif -Reduce algorithm.

        3.2. General Procedure for Homology Computation

        Let us now propose a general procedure to find the generators of homology spaces http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq350_HTML.gif for all http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq351_HTML.gif . Let http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq352_HTML.gif be the dimension of the chain complex.

        (1) Run Reduce-Omit.

        (2) Run http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq355_HTML.gif -Combine followed by http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq356_HTML.gif -Reduce ( http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq357_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq358_HTML.gif ) for each http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq359_HTML.gif .

        (3) Find the generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq361_HTML.gif using the reduced boundary operator matrices http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq362_HTML.gif for each http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq363_HTML.gif by HNF and SNF.

        (4) Recover the possible generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq365_HTML.gif from the cells stored by Reduce-Omit (optional).

        An implementation of this procedure is available in the open source finite element pre- and postprocessor Gmsh [15].

        3.2.1. Performance Discussion

        The total computational complexity of the procedure above quite plausibly depends on the sizes and the ranks of the homology spaces, along with the index numbering of the mesh. Therefore, it is hard to give any definite estimates other than the complexities for individual algorithms in it. However, the upper and lower bounds can be given.

        The ultimate upper bound is the computational complexity bound of the Smith normal form decomposition applied to the nonreduced problem [10]. However, it is highly unlikely that such situation will ever occur in practice with finite element mesh and homology groups without torsion. The worst-case end-states of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq366_HTML.gif -Reduce and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq367_HTML.gif -Combine are extremely difficult to discover, as they are homotopy invariances, and homotopy groups are known to be computationally challenging. In case the ranks of the homology spaces are zero for all http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq368_HTML.gif , the procedure has the computational complexity of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq369_HTML.gif -Reduce.

        In cases where http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq370_HTML.gif -Reduce is unable to ignite, the use of Reduce-Omit significantly increases the efficiency of this procedure, as it eliminates the need to give large inputs to http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq371_HTML.gif -Combine. In case only the ranks of the homology spaces are of interest, the Coreduction homology algorithm can be applied [14]. It has the superior computational complexity of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq372_HTML.gif , where http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq373_HTML.gif is the total number of cells in the cell complex.

        3.2.2. A Strategy for Thick-Cuts

        Coreduction was found to be a powerful tool to compute the Betti numbers of a cellular mesh, but the answer to whether it is suitable for computation of the generators of homology spaces, seems to be unfortunate. When http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq374_HTML.gif holds, the supports of the generators may overlap, because the recovery of the orientations of the generators is complexity theoretically intractable in general [7]. However, a modified algorithm can be applied to compute the generators, but in no less computational complexity than the reduction algorithm can.

        One can apply Coreduction to the cellular mesh so that only http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq375_HTML.gif -cells are arbitrarily removed in a similar but dual manner as in the Reduce-Omit algorithm. Then use straightforward dual versions of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq376_HTML.gif -Combine and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq377_HTML.gif -Reduce. Replace "boundary" with "coboundary" and " http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq378_HTML.gif 1-cell" with " http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq379_HTML.gif +1-cell" in Algorithms 3 and 1. After that, the homology computation with the reduced and transposed boundary operator matrices will find out the dual generators of the homology spaces, but in terms of primal cells. An example of this is so-called thick-cut, which we shall discuss more later.

        Example 3.1.

        The established method for finding the generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq380_HTML.gif is to apply Reduce-Omit and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq381_HTML.gif -Combine to http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq382_HTML.gif and then compute the decompositions of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq383_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq384_HTML.gif . Alternatively, one can apply this modified coreduction technique to http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq385_HTML.gif , as http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq386_HTML.gif holds. Then compute the decompositions of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq387_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq388_HTML.gif to find the same generators, but represented by the primal mesh cells; see Figure 5.
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig5_HTML.jpg
        Figure 5

        (a): A representative of the generator of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq389_HTML.gif of a toroid. (b): A representative of the same generator but in terms of primal mesh cells, so-called thick-cut, computed by applying coreduction to http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq390_HTML.gif .

        4. Uses

        In this section we motivate the interest of computational electromagnetics community in homology computation. The purpose is to show its benefits in an electromagnetic modeling software.

        Homology often relates to the electromagnetic phenomena outside the domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq391_HTML.gif , when we want to couple them with the electromagnetic fields defined on the domain. In contrast, modeling decisions are also made to barricade certain kinds of coupling with the outside world. Nevertheless, the interface is always present, and its homological character is an intrinsic part of an electromagnetic boundary value problem.

        Before the understanding of the role of homology and cohomology in electromagnetic modeling, case-specific and limited solutions have been used as substitutes. The genuine use of homology can offer a generally applicable and systematic framework for electromagnetic modeling and computation.

        4.1. Setting up an Electromagnetic Boundary Value Problem

        Setting up an electromagnetic boundary value problem with unique solution involves a variety of questions that, in general, are about the sources of the electromagnetic fields modeled. How does one set the field sources in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq392_HTML.gif together with the boundary conditions consistently? What does imposing a voltage between terminals actually mean? How does one impose a net current through a conducting domain that has terminals on the domain boundary http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq393_HTML.gif ? Given multiple terminals, how many and which voltages/currents does one need to impose in order to get a unique solution? When is a field potential sufficient to describe alone the unknown field in electromagnetic boundary value problem?

        In simple problems, the above questions can be answered with reasoning based on knowledge about Maxwell's integral equations and circuit theory. But what if the problem at hand was so complex that simple reasoning would not help or if we wanted to automate the problem posing and validation in order to save human effort. Of course, the software cannot tell what the user wants, but it can help the user to do what he wants as soon as he tells it.

        With the aid of homology computation, the software's answer to all of the above questions would be something like "Impose http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq394_HTML.gif of these integrals of these field quantities over these generators of homology spaces in order to get a unique solution." Next we will present some tangible examples.

        4.2. Cuts for Scalar Potential

        The use of scalar potential where possible is preferable in field computation, as it reduces the size of the system matrix: there are far less nodes than edges in a typical mesh. Let a closed field http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq395_HTML.gif be the field of interest. Due to de Rham's theorem, field http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq396_HTML.gif can be exhaustively represented with a scalar potential http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq397_HTML.gif such that http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq398_HTML.gif holds, if and only if http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq399_HTML.gif holds for all http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq400_HTML.gif [9]. That is, the circulation of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq401_HTML.gif must vanish on all closed chains.

        Whether this holds for all closed chains http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq402_HTML.gif depends on the homology of the problem domain. It holds by Stokes' theorem for all chains, that are boundaries, but not all cycles are necessarily boundaries. What is left to be determined are the integrals over nonbounding cycles, values http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq403_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq404_HTML.gif , that is, the field circulations around the generators of the homology space http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq405_HTML.gif , which is nonempty when the problem domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq406_HTML.gif contains tunnels. However, this fails for a scalar potential alone, as http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq407_HTML.gif . Therefore, the field http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq408_HTML.gif is decomposed into two parts, http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq409_HTML.gif , where http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq410_HTML.gif satisfies http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq411_HTML.gif , and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq412_HTML.gif . A systematic approach to fix these circulations for http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq413_HTML.gif and thereby for http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq414_HTML.gif , is to produce so-called thick-cuts, where the support of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq415_HTML.gif entirely lies. This will guarantee sparse system matrix, and the problem is computationally cheap to solve.

        There is a multiplicity of methods for finding the thick-cuts. They often mix in homotopy, or rely on some strict assumptions about the domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq416_HTML.gif . However, the cut surfaces are actually the corresponding duals for the generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq417_HTML.gif , elements of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq418_HTML.gif , reliably computable with our methods. The thick-cuts are the dual 1-chains of the 2-chain generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq419_HTML.gif .

        Example 4.1.

        Consider a magnetic core http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq420_HTML.gif shaped like Figure 8, with coils wound around its branches. The cut surfaces http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq421_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq422_HTML.gif , the generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq423_HTML.gif , are shown in Figure 6.
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig6_HTML.jpg
        Figure 6

        Representatives http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq424_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq425_HTML.gif of generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq426_HTML.gif and the corresponding representatives http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq427_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq428_HTML.gif of the dual generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq429_HTML.gif .

        Example 4.2.

        Consider a wire wound around a magnetic core that is surrounded by air. Let http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq430_HTML.gif consist of the core and air, see Figure 7. Now, the single generator of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq431_HTML.gif is a simple loop around the wire. Its dual generator of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq432_HTML.gif does not share this virtue, as it "cuts" all such loops.
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig7_HTML.jpg
        Figure 7

        On the left: a representative of the generator of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq433_HTML.gif . On the right, the representative of the generator of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq434_HTML.gif .

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig8_HTML.jpg
        Figure 8

        Coupled field-circuit problem. The circuit and field domains are isolated everywhere else except on the shaded region http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq435_HTML.gif .

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Fig9_HTML.jpg
        Figure 9

        Multiformulational field problem. It is often economical to use different field problem formulations in the conducting domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq436_HTML.gif and in the nonconducting domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq437_HTML.gif . 1-chain cosets http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq438_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq439_HTML.gif , and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq440_HTML.gif generate http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq441_HTML.gif .

        4.3. Detection of Contradicting Source Quantities and Boundary Conditions

        Field sources inside the problem domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq442_HTML.gif and the boundary conditions on domain boundary http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq443_HTML.gif are often interrelated: the user can set source quantities and boundary conditions in such a fashion that Maxwell's equations cannot hold in the problem domain and a solution is unattainable. Typically, the only symptom is the linear solver's failure to converge. In such cases, a simple sanity check can be made using homology computation before the solver is launched, to inform the user about possible clashes. For a more detailed discussion, see [16].

        Example 4.3.

        Consider a magnetostatic problem where the domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq444_HTML.gif is a current-carrying toroid. The problem is governed by the equations http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq445_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq446_HTML.gif . The source term http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq447_HTML.gif is set inside the domain, and the boundary conditions http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq448_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq449_HTML.gif are set on nonoverlapping regions http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq450_HTML.gif , which cover the whole domain boundary. Now, the magnetostatic equations require that

        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ6_HTML.gif
        (41)
        hold. In order to check whether our boundary conditions comply to those requirements, it is sufficient to check that [16]
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ7_HTML.gif
        (42)

        where http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq451_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq452_HTML.gif are representatives of the generators of the homology spaces, readily computable with our methods. If the space http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq453_HTML.gif is not empty and the user has for example, set http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq454_HTML.gif on http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq455_HTML.gif and nonzero net current through http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq456_HTML.gif , then a clash will occur.

        This procedure generalizes to all electromagnetic boundary value problems because all of the Maxwell's equations are of the form
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ8_HTML.gif
        (43)

        where http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq457_HTML.gif is the field source, set in the domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq458_HTML.gif , and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq459_HTML.gif is the unknown field, subject to a boundary condition http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq460_HTML.gif on http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq461_HTML.gif . A clash will occur, if http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq462_HTML.gif for some http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq463_HTML.gif .

        4.4. Setting Up Coupled Circuit-Field Problems

        Consider a coupled electric circuit-field problem, where Kirchhoff's laws hold in the circuit domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq464_HTML.gif and Maxwell's equations hold in the field domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq465_HTML.gif (Figure 8). To make sure that the field problem constitutes a circuit element, we restrict to the case where the domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq466_HTML.gif contains no tunnels and subject it to the Kirchhoff's current law: http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq467_HTML.gif . The state variables of the circuit problem are voltages and currents, which describe the power in the system. The circuit problem and the field problem are isolated in such manner that the field problem constitutes a circuit element. The interfaces between the circuit and the field problem are the conductor terminals on http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq468_HTML.gif . All the power flux by voltages and currents between http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq469_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq470_HTML.gif is accounted by this interface only, on which voltage and current must have a precise meaning. The isolation is built by boundary conditions
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ9_HTML.gif
        (44)

        That is, no magnetic or electric flux passes through the boundary http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq471_HTML.gif , and current can only pass through the terminals http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq472_HTML.gif . By http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq473_HTML.gif on http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq474_HTML.gif we are guaranteed to have scalar potential there. Terminals http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq475_HTML.gif must be equipotential surfaces to be eligible nodes of the circuit. In order to get an unique solution for the field problem, one needs to set a number of voltages between the terminals and/or currents through them. These constraints are either the state variables of the circuit problem, or preset variables [17].

        The generators of the relative homology spaces can be used to interpret the coupling through the terminals on the field problem side. Imposing field integrals along the generators corresponds to providing enough information to construct an impedance matrix of the field problem. We will represent two examples where this is intuitively clear. However, homology computation can bring this "intuition" to the computer, and aid the human intuition in more complex problems. It can tell exactly how many "nonlocal" constraints are needed, and the visualizations of the generators help to understand their meaning.

        Example 4.4.

        Consider a DC resistor model in Figure 2 with conducting region http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq476_HTML.gif , two terminals on http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq477_HTML.gif and an insulating surface http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq478_HTML.gif . By intuition and experience, one can tell that a unique solution is found by imposing a voltage difference http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq479_HTML.gif between the terminals. In terms of homology, that is, the integral of electric field http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq480_HTML.gif along the single generator http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq481_HTML.gif of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq482_HTML.gif : http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq483_HTML.gif . This reveals that we are actually interested in the EMF between the terminals, and the familiar scalar potential is just one way to impose it. This widens the understanding of the situation beyond the cases where the existence of a scalar potential can be guaranteed everywhere in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq484_HTML.gif . However, in coupled field-circuit problems, the scalar potential must exist on the surface http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq485_HTML.gif .

        Alternatively, instead of the voltage between the terminals, one can set the net current http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq486_HTML.gif through the resistor. Again, in the language of homology, this is the integral of current density http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq487_HTML.gif over the single generator http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq488_HTML.gif of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq489_HTML.gif , which is the dual generator of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq490_HTML.gif . So the user needs to set http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq491_HTML.gif . This together with http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq492_HTML.gif guarantees that http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq493_HTML.gif will hold. If neither or both the voltage and the net current are set, one is left with an under/over-determined system with no unique solution [2], about which homology-aware software is able to inform the user.

        Example 4.5.

        Consider a general problem with the full set of Maxwell's equations. Let the domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq494_HTML.gif have four terminals on http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq495_HTML.gif , as in Figure 8, and it may consist of conducting and nonconducting regions. Not all terminals are necessarily galvanically connected to each other. Now we can find three generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq496_HTML.gif and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq497_HTML.gif , respectively. Imposing voltages between the terminals on http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq498_HTML.gif corresponds to imposing EMFs along the generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq499_HTML.gif .

        More interestingly, imposing integral of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq500_HTML.gif over generators of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq501_HTML.gif corresponds to imposing currents through terminals, as no displacement current http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq502_HTML.gif escapes from http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq503_HTML.gif and the continuity equation http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq504_HTML.gif must hold for all volumes http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq505_HTML.gif inside http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq506_HTML.gif . Conversely, imposing currents through terminals may impose displacement currents in nonconducting parts of the domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq507_HTML.gif , as well as currents in conducting parts. Homology-aware software would be able to help the user to perceive what has been imposed. In total, three EMFs or fluxes of http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq508_HTML.gif must be imposed to get an unique solution to the problem.

        4.5. Multiformulational Field Problem

        In many problems, it is possible to use computationally more efficient formulations in some parts the computational domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq509_HTML.gif . For example, the conducting and nonconducting parts of the domain can be treated separately. However, the price for the computational efficiency is the increased effort to set up the problem, as the coupling between the subdomains must be taken into account.

        Example 4.6.

        Let the domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq510_HTML.gif consist of a conducting subdomain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq511_HTML.gif and nonconducting subdomain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq512_HTML.gif . In http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq513_HTML.gif , we can either have an imposed time-varying source current, or it can be coupled to an external circuit through terminals on http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq514_HTML.gif , as described in previous section. However, let http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq515_HTML.gif have tunnels, through which the conducting domain http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq516_HTML.gif extends.

        Now, in the air region http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq517_HTML.gif , we seek for the solution of the magnetic field http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq518_HTML.gif only, for which http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq519_HTML.gif holds. We are able to use a scalar potential formulation with the thick-cut technique, with expression http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq520_HTML.gif . But what should be the total currents http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq521_HTML.gif through the holes in region http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq522_HTML.gif , fixing the circulations http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq523_HTML.gif ?

        In the conductor region http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq524_HTML.gif , in addition to the magnetic field, we are interested in the electric field and the corresponding currents. Therefore, we look for the solution of the (coupled) magnetoquasistatic problem defined there. In other words, http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq525_HTML.gif , http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq526_HTML.gif , and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq527_HTML.gif must hold, where http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq528_HTML.gif consists of imposed source current and eddy currents generated by the time-varying magnetic flux, and http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq529_HTML.gif on http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq530_HTML.gif . The problem is solved by decomposition http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq531_HTML.gif in http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq532_HTML.gif , and on http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq533_HTML.gif by setting http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq534_HTML.gif and outside the thick-cuts http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq535_HTML.gif [6]. We note that the required currents
        http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_Equ10_HTML.gif
        (45)

        which are also the independent currents of the coupled problem, as http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq536_HTML.gif .

        5. Conclusions

        A compilation of mesh reduction methods was presented, leading to a general procedure for practical homology computation. The procedure was implemented within this work, and the benefits of homology computation to electromagnetic modeling were discussed. It was suggested that the homology computation, when efficiently implemented, can be a useful preprocessing aid in electromagnetic modeling software. It can be used as a problem posing companion as well as a guardian of the solver, reducing the human effort put to the problem.

        Many engineering problems, solved with methods of computational electromagnetism, fall into predefined problem categories, for which templates are readily available in the software. This is helpful for the engineer, but it also narrows down the class of problems a software is able to solve. A minor variant of a commonplace problem can make it unsolvable because of some needless but guiding restriction within the software. Homology computation can help the software designer to give freer hands to the user without reducing the software's usability.

        Authors’ Affiliations

        (1)
        Tampere University of Technology, Electromagnetics

        References

        1. Kotiuga PR: Hodge decompositions and computational electromagnetics, Ph.D. thesis. Electrical and Computer Engineering, McGill University, Montreal, Canada; 1984.
        2. Bossavit A: Most general "non-local" boundary conditions for the Maxwell equation in a bounded region. COMPEL 2000,19(2):239-245.MathSciNet
        3. Kettunen L: Fields and circuits in computational electromagnetism. IEEE Transactions on Magnetics 2001,37(5):3393-3396. 10.1109/20.952621View Article
        4. Suuriniemi S, Tarhasaari T, Kettunen L: Generalization of the spanning-tree technique. IEEE Transactions on Magnetics 2002,38(2):525-528. 10.1109/20.996138View Article
        5. Kangas J: Algebraic decompositions in analysis of quasistatic electromagnetic problems, Ph.D. thesis. Department of Electrical Engineering, Tampere University of Technology, Tampere, Finland; 2007.
        6. Specogna R, Suuriniemi S, Trevisan F:Geometric http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq537_HTML.gif - http://static-content.springer.com/image/art%3A10.1155%2F2010%2F381953/MediaObjects/13661_2010_Article_921_IEq538_HTML.gif approach to solve eddy currents coupled to electric circuits. International Journal for Numerical Methods in Engineering 2008,74(1):101-115. 10.1002/nme.2155MathSciNetView Article
        7. Suuriniemi S: Homological computations in electromagnetic modeling, Ph.D. thesis. Department of Electrical Engineering, Tampere University of Technology, Tampere, Finland; 2004.
        8. Kaczynski T, Mischaikow K, Mrozek M: Computational Homology, Applied Mathematical Sciences. Volume 157. Springer, New York, NY, USA; 2004:xviii+480.
        9. Gross PW, Kotiuga PR: Electromagnetic Theory and Computation: A Topological Approach, Mathematical Sciences Research Institute Publications. Volume 48. Cambridge University Press, Cambridge, Mass, USA; 2004:x+278.View Article
        10. Yap CK: Fundamental Problems of Algorithmic Algebra. Oxford University Press, New York, NY, USA; 2000:xvi+511.
        11. Munkres JR: Elements of Algebraic Topology. Perseus Books, Cambridge, Mass, USA; 1984:ix+454.
        12. Hatcher A: Algebraic Topology. Cambridge University Press, Cambridge, Mass, USA; 2002:xii+544.
        13. Kaczyński T, Mrozek M, Ślusarek M: Homology computation by reduction of chain complexes. Computers & Mathematics with Applications 1998,35(4):59-70. 10.1016/S0898-1221(97)00289-7MathSciNetView Article
        14. Mrozek M, Batko B: Coreduction homology algorithm. Discrete and Computational Geometry 2000, 41: 96-118.MathSciNetView Article
        15. Geuzaine C, Remacle J-F: Gmsh: a 3-D finite element mesh generator with built-in pre- and post-processing facilities. International Journal for Numerical Methods in Engineering 2009,79(11):1309-1331. 10.1002/nme.2579MathSciNetView Article
        16. Suuriniemi S, Kangas J, Kettunen L: Formalization of contradicting source quantities and boundary conditions in quasi-statics. IEEE Transactions on Magnetics 2007,43(4):1253-1256.View Article
        17. Suuriniemi S, Kangas J, Kettunen L, Tarhasaari T: State variables for coupled circuit-field problems. IEEE Transactions on Magnetics 2004,40(2):949-952. 10.1109/TMAG.2004.824771View Article

        Copyright

        © Matti Pellikka et al. 2010

        This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.