[HN Gopher] On Leibniz Notation
       ___________________________________________________________________
        
       On Leibniz Notation
        
       Author : colonCapitalDee
       Score  : 139 points
       Date   : 2024-01-20 02:51 UTC (20 hours ago)
        
 (HTM) web link (math.stackexchange.com)
 (TXT) w3m dump (math.stackexchange.com)
        
       | zero-sharp wrote:
       | Briefly, the way you make sense of this is by being consistent
       | with notation and being aware of definitions. f is a function.
       | f(x) is not a function. f(x) is an element of the range.
       | Unfortunately, I'm sure growing up your teachers probably
       | referred to f(x) as being the function. If you just simplify the
       | function composition and clearly label objects, I'm pretty sure
       | you won't have this kind of confusion. It really shouldn't be
       | this complicated.
       | 
       | While we're at it, it's probably not the best idea to represent
       | derivatives as fractions either (for the sake of notational
       | consistency). But that notation will never die.
        
         | volemo wrote:
         | > While we're at it, it's probably not the best idea to
         | represent derivatives as fractions either (for the sake of
         | notational consistency).
         | 
         | Do you mean dy/dx? Why isn't that a good idea? Isn't fractional
         | form useful, for example solving differential equation y =
         | dy/dx => dy/y = dx? What are the alternative you'd prefer:
         | prime notation, D-notation, or else?
        
           | bsaul wrote:
           | I don't know about the person you're responding to, but those
           | operations over what usually appears at the denominator of
           | the derivative purely for notation purpose has always looked
           | to me as complete magical garbage. What object is "dx" ? is
           | it a number ? a limit ? is it zero ? can i divide another
           | number by it ?
           | 
           | I think this notation is single handly the reason why i've
           | never been comfortable with calculus.
           | 
           | PS: i've stumbled a few years ago on a math book that
           | described the original concept of "infinitesimals" and how a
           | whole different way of doing calculus exists. And it seems to
           | me those kinds of computations over "dx" come from there. But
           | the end result of mixing concepts really looks like trash.
        
             | LudwigNagasena wrote:
             | dx,dy,dz are differential 1-forms. It's like i,j,k in a
             | vector field.
        
               | bsaul wrote:
               | Thanks for the term, but it still doesn't help me
               | understand what i'm allowed to do with it.
               | 
               | Vectors is a great example: as soon as you're introduced
               | to vectors, you immediately starts to be given
               | definitions on how to multiply / add them together and
               | with regular numbers.
               | 
               | dx remained a mystery even during my first 2 years of
               | calculus in university. I used them purely as a notation
               | tool, but really didn't understand them properly.
        
               | LudwigNagasena wrote:
               | Well, I don't know much about the way calculus is taught
               | in the West, but I remember that Zorich's Mathematical
               | Analysis (ch. 5 Differential Calculus and ch. 8 The
               | Differential Calculus of Functions of Several Variables)
               | was pretty clear about everything.
        
               | bsaul wrote:
               | I've found the book online and will definitrly look into
               | it. It's going to be my first time with russian math
               | teaching style, i'm really looking forward to it. From
               | what i've seen browsing the first chapter it seems very
               | down to earth and straightforward, i really like it.
               | Also, it covers exactly the scope of calculus i want to
               | get better at, so thanks again.
        
             | galaxyLogic wrote:
             | A simple conceptual description of a derivative is "speed".
             | 
             | To measure the speed of a moving object you must divide the
             | distance moved by the time it took to move that distance.
             | 
             | So how can you measure what the speed is at a given
             | location? In a sense you cannot, you can only measure it at
             | a given interval over the period of time it took to move
             | that distance.
             | 
             | So it is kind of confusing. dx/dy represents the limit of
             | measuring the speed over increasingly small distances and
             | durations around a given point in space and time. If you
             | take dx to 0 and dy to 0 it does not make sense because 0/0
             | is ill-defined. Therefore we need some notation that
             | implies we are really not talking about a single point, but
             | an increasingly small distance, and duration.
        
             | laingc wrote:
             | > but those operations over what usually appears at the
             | denominator of the derivative purely for notation purpose
             | has always looked to me as complete magical garbage.
             | 
             | You will be delighted to discover that they are in fact not
             | magical or garbage.
             | 
             | > What object is "dx" ? is it a number ? a limit ? is it
             | zero ? can i divide another number by it ?
             | 
             | dx is a differential one-form. You can think of it as a
             | generalisation of a gradient, if you like. These are very
             | important in Differential Geometry.
             | 
             | You can use differential forms to do all sorts of things,
             | but one example you may be familiar with is to compute area
             | or volume forms over arbitrary manifolds. It gets a bit
             | hard to define things on HN without TeX support, but using
             | differential one-forms and the related exterior derivative,
             | you can define a generalised Stokes' theorem that works for
             | any smooth, oriented manifold.
             | 
             | I used this in my PhD, and implemented it directly in a
             | numerical method, so this has very practical engineering
             | uses also.
             | 
             | "Elementary Differential Geometry" by Barrett O'Neill is a
             | pretty beginner-friendly introduction to some of these
             | topics if you're interested, though there are many other
             | good texts also.
        
               | zero-sharp wrote:
               | >dx is a differential one-form. You can think of it as a
               | generalisation of a gradient, if you like. These are very
               | important in Differential Geometry.
               | 
               | This really doesn't help beginners. At all.
               | 
               | There are formal contexts where we can reinterpret
               | division by zero and have it make sense. Should I start
               | telling students that division by zero is allowed? Should
               | I start teaching intro calculus students that
               | 1+2+3+...=-1/12?
        
               | lifthrasiir wrote:
               | For teaching purposes you are definitely allowed to lie,
               | as long as that lie can be resolved eventually (not
               | necessarily in this semester ;-). That's how we have been
               | generally taught about integer divisions and negative
               | square roots. But behind the scene, the `dx` notation can
               | be fully generalized and made rigorous with differential
               | forms, or that was what I have been told.
        
               | zero-sharp wrote:
               | This is definitely not an apples to apples comparison.
               | Integer division is something everybody is expected to
               | learn. Also we don't teach imaginary numbers to middle
               | schoolers as soon as they learn about square roots.
               | 
               | To some extent we have to speak to our audience. I
               | consider that part of effective communication. I don't
               | think "assume the person you're speaking to is/will be a
               | mathematician" is an effective way to interact.
        
               | lifthrasiir wrote:
               | I meant that, yes you are right. You are not expected to
               | teach differential forms to non-math students at all
               | because it's not effective. The existence of differential
               | forms only means that it can be eventually made rigorous
               | _if you push hard_.
        
               | laingc wrote:
               | I replied with what the thing is called, explained what
               | it can be used for, and recommended an introductory text
               | to learn more.
               | 
               | If you can come up with a more helpful reply in as many
               | words, then please do so.
        
             | Qem wrote:
             | > i've stumbled a few years ago on a math book that
             | described the original concept of "infinitesimals" and how
             | a whole different way of doing calculus exists.
             | 
             | Was this book "Elementary Calculus: An Infinitesimal
             | Approach", by Keisler? It's an awesome book. It's free to
             | download at
             | https://people.math.wisc.edu/~hkeisler/calc.html
        
               | bsaul wrote:
               | yes that's the one. I didn't read or understand all of
               | it, but it helped me a lot realize what i considered as
               | weird (the dx object and the whole notation around
               | derivative) was not due to comprehension problems on my
               | part, but due to the fact that the field was still a work
               | in progress.
               | 
               | Unfortunately, that realization came 25 years too late.
        
           | shunyaekam wrote:
           | The answer to this question is answered in the FA. Leibiz
           | notation is confusing except in the most simple cases.
           | 
           | For example:
           | 
           | > Isn't fractional form useful, for example solving
           | differential equation y = dy/dx => dy/y = dx?
           | 
           | What exactly does "dy/y = dx" mean? What is on the LHS and
           | what is on the RHS?
           | 
           | It acts like a mnemonic scribble for an intermediate step. It
           | doesn't have any mathematical meaning.
        
             | volemo wrote:
             | > What exactly does "dy/y = dx" mean?
             | 
             | As I understand, dy/y = dx means that the derivative of 1/y
             | with respect to y equals to the derivative of 1 with
             | respect to x.
        
               | shunyaekam wrote:
               | The derivative of 1 with respect to x is zero, since the
               | derivative of any constant function is zero.
               | 
               | So you must be saying that the derivative of 1/f(x) with
               | respect to x is zero for any f(x), where f is a
               | differentiable function, with non-vanishing derivative
               | near x (for it to be defined in the first place).
               | 
               | That doesn't make any sense.
               | 
               | Please don't respond to this. It's getting absurd.
        
               | volemo wrote:
               | I see my mistake now, sorry for being stupidly blind.
        
         | LudwigNagasena wrote:
         | If you take x as a stand-in for a number, then df/dx simply
         | makes no sense, df/d(5) is either nonsense or division by zero.
         | Your approach doesn't seem to make more sense out of Leibniz
         | notation, unless I misunderstand what you mean by f(x) being an
         | element of the range.
        
           | bmacho wrote:
           | If you know a language with function types, then you can
           | think of it as                 f : R -> R
           | 
           | that is, f having a type signature as a function, and
           | f(x) : R
           | 
           | having a type signature of a float (or: being a float). And
           | so on.
           | 
           | I've been using this approach to type-check calculus
           | equations. Unfortunately the article in the top comment [0]
           | says that
           | 
           | > Note that f means something different on the two sides of
           | the equation!
           | 
           | so the Leibniz notation might be more ad-hoc than I thought,
           | and I can't just type-check them, actually have to reverse
           | engineer the intent of the authors. I have to think about
           | this. For example I remember someone giving me 3 exercises
           | from Stewart calculus, and I gave 2 back that those equations
           | don't even type-check, maybe there are some notation abuses I
           | am not aware of.
           | 
           | [0] https://mitp-content-
           | server.mit.edu/books/content/sectbyfn/b...
        
       | rocqua wrote:
       | The idea that the letter choice shouldn't matter fully makes
       | sense to me. And in general, point free notation can be nice
       | (point free meaning operating on the function rather than
       | introducing an arbitrary point and operating on the function
       | evaluated at the arbitrary point.
       | 
       | Despite this, I still believe Leibniz notation is superior for
       | multi-argument functions. For multi argument functions, named
       | arguments are much clearer than just depending on the order of
       | arguments. Essentially I advocate for dropping point-freeness for
       | clarity on the difference between function arguments.
       | 
       | Besides that, by expression equivalence it is clearly the case
       | that the only correct interpretation of the derivative is the
       | 'composition' where the change in t also counts for the change in
       | x. Because replacing the f(x(t), t) with g(x) (where g is the
       | composition, should not change the outcome of the derivative.
        
         | nmca wrote:
         | This is a noble take for programming languages too, where
         | point-free style in e.g. Haskell is a pain in the neck, and
         | named arguments are a blessing.
        
         | anderskaseorg wrote:
         | Named arguments are great, but mathematical notation doesn't
         | have them. x(t) is not a named argument to f(x(t), t), so
         | notation like [?]f(x(t), t)/[?]x(t) is nonsense.
         | 
         | If we did have real named arguments like f(a=x(t), b=t), where
         | a and b are fixed by the definition of f rather than arbitrary
         | names to be made up on each invocation, then maybe it would
         | make sense to write something like ([?]f/[?]a)(a=x(t), b=t).
         | Though that's still pretty far from Leibniz notation, where
         | [?]f/[?]a is somehow supposed to be a numerical value depending
         | on a, not a function to which arguments must be supplied.
         | 
         | But what I think is really lacking in mathematical notation is
         | explicit lambda abstraction: we should be able to write
         | 
         | (lt. f(x(t), t))'(t) = (la. f(a, t))'(x(t)) x'(t) + (lb.
         | f(x(t), b))'(t),
         | 
         | which reuses the ordinary one-variable derivative and has none
         | of these ambiguities.
        
       | BruceEel wrote:
       | It's probably because I'm an ignorant idiot, particularly when it
       | comes to calculus, but this read like a revelation:
       | "the concept of a function shouldn't depend on what your
       | favourite letter is!"
       | 
       | Very helpful answer, thanks for posting.
        
         | enriquto wrote:
         | > the concept of a function shouldn't depend on what your
         | favourite letter is
         | 
         | On the other hand, you can also argue that the concept of a
         | function shouldn't depend on your favourite ordering of its
         | variables. Thus, if you have a potential that oscillates in
         | time, such as:                   V = (1 + sin(t))/sqrt(x^2+y^2)
         | 
         | You may want to take derivatives with respect to each variable,
         | such as dV/dt, dV/dx and so on. Their meaning is clear. What
         | does D_2(V) mean, though? It does depend on your favourite
         | ordering of the letters!
         | 
         | Even if you prefer positional notation for derivatives (a la
         | Spivak), it must be recognized that the naming-based notation
         | has its merits, and sometimes is clearer.
        
           | BruceEel wrote:
           | ah, interesting dark corner there. Also, I was thinking there
           | must be merit in allowing for some discrepancies in use of
           | different notations when dealing with "read" use, as in
           | learning a new concept, vs. "write" use, as in working on
           | something, like the SO OP..
        
           | xigoi wrote:
           | In what you have written, V is not a function, but a value
           | calculated from some other values, so it does not make sense
           | to differentiate it. If you instead write:
           | V : R3 - R         V(t,x,y) = (1 + sin(t))/sqrt(x^2+y^2)
           | 
           | then it's clear what D_2(V) means.
        
             | enriquto wrote:
             | > not a function, but a value calculated from some other
             | values
             | 
             | The term of art is "an expression" [0]. And you can also
             | differentiate expressions with respect to their variables.
             | It's a perfectly supported construction in all symbolic
             | computer algebra packages. No need to assign an (arbitrary)
             | ordering to your variables in order to differentiate with
             | respect to them.
             | 
             | [0] https://en.wikipedia.org/wiki/Expression_(mathematics)
        
       | LudwigNagasena wrote:
       | A somewhat relevant article, it explores an alternative to
       | Leibniz notation: Extending the Algebraic Manipulability of
       | Differentials (https://arxiv.org/pdf/1801.09553.pdf).
        
       | tobinfricke wrote:
       | The discussion in Sussman and Wisdom's "Structure and
       | Interpretation of Classical Mechanics", about how the Euler-
       | Lagrange equations don't literally make sense as traditionally
       | written, has long resonated with me:
       | 
       | https://mitp-content-server.mit.edu/books/content/sectbyfn/b...
       | 
       | They also adopt a notation where partial derivatives are taken
       | with respect to "argument slots".
        
         | kergonath wrote:
         | This specific notation makes no sense in a Physics context. The
         | names of the variables encode information that is lost if you
         | use purely positional arguments. If I take a state function
         | F(V, T) and its partial derivative wrt T, things like notation
         | [?]_2 F get much murkier and context dependent than [?]_T F or
         | [?]F/[?]T, which benefit from a general consistency of
         | notations. Ultimately, the function F has a physical meaning
         | and the orders of the arguments is completely irrelevant, but
         | _what_ these arguments are is important. The Leibniz notation
         | should certainly be improved or replaced, but not by this.
         | 
         | I mean, they even fuck it up in the sentence after their
         | equation:
         | 
         | > The Lagrangian L is a real-valued function of time t,
         | coordinates x, and velocities v; the value is L(t, x, v).
         | Partial derivatives are indicated as derivatives of functions
         | with respect to particular argument positions; [?]_2 L
         | indicates the function obtained by taking the partial
         | derivative of the Lagrangian function L with respect to the
         | velocity argument position.
         | 
         | From what they say at the beginning the second argument is the
         | position, not the velocity, so [?]_2 L is [?]_x L, not [?]_v L.
         | Which is a really easy mistake to make because every single
         | equation needs to go back to the definition of L to make sense.
        
           | MatteoFrigo wrote:
           | FWIW, they start counting function arguments from 0, so _2 is
           | indeed the velocity.
           | 
           | But I do agree with your main point that the order of
           | arguments is irrelevant, and it is a mistake to make it a
           | first-class citizen of the notation.
        
             | codethief wrote:
             | The order isn't really irrelevant, though, is it? If you
             | take the total derivative and represent it as Jacobian
             | matrix, you hopefully won't argue that the order of the
             | matrix entries won't matter. (Especially if you later on
             | employ it in a chain rule.)
        
               | MatteoFrigo wrote:
               | I think that there are two cases of practical importance,
               | which have incompatible requirements.
               | 
               | The first case is where you have a N-dimensional vector
               | space where all dimensions have the same units. The
               | standard example would be the Newtonian 3D space.
               | Depending on what you are trying to do, you can view it
               | as a collection of coordinate-free abstract vectors, as a
               | triple (x, y, z) of real numbers, or as an array X[i] of
               | three coordinates in a given basis. In this case I would
               | agree that X[0], X[1], X[2] is better than (x, y, z), the
               | order matters, and you can define the Jacobian is a 2D
               | array that represents a certain abstract derivative in a
               | given coordinate system. I would argue that the formalism
               | of Sussman and Wisdom (which they got from Spivak) is
               | totally adequate to this case, and perhaps even the best
               | possible.
               | 
               | The second case is the one of the Lagrangian that parent
               | mentioned, where L is a function of the triple (t, x, v).
               | You could pretend that (t, x, v) form a vector space, but
               | this definition won't get you far. I would regard (t, x,
               | v) = t * (1, 0, 0) + x * (0, 1, 0) + v * (0, 0, 1) as
               | meaningless because it is adding time, space, and
               | velocity. You cannot really do rotations or general
               | linear transformations in this space. You can define a
               | Jacobian matrix if you want, but now all entries in the
               | matrix have different physical units. In this case I
               | would say the fact that v is the third element of the
               | tuple is irrelevant, and that the tuple is better
               | regarded as a map from symbolic names "t", "x", and "v"
               | to real numbers. I would argue that the Spivak formalism
               | is inadequate in this case, and it seems that many
               | physicists on this thread think the same for essentially
               | the same reason.
               | 
               | This difference is kind of analogous to double X[3]; vs
               | struct { double t; double x; double v; }; From one point
               | of view they are the same, but in practice they have
               | totally different meanings.
        
             | kergonath wrote:
             | > FWIW, they start counting function arguments from 0, so
             | _2 is indeed the velocity.
             | 
             | Dammit yes, you're right! Well, it's not a bit less
             | confusing.
             | 
             | The most frustrating is that they have a point: we need to
             | be stricter about disambiguating functions and numbers, and
             | derivation really should be an operator.
             | 
             | But you don't need to go all the way to zero-indexing
             | (which is definitely not a thing in the fields I know) or
             | positional arguments. This is putting abstract notation
             | purity above practical concerns. It's not surprising they
             | like Scheme.
        
               | tobinfricke wrote:
               | > But you don't need to go all the way to zero-indexing
               | (which is definitely not a thing in the fields I know) or
               | positional arguments. This is putting abstract notation
               | purity above practical concerns.
               | 
               | Yes, it's definitely a perspective influenced strongly by
               | computer science.
               | 
               | > It's not surprising they like Scheme.
               | 
               | In fact one of the authors, Gerry Sussman, is one of the
               | original inventors of Scheme.
               | 
               | https://en.wikipedia.org/wiki/Gerald_Jay_Sussman
        
             | amluto wrote:
             | By that standard, if f is a function of x and y, then
             | writing f(1,2) is syntactically bad because the argument
             | slots don't have a meaningful order. One could surely
             | invent a valid mathematical formalism with exclusively
             | named argument slots, but this isn't how math is generally
             | done.
             | 
             | (I admit it might be a lot easier to avoid losing track of
             | which thing is a row and which is a column in a gnarly
             | linear algebra expression if all dimensions were explicitly
             | named, and this would come with a tradeoff of verbosity.
             | Also, the interpretation of a matrix as a linear function
             | from vectors to vectors would need some clarification as to
             | which dimension is input and which is output, so maybe it
             | would look a bit like Einstein notation with superscript
             | dimensions and subscript dimensions?)
        
           | brewmarche wrote:
           | As a mathematician I like the positional notation, but once
           | we assign meaning to the slots it gets weird, so I had the
           | same objection.
           | 
           | One could add some new notation to distinguish the element
           | _T_ from the slot _T_. For example let's write slots as _[T]_
           | (I'm not creative enough to come up with something good),
           | then we can talk about [?]_[T]F or [?]F/[?][T].
           | 
           | One can think of the [.] operator as mapping from "semantic
           | symbol" to slot number in a way.
        
             | cygx wrote:
             | Or use the convention from differential geometry, where the
             | letter denotes a coordinate on the function's domain.
        
               | codethief wrote:
               | Differential geometry is not exactly a great example of
               | notational clarity. :-)
        
         | nemoniac wrote:
         | A positional notation was introduced previously by De Bruijn
         | but presumably Sussman and Wisdom came up with theirs
         | independently since they don't cite him.
         | 
         | https://en.wikipedia.org/wiki/De_Bruijn_index
        
       | Tainnor wrote:
       | > So, until you are able to perform this "translation" from
       | precise to imprecise notation, I suggest you stick to the precise
       | notation, until all the fundamental concepts are clear, and only
       | then abuse notation.
       | 
       | I agree with this part. I think in teaching, the precise notation
       | should be taught first and everyone should understand it well.
       | But later on, it will make communication and even just doing
       | calculations easier if you can accept the imprecise notation, use
       | it and translate it into something clearer when needed. This is
       | particularly handy in e.g. differential equations where sloppy
       | notation makes certain manipulations a bit easier.
        
         | kzrdude wrote:
         | When starting multivariable calculus it might be a good place
         | to start with clarifying this, at the latest.
        
       | movpasd wrote:
       | I hope you will forgive me for this wall of text, but this is a
       | topic that is quite close to my heart and that I've gone back and
       | forth in many times before settling on my current perspective.
       | 
       | I appreciate that especially for mathematicians and programmers,
       | making a clean distinction between a function and its evaluation
       | is a key conceptual point, and Leibniz notation obscures this
       | fact. However, there are good reasons why physicists use Leibniz
       | notation, and this answer really glosses over that.
       | 
       | The reason is that the particularities of the mathematical
       | structures used to model a physical problem matter a lot less
       | than the relationships between the actual physical underlying
       | quantities. And there can be a lot of them. The answer evokes
       | thermodynamics, and I couldn't think of a better example. Are we
       | really to introduce a distinct symbol for _every_ possible
       | functional relation between _every_ state variable? If I have T =
       | f(P, V) and P = g(T, S), do I need to remember in which position
       | exactly each function has been ordered before I can write down
       | "how P varies with T when S is fixed"?
       | 
       | Leibniz notation, although formally tricksy, is just the best
       | tool for communicating the _intent_ of a physical relationship
       | without getting bogged down in the mathematically detail. The
       | purpose of an equation is to express that relationship to the
       | reader. Think if it like code -- is it so bad if my code does a
       | bit of magic behind the scenes to allow for a clearer reading,
       | even if the semantics aren't immediately obvious? Well,
       | ultimately, it depends on the situation, and a balance must be
       | reached. I don't believe that expressing everything the way TFA
       | suggests is striking the right balance.
       | 
       | Notational abuse happens all the time in physics, and this is
       | certainly not the most egregious example. Just compare it to the
       | path integral. It's easy to assume that this is because of a lack
       | of sophistication or rigour by physicists. (Certainly I did
       | throughout my physics education, being more mathematically or
       | pedantically inclined.) But it's a simplistic view.
       | 
       | Now, while I'll defend the usage of these sort of unrigorous
       | conventions even if they are strictly speaking meaningless
       | mathematically, what I won't defend is the slapdash approach that
       | is often used to _teach_ partial derivatives to physicists. Some
       | exposure to concepts like distinguishing real
       | variables/quantities from functions is needed, or, as TFA does
       | mention at the end, the student won't be able to unpack the
       | notational convenience into clear semantics, which can lead to
       | unclear reasoning. I used to share the views of the author for a
       | period when first introduced to Leibniz partial derivative
       | notation in my first thermodynamics course, and, probably like
       | them, found it to be totally incomprehensible symbol soup. But
       | for myself, I see now that it was mostly a failure of teaching
       | rather than a failure of the notation itself.
       | 
       | I'll add one last thought. There is a degree of "primitive
       | obsession" at work here, trying to fit everything into positional
       | functions and real numbers. I have thought that a formalism that
       | better reflects the structure of "physical quantity" (as opposed
       | to thinking of them as plain real numbers) may help bridge the
       | gap between rigour and conceptual convenience. The tools are
       | really already there. We need two key concepts: first, borrow
       | from programming the idea of keyword arguments (there is a book
       | which sadly I can't remember the name of which does as much to
       | formalize Einstein notation for tensors in a coordinate-free
       | way); second, to model quantities not as real numbers but as
       | differentiable homomorphisms from a state space (modeled as a
       | manifold in a coordinate-free way) to the reals. This is how
       | physicists already think about it, it needs only be formalised.
        
         | 082349872349872 wrote:
         | On HN, we _love_ walls of text. Thank you for yours!
         | 
         | Any chance you might be able to brainstorm an example or three
         | of what a well known equation would look like in that
         | formalism?
        
         | lupire wrote:
         | No mathematician has ever accused a physicist of being
         | rigorous.
        
       | amatic wrote:
       | > "what's so special about x ?" Does f(x) mean one function,
       | whereas f(y) means a completely different function?
       | 
       | This looks like the difference between parameters of a function
       | and arguments. In the definition, you have the parameter x, used
       | internaly and, when calling the function you use an argument -
       | located in the calling context. In python: def f(x): return 2*x
       | ## x is a parameter x = 3 y = f(x) # x in an argument
       | 
       | For partial derivatives, it may be ok to use 1 and 2 to show they
       | are the first and second parameter, but maybe they could also be
       | named by some convention, like x and y or alpha and beta or
       | whatever
        
         | tesdinger wrote:
         | Never heard of this distinction between parameter and argument,
         | to me they are homonymes. To me, argument or parameter refers
         | to a term in the function definition as well as a term in the
         | function call.
        
           | cygx wrote:
           | Cf https://en.wikipedia.org/wiki/Parameter_%28computer_progra
           | mm...
        
       | fiforpg wrote:
       | Such discussions show that teaching of calculus often tends to be
       | overly algebraic, for no good reason.
       | 
       | Clearly, Leibniz notation does not _intrinsically_ contain any
       | deep insights since at one point Leibniz himself was erroneously
       | induced by it to think that d(xy)= d(x)d(y), which is false.
       | Newton on the other hand thought in terms of simple geometric
       | concepts (areas), which make it crystal clear that d(xy) = x d(y)
       | + y d(x).
       | 
       | On the topic of history of early analysis I cannot recommend
       | enough this collection of anecdotes from Arnold:
       | 
       | https://archive.org/details/huygensbarrownew0000arno
        
         | Q6T46nT668w6i3m wrote:
         | Ultimately, algebra _is_ important and calculus is a useful
         | setting to practice algebraic manipulation. Nevertheless, the
         | trend in modern mathematics education in the United States is
         | increasingly towards a more balanced understanding (e.g.,
         | greater emphasis on geometric interpretations).
        
         | impossiblefork wrote:
         | But you do have 1/(dy/dx) = dx/dy and you can get the insight
         | deep if you follow on with actually using differentials
         | properly, as in the paper linked here in this very thread by
         | LudwigNagasena.
         | 
         | But then of course, you see that d^2 f/dx^2 is a bad expression
         | for the second derivative, and that you should actually use
         | differentials properly and write it as (d^2 f)/(dx)^2 - df/dx
         | (d^2 f)/(df)^2.
        
       | sirsinsalot wrote:
       | I'm currently reading "Calculus Reordered: A history of the big
       | ideas" by David M Bressoud, which really helped me contextualise
       | all the peculiarities of calculus.
       | 
       | It really does feel like a hodgepodge of poorly fitting parts
       | that could use some revision in terms of notation and teaching,
       | but I feel like that's part of the charm.
       | 
       | I like that it encodes so much history and culture "up front". It
       | reminds me of PHP. There is no way a good language designer would
       | create PHP intentionally but as ugly as it was, it was brilliant
       | in 1999. Index.php and you're done.
        
       | robinhouston wrote:
       | I don't like the accepted answer here, because it criticises
       | Leibniz notation without explaining what it means - and
       | apparently without actually _understanding_ it, since the author
       | several times writes words to the effect of "this is nonsense" in
       | reference to expressions that in fact make perfect sense when
       | interpreted correctly.
       | 
       | The salient issue that the author of that answer seems not to
       | have understood, which we here in the land of the Y Combinator
       | should have less trouble with, is the distinction between free
       | and bound variables.
       | 
       | In lambda calculus, variable binding is explicit and denoted by a
       | lambda. Leibniz notation binds variables in just the same way:
       | the operator (d/dx) binds the variable x in the expression to
       | which it is applied.
        
         | zero-sharp wrote:
         | >I don't like the accepted answer here, because it criticises
         | Leibniz notation without explaining what it means - and
         | apparently without actually _understanding_ it, since the
         | author several times writes words to the effect of "this is
         | nonsense" in reference to expressions that in fact make perfect
         | sense when interpreted correctly.
         | 
         | Did you look at the posting history at all? I think the poster
         | understands what it means.
        
         | lupire wrote:
         | The answer author rambled on without well structured
         | paragraphs, but the author seems to have a correct intuition
         | for it, since they wrote that "f(x)" and "df/dx" are not well-
         | formed function identifiers (free variables), but "(df/dx)(x)"
         | is OK (bound variables.
        
       | BlackFly wrote:
       | The choice of denominator letters are not irrelevant in Leibniz
       | notation. They are chosen in conjunction with parameterization in
       | order to suppress arguments to avoid being lengthy. Similar to
       | how Einstein summation convention is used to suppress summation
       | symbols. All notational conveniences lead to confusion in certain
       | scenarios.
       | 
       | Given a field W, you will want to talk about various derivatives
       | of the field. However, you might not be interested in the
       | derivative of the fields with respect to coordinate fields like
       | `\partial W / \partial x^i`, you might be interested in
       | derivatives of that field with respect to some other field like
       | `\partial W / \partial \lambda_i`. Then you end up introducing
       | all kinds of auxiliary notation for the functional
       | representations of the field. You end up with
       | `\tilde{W}(\lambda_i)` and `\bar{W}(I_i)` next to `W(x_i)`.
       | 
       | Or just consider changes of variable, one generally doesn't
       | distinguish the electric field `E` from cartesian, to
       | axisymmetric, to spherical to whatever other coordinate system
       | you dream up. Instead, the presence of the chosen coordinate
       | symbols denotes the coordinate system in use and you don't need
       | to distinguish the field from its functional representation. In
       | order to understand `\partial_2 E` you would need to understand
       | what coordinates I am working with while `\partial E / \partial
       | y` is a bit more self explanatory in classical electrodynamics.
       | Thermodynamics picks up confusion because of the constant changes
       | in variable when the variables aren't coordinates.
        
       | Buttons840 wrote:
       | I've learned calculus a few times in and out of school. I learned
       | it best from a home-schooling focused text book. The author
       | published a paper describing his notation [0]; see section 3
       | which is very readable.
       | 
       | The paper explains:
       | 
       | > Most calculus students glaze over the notation for higher
       | derivatives, and few, if any, books bother to give any reasons
       | behind what the notation means. It's important to go back and
       | consider why the notation is what it is, and what the pieces are
       | supposed to represent.
       | 
       | > In modern calculus, the derivative is always taken with respect
       | to some variable. However, this is not strictly required, as the
       | differential operation can be used in a context-free manner. The
       | processes of taking a differential and solving for a derivative
       | (i.e., some ratio of differentials) can be separated out into
       | logically separate operations.
       | 
       | > In such an operation, instead of doing d/dx (taking the
       | derivative with respect to the variable x), one would separate
       | out performing the differential and dividing by dx as separate
       | steps. Originally, in the Leibnizian conception of the
       | differential, one did not even bother solving for derivatives, as
       | they made little sense from the original geometric construction
       | of them.
       | 
       | > For a simple example, the differential of x^3 can be found
       | using a basic differential operator such that d(x^3) = 3x^2 dx.
       | The derivative is simply the differential divided by dx. This
       | would yield d(x^3)/dx = 3x^2.
       | 
       | Is this significantly different than what is normally taught in
       | schools? Using the notation described here is the first time it
       | has felt like a tool rather than a formality to me, and it's
       | quite different than the way I was thinking while taking calculus
       | in high school. I'm not really sure how unusual this notation is
       | though?
       | 
       | [0]: https://arxiv.org/pdf/1801.09553.pdf
        
       | cygx wrote:
       | Note that in context of differential geometry, the name in the
       | denominator is not associated with the function, but a coordinate
       | system on its domain:
       | 
       | Let M be a differential manifold, eg M = R2 and ph a chart, eg
       | cartesian coordinates ph: p -(x(p), y(p)) where x,y: M - R. Then,
       | [?]/[?]x denotes the holonomic vector field tangent to the
       | coordinate lines t - ph-1(x(p) + t, y(p)) through any p [?] M.
       | 
       | It is convenient to identify vectors and directional derivatives
       | (this is in fact one possible way to define tangent vectors on
       | manifolds), which for a function f: M - R yields
       | 
       | ([?]f/[?]x)(p) = [?]/[?]x|[?] f = lim_{h - 0} ( f(ph-1(x(p) + h,
       | y(p))) - f(p) ) / h
        
       | seanhunter wrote:
       | Firstly I think that answer is amazing and I learned a lot from
       | it even though I disagree with a lot of what they are saying.
       | Math stack exchange is really high-quality sometimes and I think
       | this is a great example.
       | 
       | For me the two notations are a lot like positional argument
       | ordering vs named function arguments in a language like python
       | which offers both. I personally prefer Legrange's notation most
       | of the time but think they both have their place. Legrange
       | notation emphasises the ordering of the arguments and makes their
       | naming going into the function irrelevant. This makes a lot of
       | sense to me in a lot of situations where you have some pure
       | abstract function with abstract arguments and makes it a lot
       | easier to reason about certain things (like the example given or
       | the chain rule which the author uses as an example where the
       | common Leibniz formulation literally only makes sense if you do
       | an explicit substitution in the function which is often not
       | really explained).
       | 
       | On the other hand Leibniz notation makes a lot of sense to me in
       | contexts like physics where the names of the function arguments
       | are really important. You aren't just picking your favourites as
       | the author claims. For a very simple example, if I say a =
       | \frac{d^2s}{dt^2}, every physicist knows a bunch. I am
       | calculating accelleration as the second derivative of
       | displacement with respect to time. "s" isn't just my favourite
       | letter today. So "named arguments" make a lot of sense here.
       | 
       | Secondly, Leibniz notation gives us the "derivative operator"[1],
       | which is often very useful. Say I'm trying to find some
       | derivative that involves a bunch of intermediate working out
       | steps. It's tremendously convenient to be able to say
       | "<something> times d by dx of <some other expression>" and come
       | back and differentiate "some other expression" in a later step.
       | In Lagrange notation I would need to let that second expression
       | be some named intermediate function so I have something to hang
       | my tick off, which is definitely a lot more of a pain.
       | 
       | [1] I'm not far enough along in my calculus journey to know
       | whether I'm saying this right so forgive me if my terminology is
       | incorrect - hopefully you get the intent.
        
       | bmacho wrote:
       | Not just Leibniz notation, but for example
       | https://en.wikipedia.org/wiki/Partial_derivative is total
       | bonkers, every single equation on it means the total opposite
       | than in the rest of the mathematics.
       | 
       | Wtf is
       | 
       | > the partial derivation of a function f(x,y,z...)
       | 
       | or deriving a function respect to a variable? Functions don't
       | have variables, named variables, that's Python, not math[0]. In
       | math expressions can have free variables, and function arguments
       | are indexed with numbers. You can derive x+y by x, or you can
       | derive f : (x,y) |-> x+y by its first variable, but you can't mix
       | them. That only leads to things as df(x,x)/dx and such
       | abominations.
       | 
       | Multivariable calculus people really should just adopt the
       | function notation of the rest of the mathematics fr.
       | 
       | [0] :
       | https://en.wikipedia.org/wiki/Function_(mathematics)#Definit...
        
         | tesdinger wrote:
         | > Functions don't have variables, named variables, that's
         | Python, not math[0].
         | 
         | No, Python named arguments are a good analogy for Leibnitz
         | notation.
        
           | jnwatson wrote:
           | The confusion is using the same namespace for argument slots
           | and variables. It might have been clearer if, for example,
           | Leibniz would have used Greek letters alpha and beta instead
           | of x and y.
        
         | bowsamic wrote:
         | The verb is "to differentiate", not "to derive". You
         | differentiate to find the derivative.
        
       | tlb wrote:
       | > "the choice of letters SHOULD NOT affect the meaning of a
       | mathematical statement"
       | 
       | I mean, that ship sailed a long time ago. You can't understand
       | any modern math or physics (or ML, or CS) paper without depending
       | on variable naming conventions. Attempts (like Sussman & Wisdom)
       | to have a properly lexically scoped notation end up being quite
       | verbose.
        
       | xamuel wrote:
       | One can make a very good argument that in elementary calculus, we
       | actually use what logicians would call "terms", but refer to them
       | as "functions". For example, if f is a unary function symbol and
       | x is a variable then f(x) is a term, different from f(y) if y is
       | a different variable. It's possible to develop everything quite
       | rigorously using this machinery and when the dust clears, you get
       | a rigorous version of what is actually done in practice in the
       | elementary calculus classroom. As an advantage, certain things
       | become much clearer, for instance, there's a very nice abstract
       | multivariable chain rule which I describe in this paper:
       | https://philpapers.org/archive/ALEFDV.pdf
        
       | tesdinger wrote:
       | What if your physics problem involves the same physical quantity
       | twice, like speeds and masses of two bodies? Then single letter
       | variable names are no longer unique nor meaningful.
       | 
       | f(v_1, m_1, v_2, m_2)
       | 
       | For the derivatives I would prefer writing
       | 
       | d_v_2 f
       | 
       | instead of
       | 
       | d_3 f
       | 
       | when counting arguments from 1
        
       | OscarCunningham wrote:
       | The way to think about Leibniz notation is that there's a
       | manifold M, and all the quantities f,g,x,y... are functions from
       | M to the reals. Then you can talk about the derivative of any of
       | these quantities with respect to any of the others, without
       | thinking of any of them as the arguments of any of the others.
        
       | tolmasky wrote:
       | Is there a good explanation of u substitution (or any other
       | integral stuff that makes use of the denominator) using non-
       | Liebnitz notation? Is it just that [?]1 is actually [?]/[?]1, and
       | thus you can begin using [?]1 the way you would have used [?]x?
        
       | captainmuon wrote:
       | Funnily, I disagree with almost every point in the most upvoted
       | answer. For me (as a physicist by training), the f' notation is a
       | shorthand, and df/dx is the more clear notation. Because
       | especially in physics, you often deal with functions that are
       | dependent on multiple variables. Do I want to differentiate wrt.
       | time or position? You can use "f dot" for the time derivative,
       | but in more complex cases you are out of luck. How can you
       | distinguish between f(x) and f(t) which are very different
       | functions? And what if the variables depend on each other? You
       | need a notation that distinguishes between treating "x" as a
       | variable, and "x" as something that is dependent on some other
       | variable.
       | 
       | The nice thing about Leibnitz calculus [1] is that you can do
       | things like reduce fractions with dx'es, you can flip things
       | around and calculate dx/df, the chain rule is not a rule that you
       | have to memorize but just an obvious expansion etc., and it
       | mostly just works. I don't recall seeing an explicit proof _why_
       | it works (except for some specific cases), or a list of exact
       | rules, but I 'm sure that exists and it would have been neat to
       | have seen that in my studies.
       | 
       | [1] calculus here in the sense of German Kalkul, a notational
       | system and a method of mechanically manipulating symbols, and not
       | neccessarily meaning "differential and integral calculation",
       | although "the" calculus is the prime example of "a calculus" of
       | course.
        
         | pinkmuffinere wrote:
         | Many of your objections are addressed in the stackexchange
         | post:
         | 
         | 1. "You often deal with functions that are dependent on
         | multiple variables. Do I want to differentiate wrt. time or
         | position?" -- the proposed solution is to put a subscript under
         | the function name, to clarify whether you're differentiating
         | wrt time, position, etc
         | 
         | 2. "How can you distinguish between f(x) and f(t) which are
         | very different functions?" -- the answer claims (and I agree)
         | that using f(x) and f(t) to represent different functions is
         | bad notation. If x and t are variables, surely f(some_variable)
         | == f(other_variable). If x and t are specified values, then
         | f(value1) may not equal f(value2), but f still _really really_
         | looks like the same function, just evaluated at different
         | points. Better is to use different function names, like 'f' and
         | 'g'.
         | 
         | 3. "what if the variables depend on each other? You need a
         | notation that distinguishes between treating "x" as a variable,
         | and "x" as something that is dependent on some other variable"
         | -- there is a proposed way to represent composition of
         | functions. I don't want to dive into latex editing on hn, but
         | you can see it in the post
         | 
         | 4. "The nice thing about Leibnitz calculus [1] is that you can
         | do things like reduce fractions with dx'es, you can flip things
         | around and calculate dx/df, the chain rule is not a rule that
         | you have to memorize but just an obvious expansion etc., and it
         | mostly just works" -- it does indeed work sometimes, but this
         | is not rigorous. When it works, it does so because you're using
         | it in a domain where it just happens to work. "Cancelling" dx's
         | is not reliable, and will sometimes lead to error. I'll admit I
         | find the chain rule mnemonic convenient though
        
       | amai wrote:
       | All notations are wrong. But some of them are useful.
        
       ___________________________________________________________________
       (page generated 2024-01-20 23:01 UTC)