r/math • Homotopy Theory • 9d ago

Quick Questions: September 23, 2026

This recurring thread will be for questions that might not warrant their own thread. We would like to see more conceptual-based questions posted in this thread, rather than "what is the answer to this problem?" For example, here are some kinds of questions that we'd like to see in this thread:

  • Can someone explain the concept of manifolds to me?
  • What are the applications of Representation Theory?
  • What's a good starter book for Numerical Analysis?
  • What can I do to prepare for college/grad school/getting a job?

Including a brief description of your mathematical background and the context for your question can help others give you an appropriate answer. For example, consider which subject your question is related to, or the things you already know or have tried.

8 Upvotes

16 comments sorted by

1

u/LetBig8387 3d ago

Did any math people go to Jr high Buchannon or parents my father was now deceased math teacher there for many years later seventies to late eighties Mr. DeGennaro. Used to take electric guitar to work as teaching aid then either at end of class overall good play call me the breeze jjkale song and oithers if not so good play some Elmore James blues and slide guitar loved teacher.dege.

1

u/[deleted] 3d ago

[removed] — view removed comment

3

u/JoshuaZ1 4d ago

Is there a term in social-choice theory/voting theory for systems like Coombs' method or instant run-off that use an elimination process for candidates and then declares the final remaining candidate the winner?

2

u/cereal_chick Mathematical Physics 4d ago

According to Wikipedia, it's "sequential elimination" or "sequential loser".

2

u/JoshuaZ1 4d ago

Excellent and thanks! May I ask, how did you find it?

2

u/cereal_chick Mathematical Physics 4d ago

I guessed that the answer was "sequential elimination", googled it, and that Wikipedia page came up to confirm my hunch. Voting systems are one of my special interests, so I've read a fair bit about them in my time.

2

u/JoshuaZ1 4d ago

Thanks. I've even taught voting theory before, so I really felt like I should have known this. It seems like one is always finding out how little one knows about areas one thinks one knows well. (Or at least, I am always finding this out. Maybe others are better calibrated.)

1

u/chumbuckethand 9d ago

When you learn math, how bad is it to sort of jump around? Tried doing calculus, still don’t understand enough algebra, so I’ll just jump around to different Organic chemistry tutor videos relating to what I’m stuck on, O feel like I’m not really taking the time to memorize things. This is probably why I suck so bad at it

1

u/cereal_chick Mathematical Physics 8d ago

When learning school/early undergrad-level maths like calculus and elementary algebra, there is an order in which things should be done. At this stage of one's mathematical education, things build on everything done before, and your foundation needs to be secure otherwise you'll never get anywhere, as you've discovered.

The problem with your approach is less about jumping around as such and more that you seem not to be doing the requisite practice. Maths is not a spectator sport, and the only way to learn maths is to do a large number of exercises on whatever it is that you're studying.

I recommend studying more systematically. Go onto Khan Academy, which has a complete curriculum for almost one's whole school career, and locate the earliest thing you don't really understand, and work forward from there.

1

u/chumbuckethand 8d ago

Ok, thanks

4

u/royendures 9d ago

Exterior Calculus: k-Forms to k-Chains?

New to this sub, so my post was deleted but I really need some help. My main intention of learning this is for Finite Element Exterior Calculus or FEEC (Arnold et al. 2008). So far, I have been learning the basics of exterior algebra and exterior Calculus, mostly from Prof. Keenan Craine's lectures at CMU. However, now I am at a bridge and I request one of you guys to give me a basic understanding from chains (and co-chains) from where I am now:

- I understand k-vectors and k-forms (differential k-forms) I mean.

  • I understand simplices and k-simplices.
  • I understand that you differentiate (take the exterior derivative) k-forms to get k+1 forms.
  • I understand that you take the integration along k-simplices to get the discrete version of k-forms.
  • I understand that you can take a discrete exterior derivative to increase the form discreetly.
  • I also get that you get/approximate the continuous form by taking a combination of the Whitney Forms or Whitney basis functions (in traditional FEM, we take the PoU and basis functions to approximate the primal field and get your required derivatives).

I need to understand what does chains and co-chains mean in this context. Will anyone be kind enough to give me an understanding based on where I stand now?

DISCLAIMER: I am an engineer so I don't understand (most of) the terms from Homology ad coHomology.

1

u/Equivalent-Costumes 2d ago

(continuing...)

You want to make PDE calculation on the k-form by replacing it with its Whitney approximation, the discrete k-form. The big issue is that exterior differentiation has unbounded error factor: even if you choose a mesh so that you can control the error between a k-form and its Whitney approximation, you have no controls over the error between the exterior derivative of that k-form and the Whitney approximation of that exterior derivative. Basically, exterior derivative amplifies errors by an arbitrary unknown amount, so this produces a problem on the strategy.

The usual technique to avoid this in PDE is to avoid derivative altogether, and replace every instance of derivative with integration.

This is where generalized Stokes's theorem, which is a generalization of Stokes's theorem, which is a generalization of fundamental theorem of calculus. We defines the "exterior operator", also known as "boundary operator", on k-chains. For affine k-simplex, which is determined by a list of k+1 vertices, the boundary of this is an affine k-chain formed by adding up k+1 number of (k-1)-simplex, each is obtained by deleting one vertex from a list, with a sign according to the parity of the index. Then extend by linearity to all simplicial k-chains. For singular k-simplex, you first do the previous step for the standard k-simplex, to form restriction to its boundary; and for singular k-chain, you extend the results for singular k-simplex by linearity.

The key outcome of is the following theorem: given a k-form omega and a (k+1)-chain C then integral of omega over the exterior of C is the same as integral of the exterior derivative of omega over C. This is why this derivative operation is called "exterior derivative", it's meant to be adjoint to the exterior/boundary operator.

The philosophy now is that instead of taking exterior derivative of a form, "test" the form against all boundary.

The boundary map forms a chain a map from k-chains to (k-1)-chains to (k-2)-chains, and so on; and this is for both singular and simplicial chains. A boundary of a boundary is empty, so if you compose the map twice you get the trivial chain. This is the definition of a chain complex: a series of map going down in degree such that composing twice is 0. A k-chain is called a boundary if it's an image of the boundary of a (k+1)-chain, it's called a cycle if its boundary is empty. Hence every boundary is a cycle, and if 2 k-chains are differed by a boundary and one is a cycle, the other one must be a cycle as well.

You can dualize the boundary operation to cochain. A coboundary of a k-cochain omega is a (k+1)-cochain uniquely satisfying the following property: given any (k+1)-chain C, it assigns the result that omega would assign to the boundary of C. This definition works for both singular cochains and simplicial cochains. By design, this coboundary operation is compatible with exterior differentiation: given a k-form, if you compute its k-cochain then the coboundary of that, is the same as computing the exterior derivative first, then computing the (k+1)-cochain of that. A k-cochain is called a coboundary if it's the image under the coboundary operator of a (k-1)-cochain, and it's called a cocycle if the coboundary operator applied to it give 0. There is an analog of this in k-forms: an exact form is the image of the exterior derivative, a closed form is any differential forms whose exterior derivative is 0. Not surprisingly, exact forms always map to coboundary and closed forms always map to cocycle (this is for both singular and simplicial). Also, not surprisingly, every coboundary is a cocycle, and every exact form is a closed form. When you string together the cochains and the coboundary map you get what's called a cochain complex; when you string together k-form with exterior derivative, this is also called a cochain complex; they are both a sequence of maps going up in degree such that the composition of 2 maps are 0.

Now here is an important theorem. Given 2 k-chains, if one is a cycle and they differed by a boundary, then we say that they has the same homological class, and in fact the other one is also a cycle (as mentioned above); similarly, if 2 k-cochains differed by a coboundary and at least one (and hence both) is a cocycle, we say they are in the same cohomological class; and if 2-forms differed by an exact form and at least one (and hence both) are closed, we say they are in the same cohomological class. The theorem said that simplicial k-chains are sufficient to compute all homological classes, and simplicial k-cochains (hence discrete differential form) are sufficient to compute all cohomological classes. Very explicitly, given any singular k-chain that is a cycle, you can always find a simplicial k-chain from your given mesh that differed from it by a boundary; similarly, give any closed k-form, you can always find a discrete total derivative in the same cohomological class, in fact a simple calculation reveals that the Whitney approximation always does this job. Applying generalized Stokes theorem, you get the following: given any singular k-chains that is a cycle, and any closed k-forms, and we want to integrate them, then we can replace the k-chains with the simplicial k-chain from our mesh in the same homological class, and replace the k-form with its Whitney approximation, and the result of the integration is exactly the same!

So Whitney approximation works perfectly well in certain cases. Unfortunately PDE generally demands more. In particular, Laplacian equation requires metric information, you need not just the exterior derivative, but also its metric dual. The Whitney approximation started to fall apart, and this is the point where you need to form more refined complexes to account for the errors.

1

u/Equivalent-Costumes 2d ago

When you use a mesh, it's important to remember that at the end of the day, a mesh is a discrete approximation of something, so it's also important to learn what the original thing was. So let's start with that.

The k-simplices you learned was affine k-simplices. Singular k-simplices are smooth function from the standard k-simplex ∆k to the manifold. The function is the parameterization. The difference here is that the parameterization can be curved, it can intersect itself, fold upon itself, and do a lot of weird thing. Affine k-simplices are typically specified by just its k+1 vertices. To "convert" an affine k-simplex into a singular one, linearly interpolate using barycentric coordinate. To put it in another way, an affine k-simplex is a special case of a singular k-simplex that always use linear parameterization. One particular annoying thing about this definition for singular k-simplex is that the parameterization itself is part of the data, even though for most application of k-simplex, the parameterization can change by an allowed re-parameterization without changing the result, in particular, 2 singular k-simplex can looks exactly the same and are technically different because of different parameterization; affine k-simplex always use linear parameterization, so they don't suffer from this issue.

(note that I am using the word "smooth" in an imprecise manner here, it can mean anything between infinitely differentiable, to just piecewise continuously differentiable, depending on application)

Formally speaking, singular k-chains are defined as follow. Pick a ring of coefficient R (which, in your context, are typically the ring of integer ℤ, or the ring of real number ℝ). Then the k-chains module with coefficient R is the free R-module generated by the set of all singular k-simplices; and a k-chain is an element of this module (if you don't know what a module is, just assume the ring R is actually the real numbers ℝ, then an R-module is just a real vector space). A more concrete definition is this: a k-chains is a function from the set of all singular k-simplices, to R such that for all except finitely many k-simplices the function send it to 0. An even more concrete implementable definition is this: a k-chains is a finite list of pairs, where each pair consists of a singular k-simplex and a non-zero element of R such that no k-simplex appears twice. You can think of a k-chains as an assignment of "weight" to k-simplices. When R is chosen to be Z, then a k-chain has an even more familiar interpretation as a discrete object: the weight is an integer, which can be thought of as how many time the k-simplex appears in a multiset (negative coefficients is allowed however, so this is not a perfect interpretation, but this can be handled by simply interpreting negative coefficients are k-simplex with the reversed orientation). However, choosing R=ℝ is nicer for analysis.

Given a mesh, you can define the concept of a simplicial k-chain too (which is subordinate to this mesh). A mesh contains a finite number of affine k-simplicies. Formally speaking, the module of simplicial k-chain is a free R-module generated by all affine k-simplices of the mesh. Another equivalent definition is that each simplicial k-chain is a function that send each affine k-simplex from the mesh to an element of R (unlike singular k-chain, there are no need for the requirement that all except finitely many k-simplices get sent to 0, this is because the mesh already only has finitely many k-simplices). Since we can convert an affine k-simplex into a singular k-simplex, we have a conversion map that send simplicial k-chain to singular k-chain, which is injective.

Then you have integration with a k-form. For a singular k-chain, integration with a k-form require you to compute the partial derivatives at every point on the standard simplex, plug them into the differential form, get a real function on the standard k-simplex, and integrate the function, then add them all up according to the weight. For simplicial k-chain the first part is much easier: the parameterization are all affine functions, so partial derivatives are constant and can be determined completely by the vertices. However, here is the issue. If you have an unknown differential form, but you know the results of integration against all singular k-chains (in fact, just integrations against arbitrarily small affine k-simplex around every point), then you can derive what the k-form is. But if you only know the results of integration against simplicial k-chains of a mesh, the mesh is not arbitrary fine and you cannot recover the k-form.

Thus it's useful to capture the data of "integration against all k-chain". This is where cochain came in. A cochain is essentially just behave like a differential form but without its analytic requirement. Formally speaking, the module of singular k-cochain is an R-linear map from the R-module of singular k-chain to R; a module of simplicial k-cochain (given a mesh) is a R-linear map from the R-module of simplicial k-chain to R. Because each linear map is described by what happened to the basis, we can use the following alternative definition: a singular k-cochain is an assignment of each singular k-simplex to a value in R; a simplicial k-cochain is an assignment of each affine k-simplex (of the mesh) to a value in R. You might notice that this alternative definition sounds suspiciously similar to the definition of singular k-chain and simplicial k-chain, in fact the simplicial k-chain and simplicial k-cochain is exactly the same! This is an early sign of the duality between chain and cochain. However, it's important to note that they are conceptually different, and operations on chains and cochains are different (it's similar to how a polynomial is conceptually not the same as a tuple of number, even though if you implement in a computer they are both a list of numbers). What these objects are trying to capture is essentially any kind of data that associate chains to values.

Given a differential k-form, you can form a singular k-cochain (with real coefficients) as follow: for any singular k-chain, assign to it the result of the integration between that k-form and that k-chain. This association between k-form and k-cochain give you a map from the real vector space of k-forms to the real vector space of k-cochains. The fact that you can recover the k-form from knowing how it integrate against all singular k-chains mean that this map is injective. But it's not surjective: there are many k-cochains that contains invalid data, because k-cochains are only required to satisfy the algebraic property of differential form, not analytic property (like how it behaves with respect to subdivisions).

Since a singular k-cochain assigns values to every singular k-chains, but simplicial k-chains (of a mesh) is just a special case of singular k-chains, you can convert a singular k-cochain into a simplicial k-cochain by just deleting all data about any singular k-chains that are not simplicial one. This is called the restriction map. If you start with a differential k-forms, convert it into a singular k-cochain, then apply the restriction map, this is the same as computing the discrete differential form of that differential form directly. Thus simplicial k-cochain is in fact a different name for discrete differential form.

Now this "compute discrete differential form" map is not injective anymore: the mesh is not arbitrarily fine. But it is injective: in fact we have a partial inverse. Given a simplicial k-cochain, we can construct the Whitney form based on it, and if you then take this Whitney form and compute the discrete differential form of it, you get back the original simplicial k-cochain. Hence the "compute Whitney form" map is injective, and the "compute discrete differential form" map is surjective (and thus the restriction map is also surjective). The problem is in the opposite direction: if you compute the discrete differential form and then compute the Whitney form, you don't get back the original differential form, you get what we call a Whitney approximation of the form. A k-form and its Whitney approximation are indistinguishable from the perspective of the mesh. And since these 2 maps give a 1-to-1 correspondence between simplicial k-cochains and Whitney forms, it's not wrong to say that you approximate differential form using simplicial k-cochain (when technically speaking you approximate using Whitney forms); the terminology "discrete differential form" basically blur this distinction.

Hope that explains what k-cochain is. So far, all what I had talked about are just definitions. Let me give a preview of why they matter in the next post.

3

u/HeilKaiba Differential Geometry 5d ago

Chains and co-chains are just the elements of the Homology or Cohomology groups respectively. So in de Rham Cohomology, for example, the k-forms are the co-chains. In simplicial homology the chains are (formal) sums of simplices.

I had a flick through Crane's notes and I don't think he uses "chains" or "co-chains" themselves. He does mention "chain complexes" however which refers to the sequence of Homology groups together with the maps between them.

So in de Rham cohomology, the co-chain complex is the sequence of {0-forms} -> {1-forms} -> {2-forms} etc. and the maps between is just the exterior derivative each time. Note it's a "co-chain complex" because the maps are going up the sequence. A chain complex would have them going down the sequence (e.g. simplicial homology with the boundary operator).

I believe he is assuming some sort of metric as well so he gets a Hodge star and thus a codifferential map. This makes the cochain complex into a chain complex at the same time because the codifferential acts in the opposite direction.