Catastrophe conditions for vector fields in $\mathbb R^n$

Practical conditions are given here for finding and classifying high codimension intersection points of $n$ hypersurfaces in $n$ dimensions. By interpreting those hypersurfaces as the nullclines of a vector field in $\mathbb R^n$, we broaden the concept of Thom's catastrophes to find bifurcation points of (non-gradient) vector fields of any dimension. We introduce a family of determinants ${B}_j$, such that a codimension $r$ bifurcation point is found by solving the system ${B}_1=...={B}_r=0$, subject to certain non-degeneracy conditions. The determinants ${B}_j$ generalize the derivatives $\frac{\partial^j\;}{\partial x^j}F(x)$ that vanish at a catastrophe of a scalar function $F(x)$. We do not extend catastrophe theory or singularity theory themselves, but provide a means to apply them more readily to the multi-dimensional dynamical models that appear, for example, in the study of various engineered or living systems. For illustration we apply our conditions to locate butterfly and star catastrophes in a second order PDE.


Introduction
In this paper we give conditions that can be solved to locate degenerate critical points of a function F : R n × R p → R n .Letting F = (F 1 , F 2 , ..., F n ), a critical point in this context means a common zero of several functions (F 1 , F 2 , ..., F n ) = (0, 0, ..., 0) , in some variable x ∈ R n with parameters α ∈ R p .If the function F is singular at a critical point (x, α) = (x * , α * ) then, under perturbation to any nearby α, it will typically bifurcate to produce multiple critical points of F in the space of x.Quite simply, our aim here is to define a set of conditions whose solution, along with the condition F = 0, provides the location of a codimension r local bifurcation point in the vector field F. The functions B i are determinants of augmented Jacobian matrices that generalize the derivatives d i dx i which characterise catastrophes in one dimension (see e.g.[20,26,28]), while G r represents a set of non-degeneracy conditions.
The main motivation behind this study comes from the problem of finding high codimension local bifurcation points of a vector field F, specifically to study steady states of an ordinary differential equation such as d dt x = F, or of a partial differential equation such as d dt u+k ∂ 2 ∂x 2 u = F.The results can also be used to characterise zeros of varieties F i , or singular intersections of differentiable hypersurfaces defined by the equations F i = 0, for i = 1, ..., n.
Given a map F : R n ×R p → R n and a particular point (x * , α * ) ∈ R n ×R p , singularity theory provides the means to classify any singularity that may occur there with great generality, see e.g.[3,7,16,17,23].Our aim here is essentially to turn this around, to provide readily solvable conditions that can be solved to find the point (x * , α * ) at which some suspected singularity or bifurcation occurs.To do so our subject matter must be significantly less general than singularity theory.We will look only for places where multiple critical points of a function F coincide, and derive conditions that detect the underlying catastrophe, by which we will mean the coincidence of zeroes of the vector field, without reference to the vector field's directionality (and therefore without reference to phase portraits or stability in a dynamical system generated by F).
It is notable, for instance, that modern numerical continuation packages (e.g.COCO, MatCont, AUTO [1, 9, 10]) do not yet contain a built-in condition to locate and continue general high codimension bifurcation points.
Solvable conditions to locate such points are limited to low codimension cases, in particular the fold (or saddle-node) and cusp bifurcations (see e.g.[15]), or involving folds or cusps accompanied by more than one vanishing eigenvalue of the vector field's Jacobian (as in e.g. the 'fold-Hopf' or 'zero-Hopf' bifurcations [3,14,15]).The conditions (2) are intended to provide functions that can be defined for general codimension r, and solved by continuing successive zeroes of the functions B 1 = 0, B 2 = 0, ... .
The classification of such points in either mappings or vector fields has particularly focused on showing equivalence to certain local forms.Arnold's classification in [3], for example, shows that the germ of a singularity in a system d dt x = F reduces to a small number of known classes, such as class A ν , which has "one zero eigenvalue and (ν − 1)-fold degeneracy in the nonlinear terms", and is locally reducible to a one dimensional normal form or 'principal family' along a centre manifold through the bifurcation point.Families like (3) bear an obvious similarity to Thom's elementary catastrophes [26,24], and one frequently encounters the recognisable signatures of such catastrophes in analysis of complex biological and engineering systems.Precisely locating the site of some suspected catastrophe or bifurcation, however, is nontrivial, and knowing that a vector field should be locally reducible to a form such as (3) does not provide a means to locate the variable x and parameter α at which a given bifurcation occurs.
Figure 1 shows such signature patterns captured in the diffraction of light, in this case swallowtail and butterfly catastrophes (these are simulations, but actual photographs showing similar patterns with equal clarity can be found in Fig. 2.10 of [6]).As the application of catastrophe theory grew in physics, numerous everyday examples like these were demonstrated in the scattering of light through water droplets, drinking vessels, and swimming pools, see [5,6] for several examples.The bright fringes in fig. 1 are optical caustics -fold catastrophes -whose intersections produce cusps, swallowtails, and so on through successively higher codimension.The accompanying (a, b) parameter plane diagrams in fig. 1 show examples of the same catastrophe structure, but in the bifurcation structure a nonlinear vector field, found using the conditions we will introduce here.
The conditions B i = 0 given in (2) reduce precisely to the one-dimensional nomial forms which are consistent with applying Arnold's principal families (3) along some centre manifold -the x 1 axis -of an n-dimensional system.Typically, the bifurcation point (x = α = 0 in (4)) breaks up into up to r + 1 critical points of F under perturbations of the parameter α, but to prove that the conditions B 1 = B 2 = ... = B r = 0 = G r imply this in general remains an open problem.
It is important to distinguish between the singularities of a mapping F, and what we mean here by catastrophes of a vector field F. Singularities are points where a mapping F is non-invertible, which involves derivatives of F, but not the value of F itself.For a vector field F, we are often not concerned with singularities in this sense, but rather in points where zeros of F encounter those singularities, forming local bifurcation points.These are what are typically referred to as catastrophes in dynamical systems theory, but we will use the term underlying catastrophes to distinguish them from standard uses of the term, and we exploit this property of them being 'singular zeros' here to derive general conditions to locate and classify them.
The pragmatic distinction we make between singularities and catastrophes is discussed in more detail in section 2, using a particularly clear illustration due to Nye et al [19,27].We then outline the conditions and use them to define a family of underlying catastrophes in section 3. A particular form of vector field is given in section 4, for which the conditions reduce to something clearly consistent with one-dimensional catastrophes.Some examples for underlying catastrophes up to codimension 6 are outlined in section 5, and some closing remarks are made in section 6.Further illustrations are given for lower codimension underlying catastrophes in the Appendix, highlighting how the conditions work, along with some novel geometries.

Catastrophes versus singularities for a vector field
What constitutes a singularity in a vector field was nicely illustrated by Nye et al. in their application to continuous media [19,27], using examples of sea ice flow and geostrophic winds.
Figure 2 illustrates the velocity field F = (u, v) of such a medium in coordinates x = (x, y).The vector field in fig.2(a) shows no obvious sign of the singularities, whose loci are plotted in (b), in particular the folds (the bold curves AB,CD,EF) and cusps (the points α, β).The meaning of these singularities is evident only when plotted in velocity space in (c), where we see that folds delimit regions on which the pre-images of the vector field change, and these curves of folds have non-differentiable corners at the cusps.
The singularities are relevant to continuous media as they manifest in the strain of a medium, which involves derivatives of the flow field.In applications outside continuum mechanics, however, the notion of strain often has no practical meaning.To attempt to visualise the singularity, Nye et al. also describe how one may take a point from fig. 2(c) and locate all pre-images of it in (a).For example, the four points circled in (a) map to a single point in the region bounded by the EF fold in (c).As parameters vary, these four vectors coalesce and annihilate in pairs as they pass over the fold curves in (b), constituting pre-images of the field disappearing pairwise as a point (u, v) traverses the fold curves in (c).This is not easy to observe, of course, because it does not constitute a topological change in the vector field F itself.
Things are different if we consider points where F = 0, i.e. critical points.When critical points of F pass through a fold, the effect is clearly visible as a topological change in the vector field.The top-right of fig.2, for example (also loosely adapted from Figure 5a of [27]), shows two critical points born through a saddle-node bifurcation as they pass through a fold.4 of [27]).(a) The vector field F = (u(x, y), v(x, y)).(b) Singularities of the vector field: the bold curves (AB,CD,EF) are folds, where the Jacobian J = dF dx has determinant zero, the thin curves are trajectories of a vector a that minimizes |Ja|, and tangencies between these two sets of curves create cusp points α, β.(The numbered points are (anti)umbilic points; for an explanation of these and the meaning of the thin curves see [27]). Figure (b) is not easy to interpret, but the singularities are more apparent when shown in velocity space in (c), with numbers indicating how many pre-images F has in regions bounded by the folds, e.g. the circled vectors in (a) show 4 pre-images of a typical point inside the region bounded by the curve EF.Top-right: sketch of stagnation points F = 0 passing through a fold, adapted from Figure 5a of [27].
This topological change -the appearance or disappearance of critical points of F -is what we will term here an underlying catastrophe.The 'underlying' signifies that we care only about the vanishing of F, not the directions of F nearby, allowing us to extend the usual notion of a 'catastrophe' beyond scalar or gradient fields.
In studying critical points of F, we have access to something more imme-diate than the degeneracies of the Jacobian J = dF dx , namely the vanishing of the vector field components F = (F 1 , ..., F n ).Each higher codimension of catastrophe can be identified as occurring where successive singularity sets, which we will define by conditions B i = 0, become tangent to each other.(In this aspect our scheme is similar in spirit to Whitney's, recalling from the caption of fig. 2 that the cusps in (b) arise where the bold and fine curves are tangent.) Let us now introduce these conditions and the geometry behind them.

The catastrophe conditions
Consider a set of functions where x i are variables and α i are parameters.In vector form we write F = F(x, α), with x = (x 1 , ..., x n ), α = (α 1 , ..., α p ), and We assume k > r and p ≥ r, where r will be the codimension of the underlying catastrophe introduced in definition 3.2 below.
For convenience we will typically just write 'F' for the vector field, rather than making the dependence on '(x, α)' explicit.
We wish to characterise points where F = 0.
A bifurcation occurs where a critical point is degenerate.This happens at an intersection of the hypersurfaces F i = 0 where the Jacobian matrix dF dx has rank less than n, so its determinant dF dx vanishes.This also means that the gradient vectors d dx F 1 , ..., d dx F n , are linearly dependent, but we shall assume in general that if we take any n − 1 of these gradients, they are linearly independent.We then need a notion of how degenerate the point is, in some sense the order of contact r between the hypersurfaces, determining how many critical points may exist locally as we vary α.We will first define conditions for this purpose in section 3.1, before describing where they come from in section 3.2.

The conditions
Let us first define determinants B i , for i = 2, ..., r, as hence B 1 is just the determinant of the Jacobian of F, while each B i is a determinant in which the previous B i−1 replaces the vector field component F 1 .
These will be used for detecting singular intersections of the hypersurfaces To establish non-degeneracy requires a larger family of functions, firstly the extended determinant and its extensions to higher codimensions.To define these we need a little notation.For any scalar V , let us denote so for instance the numerator of B i in ( 7) can be written ∂(F 1 , ..., F n \ 1 B i−1 ).Let I(s) denote an s-length string I(s) = i 1 ...i s of symbols i j ∈ {1, ..., n}, and define a generalization of the determinants B i as for s = 2, ..., r, defining B 1,I(0) = B 1 .Note that B i,1...1 ≡ B i .Lastly then, we can define a set of extended determinants of these functions given by defining G 1,I(0) = G 1 .For ease of reference these 'B-G functions' are expanded in appendix A for the first few r, and we will look at example calculations in section 5 and appendix B.
If the vector field F depends on more than r parameters (i.e.p > r), then we may denote that we are considering variation with respect to some subset of them in a superscript as G α 1 ...αr r,I(r−1) .Looking slightly ahead to the role of these B and G functions, to locate a given catastrophe, we are only required to solve the conditions B i = 0 for some i = 1, ..., r.This is typically a tractable problem, either analytically or numerically.Notably, the family of functions G r,i 1 ...i r−1 defined by ( 10) is rather larger, namely n r−1 functions for a given r, but one only needs evaluate these to check they are non-vanishing.It is not known at present whether all of the functions G r,i 1 ...i r−1 are independent or some are equivalent, certainly in some cases many of them become trivial, but possible simplification of these conditions are left to future study.
Using these we propose the following definitions.
We say the underlying catastrophe is full if the non-degeneracy conditions hold at (x * , α * ) for every i j ∈ {1, ..., n}.
We propose this as a working definition.Its purpose is to identify the location of some catastrophe that underlies some singularity or bifurcation, whose proper equivalence class can then be found by standard local analysis.By giving up the strict adherence to equivalence classes in this way, we obtain a practical method to locate bifurcation points via their underlying catastrophe only.
The name underlying catastrophe highlights that we are extending the use of the term 'catastrophe' beyond functions that are reducible to Thom's elementary catastrophes, but whose zeroes bifurcate in an analogous way.Moreover in section 4 we provide classes for which these are directly related to Thom's catastrophes.An alternative name might be 'n-catastrophes'.In any event, this terminology is only preliminary, since the proper classification of these points is known and can be established using singularity theory such as [3].The purpose of definition 3.2 is merely to provide a method to locate those points in the first place.One hopes that these definitions can be refined in the context of singularity theory, by relating the conditions ( 11)-( 12) rigorously to ranks and ideals of germs, in future work.
An important notion here is of being 'full' in definition 3.2, which ensures that the system ( 11) is uniquely solvable, but should not be mistaken as the definition of an equivalence class.In some circumstances a vector field that is not 'full' can be made so by the removal of redundant dimensions.For example, the dynamical system ( ẋ, ẏ) = (ky + a + bx + x 3 , y) has a cusp at x = y = a = b = 0, but is only 'full' in R 2 provided k = 0, so that d dx F 1 = (0, k) is not identically zero at point of interest.If k = 0 then instead we can use the same definitions but must restrict the problem to the x-dimension only, as then the cusp in ẋ = a + bx + x 3 is again 'full'.We explore these issues in further examples in appendix B.
More precisely, the conditions G r,I = 0 ensure that where the sets B i = 0 for i = 1, ..., r, intersect, their gradient vectors are linearly independent, without which the conditions (11) may not be solvable.Note that it does not matter in (11) whether we evaluate each B i , or any of the permutations B i,I(i−1) , as generically, at a point where B 1 = . . .= B r = 0, a family of n linearly independent vectors cannot be formed from the gradient vectors to the sets F 1 = 0, ... F n = 0, or any of the sets B i = 0 for i < r.So we are guaranteed that if one choice of B i,I(i−1) vanishes for some string I(i − 1), they vanish for any string I(i − 1), hence in defining B i we are free to make the choice B i ≡ B i,1...1 in (7).The non-vanishing of the G r,I ensures that none of the B i≤r vanish trivially, so this choice of B i is without loss of generality.

Geometric interpretation
The idea behind definition 3.2 is that catastrophes occur where the intersection of the hypersurfaces F i = 0 has an r th order contact at (x * , α * ), such that in a neighbourhood of α * the system has up to and including r + 1 critical points.
In n = 1 dimension, the critical points of F 1 can be identified with turning points of Thom's potential functions [20,26].In a codimension r catastrophe, r + 1 critical points of F 1 coincide at a point c where vanishes implies at least an i th order degeneracy of the given root of F i = 0 at c.
The purpose of each function B i is to generalize these derivatives, by thinking of a fold being a degeneracy of zeros of F 1 due to coinciding with the set d dx 1 F 1 = 0, a cusp being a degeneracy between the fold and the zeros of F 1 due to coinciding with the set d 2 dx 2 1 F 1 = 0, and so on.We can then generalize those conditions to a vector field F. In two dimensions, for example, the zero sets of the two functions F 1 = x p 1 − x 2 and F 2 = x 2 clearly have order p contact at the origin, as the distance between them grows as |x 1 | p .For this we have Under perturbation this perturbs into up to p critical points.Now take any n > 1.Consistent with singularity theory, the mapping simply the determinant of the Jacobian of F. Letting this c be a point where F = 0, this critical point is therefore non-degenerate.
Figure 3 illustrates this non-degenerate (r = 0) critical point in two dimensions, along with the codimensions r ≥ 1 following the argument below.If F = B 1 = 0 at c then the critical point of F lies at an underlying catastrophe.We have then to characterise its codimension.
Generically, the gradient vectors ∂ ∂x B 1 , and any n − 1 of the gradient vectors ∂ ∂x F i , will be linearly independent at c (case r = 1 in fig.3).Let F depend on some parameter α 1 such that α 1 = 0 at c.If the gradient vectors ∂ ∂(x,α 1 ) B 1 and ∂ ∂(x,α 1 ) F i are linearly independent at c, then at c.This then defines an underlying fold catastrophe of the vector field F (in the sense of definition 3.2), which unfolds a bifurcation of two critical points of F as α 1 varies through zero.If the fold catastrophe set B 1 = 0 lies tangent to the hypersurfaces F i = 0 at c in the space of x ∈ U (case r = 2 in fig.3), then since the gradient vectors ∂ ∂x F i are themselves linearly dependent at c (since ∂x B 1 lies in the space spanned by any choice of n − 1 of the normals will be zero for any i ∈ {1, ..., n}.We only need to evaluate one of these B 2,i in (7), so we make the choice to define B 2 = B 2,1 .If F depends on some parameters (α 1 , α 2 ) such that α 1 = α 2 = 0 at c, and the normal vectors B 1 , and ∂ ∂(x,α 1 ,α 2 ) F i , are all linearly independent at c, then at c, for any i = 1, ..., n.This then defines an underlying cusp catastrophe of the vector field F (again in the sense of definition 3.2), which unfolds a bifurcation of three critical points of F as α 1 and α 2 vary through zero.We proceed in a similar manner through successive codimensions of catastrophe.If the cusp catastrophe set B 2 = 0 lies tangent to the hypersurfaces F i = 0 at c in the space of x ∈ U , we obtain an underlying swallowtail catastrophe, and so on through r = 3, 4, 5, ....  . . .

Primary forms
It is not in our interest here to define normal forms for the catastrophes or bifurcations of vector fields, since these are already provided in [3].But it is instructive to embed the one-dimensional principal families (3) in an ndimensional vector field, and we shall see how the functions B r then reduce in a natural way.
Let us define primary forms having the general expression where k • x = k 2 x 2 + ... + k n x n (the underline denoting that these are (n − 1)dimensional vectors), and These are consistent with Arnold's principal families [3] embedded along the x 1 -axis of a system with dimension n > 1.The terms λ 2 , ..., λ n , are just eigenvalues of the Jacobian of F associated with eigenvectors normal to the x 1 axis, and generically are nonzero.The terms k 2 , ..., k n , are nonzero constants that ensure the system ( 16) is full as per definition 3.2, and that although the gradients d dx F 1 , ..., d dx F n , are linearly dependent at the catastrophe point, any n−1 of these gradients are typically are linearly independent.The terms α 1 , ..., α r , are bifurcation parameters.
We can make a connection between these expressions and singularity theory in different ways.Perhaps the most simple is to note that the function φ(x 1 ) is the normal form of a singularity of the mapping (x 1 , α 1 , ..., α r ) → (φ(x 1 ), α 1 , ..., α r ) , called a Morin singularity, see e.g.[12,16,18]).The family of vector fields F are unfoldings of An alternative unfolding of (20) can be written for n = r + 1 as where in which ψ(x 1 ) is then the normal form of a Morin singularity of the mapping (x 1 , x 2 , ..., x n ) → (ψ(x 1 ), x 2 , , ..., x n ) .
We can generalize this to n > r+1 by just adding to this F i = x i for i > r+1.
Again the functions B r simplify to the same one dimensional derivatives (19) as the primary form (16). Morin singularities are a special case of singularities within Thom's much more general classification, namely those with Thom-Boardman symbols {i 1 , i 2 , ..., i r } = {1, 1, ..., 1}.The Thom-Boardman symbols for mappings in R m → R n are a non-increasing sequence of integers {i 1 , i 2 , ...}, where each i j is the rank of a Jacobian matrix consisting of F and of its minors of higher orders, taken via an iterative procedure as set out in [4,7,25,24].While this and other methods (see e.g.[13,21]) may permit one to classify the type of singularity in a mapping at a given point, as we have noted, our aim here is more pragmatically to first find where any given bifurcation event may occur, before such standard methods can then be used to determine its precise classification.

The catastrophes: examples
Below we use the conditions in definition 3.2, which we will refer to as the 'B-G conditions' for convenience, to find catastrophes up to codimension 6 in some planar vector fields.We include some simpler examples in an Appendix to illustrate the calculation and limitations of the B-G conditions, along with some novel geometries.
The index notation used in previous sections is convenient for general formulae, but for easier reading in the following examples we use variables x = (x, y, z, ...), parameters α = (α, β, ...), and functions F = (f, g, h, ...).A term written B * denotes that B is evaluated at a critical point x * .

Swallowtails (r = 3): a cubic-quadratic form
An obvious form of swallowtail catastrophe would be (f, g) = y + x 4 + αx 2 + βx + γ, y , and one can imagine numerous generalisations where the relation to Arnold's principal families or Thom's one-dimensional catastrophes is obvious.Let us instead take a less trivial example, and show that it has a swallowtail catastrophe without performing any dimension reduction.
which could have up to six critical points, which we label (x * , y * ).At these we evaluate the B-G conditions, which we can solve to find that these B i all vanish at (x, y) = This is a swallowtail catastrophe, and is full because the degeneracy conditions are non-zero, Emanating from the swallowtail point in (α, β, γ) space, there are curves of cusps where B 1 * = B 2 * = 0, and a surface of folds where B 1 * = 0, each with suitable non-degeneracy conditions, only violated at the higher codimension catastrophes.
It is not easy to express the fold and cusp sets explicitly, but we can find them parametrically using the B-G conditions, resulting in the illustration in fig. 5.The fold set can be parameterised by setting x = s, y = t, as parameters, and seeking a solution of f = g = B 1 = 0 in terms of these, giving Solving also B 2 = 0 we find the cusps appear at s = 1/24t 3 , hence they are given parametrically by  Finally solving B 3 = 0 we find the swallowtail then lies at t = 2 −4/5 (which gives coordinate and parameter values agreeing with ( 25)).These are plotted in fig.5, revealing the familiar geometry of the swallowtail catastrophe, where a fold surface kinks along a pair of cusp curves that intersect at the swallowtail.

Butterflies (r = 4)
Similarly to the previous section, one can imagine numerous obvious ways of embedding the known normal forms of butterfly catastrophes in higher dimensions, for example (f, g) = y + x 5 + αx 3 + βx 2 + γx, y − δ .
However, as in the last section, let us look at a more novel form, followed by the application that inspired it.
Consider the vector field which could, based on its order, have potentially up to 9 critical points (x * , y * ).The determinants B j evaluate as These all vanish, indicating butterfly catastrophes, at with non-degeneracy conditions that all evaluate as G 4,i 1 i 2 i 3 = ±103680 for any i 1 , i 2 , i 3 ∈ {1, 2}, hence they are full.Emanating from the butterfly point in (α, β, γ, δ) space, there are curves of swallowtails where B 1 * = B 2 * = B 3 * = 0, surfaces of cusps where B 1 * = B 2 * = 0, and a volume of folds where B 1 * = 0, each with suitable non-degeneracy conditions that are only violated at the higher codimension catastrophes.As in the previous section, we can find a parameterisation of these geometries using the B-G conditions.To find the folds, solving f = g = B 1 = 0 for (α, β, δ), and taking as parameters x = s, y = t, and γ, we find To find the cusps, solving also B 2 = 0 for γ in terms of the same parameters we find γ = t 1/3 where The swallowtail is slightly more difficult to solve for.If we let (s, t) = (uv) 1/2 , (v/u) 1/2 , with inverse (u, v) = (s/t, st), then B 3 = 0 has the solution v = (u 2/3 + u −2/3 )/18, hence we have swallowtail curves parameterised by u as Lastly the butterfly is found by solving B 4 = 0, which happens simply when u = 1, giving We delay illustrations of this case to the more general scenario in the next section.

A motivating PDE example: stars and butterflies
The search for the B-G conditions in this paper was motivated by an application to a PDE system for modeling polarity in cell structures [2] (which includes bifurcation diagrams found by numerical continuation of the B-G conditions).Schematically this took the form where The problem of interest in the application is to study both local and global spatiotemporal patterns, specifically heteroclinic connections between homogeneous steady states where (f, g) = (0, 0), which exist in regions bounded by catastrophes of the vector field (f, g).
The system (38) is just a slight generalization of the double-cubic butterfly in (29), but its analysis is made rather more difficult by the non-gradient terms kxy and ρ = σ.Nevertheless, like the system in (29), this is invariant under the symmetry (x, y, α, β, γ, δ, ρ, σ) → (y, x, γ, δ, α, β, σ, ρ) , and this can be exploited to help find the critical points and catastrophes.
One can use the B-G conditions to find the full set of catastrophes numerically.We can also solve for them analytically if we restrict ourselves slightly, for example to looking for catastrophes that lie on the part of the invariant surface x = y, ρ = σ.Then solving f = g = B 1 = 0, letting x = s, y = t, be parameters, we find the fold set is given by and this is full since G 1 (which we will not write here for brevity) does not vanish at typical s, ρ, δ, k.
Solving B 3 = 0 we find swallowtails occur where ρ = s(9s − 4k), but having made the assumptions x = y and ρ = σ the swallowtails turn out to be degenerate, with G 3,i 1 i 2 = 0 for all i 1 , i 2 ∈ {1, 2}.(Full swallowtails may occur away from this symmetry set where x = y and/or ρ = σ).
Evaluating B 4 = 0 we find that we have actually located a butterfly at ρ = s(9s − 4k), hence these are given parametrically by The non-degeneracy conditions all evaluate as G 4,i , so the butterflies are full at typical values of s, k.
Since G 4,I can vanish at certain points, this suggests there are higher codimension catastrophes here too.If we now solve B 5 = 0 to look for a wigwam catastrophe, we find solutions ρ = −ks and ρ = s(9s − 4k).Again, having made the assumptions x = y and ρ = σ, both of these are degenerate as G 5,i 1 i 2 i 3 i 4 = 0 for all i 1 , i 2 , i 3 , i 4 ∈ {1, 2}.
A depiction of the fold surfaces, cusps, and butterfly, plotted in the (β, δ) plane, is shown in fig.6 for the given parameters.A more detailed study of this system along with its applications can be found in [2].

Closing Remarks
The B-G conditions can be thought of as a geometric test.The functions B r characterise the order of contact between the hypersurfaces F i = 0 as they intersect to form a critical point F = 0.They are therefore a means to locate bifurcation points, but as they contain no information about directionality of F, they do not define bifurcation equivalence classes.Instead they define an underlying catastrophe, at which a bifurcation of the vector field occurs which may unfold via a number of non-equivalent routes.For example, if the B-G conditions reveal a swallowtail involving four equilibria in a vector field, then the bifurcation there could be a simple swallowtail, involving a bifurcation of four equilibria with no other local topological degeneracies, or it could involve homoclinic or heteroclinic connections and limit cycles, which require further local stability analysis beyond the underlying catastrophe.
Once the underlying catastrophe is located, its stability and topology can be studied using standard local methods to fully define its bifurcation class.The conditions of being full are necessary to guarantee that the catastrophe conditions have unique solutions.If the G conditions are violated, then the problem F = B 1 = ... = B r = 0 may be unsolvable for some choices of the B i,j (recall in definition 3.2 we are able to select B i,I(i−1) = B i,1...1 without loss of generality), and then closer study is required to find the nature of the degeneracy.This is one reason why the relation between these conditions, and the classifications of singularity theory, are not yet fully understood; in seeking more practicality we have had to give up some generality.
Hence it remains to develop a theory relating the B-G conditions to the known classifications of singularity theory, to understand how they translate into certain germs, Thom-Boardman symbols, and versality conditions, and ultimately determine whether the B-G conditions at codimension r are sufficient to imply that a point breaks into r + 1 critical points under perturbation.The geometrical insight used here is rather different to the more powerful but less directly calculable classifications of singularity theory, namely that rather than characterize a singularity via its equivalence to a germ and the ranks of certain ideals, we interpret a critical point as an intersection of certain hypersurfaces and translate this into a readily calculable set of B-G conditions.It is not immediately obvious how to relate these two approaches, but is no doubt possible.
In certain circumstances, a vanishing of some of the G conditions may constitute a trivial violation of the property of being 'full', which may be resolved by eliminating one or more redundant dimensions (see appendix B.5).It may be possible to derive a test for this trivial form of degeneracy.
Although the catastrophe conditions are derived from the geometry of the nullclines F i = 0, which are coordinate dependent, the functions B i are determinants expressing linear independency of the components of F, and are therefore coordinate independent.
For r = 3 we have I(2) = i 1 i 2 , with B 1 , B 2 , and B 2,i 1 as defined above, and for i 1 ∈ {1, ..., n} and i 2 ∈ {1, ..., n}.So it continues.For r = 4 we have the functions B 1 to B 4 , along with G 4,i 1 i 2 i 3 in terms of B 4,i 1 i 2 i 3 , B 3,i 1 i 2 , and B 2,i 1 .As stated in section 3.1, it remains for general r to establish whether all of the n r−1 functions G r,i 1 ...i r−1 are independent, and therefore whether they are all necessary to evaluate, but their calculation is at least straightforward.

B Further examples: folds and cusps
Although folds and cusps are relatively easy to study using conventional theory, we include a few examples here to further illustrate the calculation of the B-G conditions in definition 3.2.For a fold in particular, the condition B 1 = 0 is just the well known condition that the system's Jacobian has less than full rank at a singularity, so our interest lies mainly in interpreting the non-degeneracy conditions.
In some cases we apply the conditions to a dynamical system ( ẋ, ẏ, ...) = (f, g, ...) to highlight the significance of ignoring the directionality of a vector field.

B.1 Simple fold
Consider the vector field The critical points lie at (x * , y * ) = (± √ α, α), at which the B-G conditions evaluate as We see that B 1 * vanishes at α = 0, and this is a full fold since G 1 * = 0.The familiar bifurcation diagram is shown in fig. 7.In a dynamical system ( ẋ, ẏ) = (f, g) this is a degenerate equilibrium that perturbs into a saddle and node.If we swap (f, g) → (g, f ) or (f, g) → (f, −g), the B-G conditions are unchanged, and this remains a full fold.These vector fields have very different directional properties, though, and are only topologically equivalent up to a time reversal.This is because the B-G conditions detect only the underlying bifurcation and neglect directionality of the vector field.This is particularly well highlighted if we take a similar vector field Here the fold that occurs is between a saddle and a center, as (f, g) is divergence-free, and therefore is not topologically equivalent to the cases above.Nevertheless, by classifying what happens at x = y = α = 0 as a fold catastrophe underlying the topological and stability features of the vector field, we are able to locate the bifurcation point using the B-G conditions.

B.2 Generalised codimension 3 fold of Dumortier, Roussarie, & Sotomayor
There are various non-trivial generalisations of the fold bifurcation in the singularity theory literature, for example the codimension 2 'fold-Hopf' or 'zero-Hopf' bifurcation.Let us take an example from [11], a codimension 3 fold-Hopf bifurcation with normal form This has critical points (x * , y * ) = (± √ α, 0).Taking α as the bifurcation parameter, we have This therefore satisfies the conditions of a full fold at α = 0.The higher order bifurcation studied by Dumortier et al. in [11] is generated by the y(k 0 + k 1 x + x 3 ) term in (49), and is associated with a loss of stability that occurs where the trace of the Jacobian, k 0 ± k 1 α 1/2 ± α 3/2 , vanishes, around which can occur, in the language of a dynamical system ( ẋ, ẏ) = (f, g), Hopf bifurcations, homoclinic connections, and a saddle whose eigenvalues have equal magnitude.These sets are illustrated in parameter space in fig.8. Two branches of the 'stab' surface intersect along the line k 0 = k 1 + α = 0.A codimension 3 catastrophe occurs at the origin.See [11] for in-depth analysis of this singularity, where it is referred to as a 'cusp' bifurcation due to the geometry of the stability curve, while here we classify it as a fold in keeping with it being a 'fold' of the critical points x * = ± √ α.The B-G conditions detect the underlying fold, irrespective of the stability-related bifurcation structure on top.

B.3 Bogdanov-Takens bifurcation
The vector field has critical points (x * , y * ) = ( 1 2 (−β ± β 2 − 4α), 0).Let us consider taking either α or β as a bifurcation parameter for a fold, and evaluate A fold occurs along the curve α = β 2 /4 in parameter space.The function G α 1 indicates that the fold is full if we vary α.If we vary β, however, then G β 1 indicates that the fold is full except at β = α = 0, and as we see in fig.9, this occurs because varying β will give a path through parameter space that tangentially 'bounces off' the fold curve if α = 0.As before, the B-G conditions reveal the underlying fold catastrophe.In this case a stability change also creates, taking a dynamical system ( ẋ, ẏ) = (f, g), an Andronov-Hopf bifurcation along the half-line α = 0, β < 0, producing a limit cycle that disappears in a homoclinic bifurcation along a curve α ≈ − 6 25 β 2 , β < 0; see e.g.[8,15,22] for the local analysis.The point α = β = 0 is of course the Bogdanov-Takens bifurcation.

B.4 Fold set as a Whitney umbrella
The vector field has critical points at (x * , y * , z * ) = (−α ± α 2 − β 2 γ, β, α).This is a contrived example but shows some novel geometry as seen in fig.10.The  hypersurface f = 0 is a double conic surface, forming equilibria where it is pierced by the straight line given by y − β = z − α = 0, and as either of these move we will observe folds.We have 3 parameters and so could investigate bifurcations with respect to either of them, and we would obtain similar results, so let us take α without loss of generality.The B-G conditions give There is a fold where B 1 * vanishes, along α 2 − β 2 γ = 0, forming a Whitney surface in (α, β, γ) space, and this is non-degenerate provided α = 0.The zero sets and the fold surface are shown in fig.10.It is clear why the system is degenerate when α = 0, as the line y − β = z − α = 0 can then only intersect the double-conic f = 0 at its apex.
The second bifurcation condition B 2 * vanishes at α = β = 0, for which x * = 0 (at which we see the non-degeneracy conditions for the fold would also be violated).Note that all G 2,i * are non-vanishing, so the cusp is nondegenerate.
Note, however, that non-degeneracy requires k = 0.This is an important illustration of the property of being 'full' in definition 3.2, and stems from the gradient vectors, which evaluate at the cusp to d dx f = (0, 1, 0), d dx g = (0, 1, k), d dx h = (0, 0, 1).These are by definition linearly dependent (by nature of it being a singularity, i.e. that B 1 = 0), but to use definition 3.2, any pair of these gradients must remain linearly independent, which we see fails if k = 0.Although the cusp obtained if k = 0 would not be considered degenerate in standard bifurcation theory, this prevents the choice of B 2 , over the alternatives B 2,i for i = 1, 2, 3, being unique.However, this also signals here that the variable z appears in a trivial fashion, and the resolution then is simply to isolate off the z dependence, and study only the planar system (f, g) = (y + x 3 + αx + β, y), for which one will find that the cusp is full and can again be found using definition 3.2.α 2 − 3γ.There are cusps when α = ± √ 3γ, β = k 2 ± (γ/3) 3/2 , for which x * = ± γ/3, hence we see these only occur for γ > 0. Since the various G 2,i * are non-zero (and one finds similar results considering any pair of parameters from α, β, γ), we see that the cusps are non-degenerate away from the origin of this parameter space.Note the importance of k = 0 for non-degeneracy.This is illustrated in fig.12, showing the hypersurface f = 0 unfolding with β (left), and the fold and cusp sets shown in parameter space (right).As fig.12(right) shows, the cusps collide when γ = 0.This collision occurs at α = β = γ = 0.It is a degenerate cusp, but not a swallowtail, as we see if we evaluate G 3,i 1 i 2 i 3 * = ∂(f,g,B 1 ,B 2,i 1 ,B 3,i 2 i 3 ) ∂(x,y,α,β,γ) * = 0 for any i 1 , i 2 ∈ {1, 2}.A consequence of the degeneracy is that if we evaluate the condition to detect a swallowtail we find B 3 = 6, which cannot vanish, hence the system cannot have a swallowtail point.
g n a t i o n p o i n t s p a s s i n g t h r o u g h a f o l d

Figure 2 :
Figure 2: Singularities in a flow field of Arctic ice (a-c are reproduced from Figure 4 of

B 3 = 0 Figure 3 :
Figure3: Illustration of the catastrophe definitions in two dimensions, writing F = (f, g) for convenience.From top left: when r = 0, f = 0 and g = 0 intersect transversally at c to form a critical point, and the curves B r = 0 lie elsewhere; when r = 1, B 1 = 0 intersects c so f = 0 and g = 0 have quadratic contact; when r = 2, B 2 = 0 intersects c so f = 0 and g = 0 have cubic contact; when r = 3, B 3 = 0 intersects c so f = 0 and g = 0 have quartic contact (and in each case the other curves B s>r lie away from c); etc..

Figure 4
illustrates how a perturbation of fig.3to nearby parameter values results in up to r + 1 critical points.

Figure 5 :
Figure 5: The fold, cusp, and swallowtail geometry of the system (23) shown from two directions.In (α, β, γ) parameter space the folds lie on the surface which shows the characteristic shape of a swallowtail, with two curves of cusps, meeting at the swallowtail point.

Figure 7 :
Figure 7: A simple fold where two branches of critical points coalesce.

Figure 10 :
Figure 10: The double conic set f = 0 and line g = h = 0 (left), and the fold set forming a Whitney umbrella (right).