Przed Tobą kolejna porcja zdjęć i kolejne zadanie - spróbuj to jakoś logicznie wyjaśnić... …

List comprehensions in Python let you create a list declaratively, much like the way you would describe the set in English. For example,

[x**2 for x in range(10)]

creates a list of the squares of the numbers 0 through 9.

If you wanted the sum of these numbers, you could of course say

sum( [x**2 for x in range(10)] )

but in this case the brackets are unnecessary. The code is easier to read and more efficient if you omit the brackets.

sum( x**2 for x in range(10) )

With the brackets, Python constructs the list first then sums the elements. Without the brackets, you have a **generator expression**. Python will sum the values as they’re generated, not saving all the values in memory. This makes no difference for a short list as above, but with a large list comprehension the generator expression could be more efficient.

The other day I ran across the biochemical pathways poster from Roche.

This is the first of two posters. Both posters are about 26 square feet in area. Below is a close up of about one square foot in the middle of the first poster.

I’d seen this before, I think while I was working at MD Anderson Cancer Center, and it’s quite an impressive piece of work. A lot of work went into the production of the posters themselves, but the amount of hard-won knowledge the posters represent is mind-boggling. One little arrow on one poster might represent a career’s work.

A paper distributed with the charts explains that the pathways included represent a small selection of what is known.

Some indication of the degree of selection can be taken from the fact that in the present “Pathways” about 1,000 enzymes are shown. … Estimations of the number of proteins (with and without enzymatic activity) in a single mammalian cell are in the order of magnitude of 30,000.

I told a friend that I was thinking about getting a copy of the poster as a reminder of complexity, an analog of a memento mori meant to serve as a reminder of one’s mortality. The Latin phrase *memento mori* means “remember that you must die.” The biochemical pathways makes me thing “remember that you are complex” or “remember the world is complex.”

I asked a Latin scholar, Lily Hart, what an appropriate aphorism would be, and she suggested the phrase *memento complexitatis*, which translates as “be mindful of complexity.” Another suggestion was *omnia contexta sunt*, meaning “all things have been braided.” As Rich Hickey explains in his popular video, *complex* literally means braided together.

Everything impacts everything. Independence is always a simplifying assumption. The assumption may be justified, but it is an assumption.

The poster is also a reminder that we need not throw up our hands in the face of complexity. Often the implication of mathematical discussions of complexity is that predicting the future is hopeless; there’s no point trying to understand the behavior of a complex system except in some abstract qualitative way. The Roche posters are inspiring reminders that with hard work, we *can* learn something about complex systems. In fact, over time we can learn quite a lot.

Dla tych ludzi świat stoi otworem. Dla nich nie ma rzeczy niemożliwych! …

A **killer app** is an program so useful that people will buy a larger system just to use it. For example, the VisiCalc spreadsheet was a killer app for the Apple II, maybe the first program to be called a “killer app.” People would buy an Apple II just so they could run VisiCalc. Microsoft Office is a killer app for Windows: many people run Windows so they can run MS Office.

I was thinking about the mathematical analog of killer apps. For example, finding maxima is a killer app for calculus. If that’s all you could do with calculus, we’d still teach calculus. After one semester of calculus, students can easily solve optimization problems that would be virtually impossible otherwise.

Mechanical vibrations are a killer app for differential equations. (Non-mechanical systems such as LRC circuits follow the same equations.) If an engineer applies anything from a differential equation class, this is probably it.

Contour integration is a killer app for complex analysis. There are other applications of complex analysis, but contour integration certainly one of the big ones.

Some areas of math don’t have a killer app that I can think of. They may have practical application, but there isn’t a particular application that stands out, not one that many people would agree on [1]. If you did a Family Feud-style poll on applications of calculus, differential equations, and complex analysis, I image the examples above would be on the board if not the top result.

Category theory can be useful, but its applications are scattered. If category theory has a killer application, I doubt there’s a consensus of what that application would be.

A killer application is different from a key theorem. I imagine a lot of people would say that the Yoneda lemma is the most important theorem in an introductory course in category theory, but I wouldn’t call it a killer app. My idea of a killer app is something that fills in the blank “You should take a course in X if for no other reason than that you’ll be able to ______.” For instance, many people take a course in statistics just so they can do linear regression.

If you have ideas about what killer apps would be in various areas of math, please share them in the comments below.

[1] I’m reminded of someone’s description of G. K. Chesterton as a master who left no masterpiece. That is, he wrote a lot of great lines, but no great book.

Next Page of Stories