Variables

In several fields there are several related notions that form a discipline of sorts. There are just a few names for these notions and they interact differently in different application areas. Much confusion thus arises, at least in my head. I want to sort out some of these notions. This article is tangential to what I want to talk about. Physics, math, probability theory all have slightly different terminology.

A Few Concrete Usages

Manifolds

When we consider various coördinate systems on some space we will need to think about how to compute the coördinates in system A when we know them in system B. In this case we probably refer to the B coördinates as independent variables and those in system A as dependent variables; an A coördinate ‘depends’ on all the B coördinates.

This relationship is reversed when we want to go the other direction and thus this variable categorization is ephemeral. Usually, however, it is constant over a chapter or two.

In thermodynamics we consider the derivative of pressure with respect to volume holding temperature fixed, or alternatively holding entropy fixed (adiabatically). I can attest that thermodynamics classes are generally confused about which of the variables are independent. They invent a special notation to ameliorate this: (∂P/∂T)V

Modular Programs

When large programs are developed today the normal practice is to keep several source files in a directory. I include header files as ‘source’ in this discussion. The running program is another file whose content is a function of the content of the source files but via intermediate files such as relocatable files. When one changes the program it is usually necessary to modify only one source file. Various programs have been provided to help with the task of knowing which files must be recomputed as a result of the change. None of these programs are much to write home about. The necessary information to do this task is a transitive ‘dependency’ relation among the files. The state of the art is that this information must be given twice, once to tell the compilers what to do and again to tell the program “make” what depends on what.

Computer applications sometimes have a similar internal need and I know of no general solution.