My new approach to QM—an update, and a request (May 2019)

This post has reference to my earlier post of 30th March 2019, here [^]. Being busy mainly with learning Data Science, I didn’t subsequently find the time to systematically study the papers and the book which were suggested by the IIT Bombay professors back in March-end.


However, in the meanwhile, thinking about the whole issue independently (and on a part-time basis), I have come to work through a detailed scheme for calculating the wavefunctions for the case of a 1D helium atom.

In particular, the abstract case I have worked through is the following:

A single helium atom placed in a 1D domain of a finite length, and with either reflecting boundary conditions (i.e. infinite potential walls) at the two ends (i.e. a 1D box), or possibly also with periodic boundary conditions imposed at the two ends (i.e. an infinite 1D lattice of 1D helium atoms). The problem is to find the energy eigenstates for the system wavefunction, assuming that the electrons do interact with each other.

The electrons are spinless. However, note, I have now addressed the case of the interacting electrons too.


I have not performed the actual simulations, though they can be done “any time.”

Yet, before proceeding to write the code, I would like to show the scheme itself to some computational quantum chemist/physicist, and have a bit of a to-and-fro regarding how they usually handle it in the mainstream QM/QChem, and about the commonality and differences (even the very basic reasonableness or otherwise) of my proposed scheme.

I can even go further and say that I have now got stuck at this point.


I will also continue to remain stuck at this same point unless one of the following two things happens: (i) a quantum chemist having a good knowledge of the computer simulation methods, volunteers to review my scheme and offer suggestions, or (ii) I myself study and digest a couple of text-books (of 500+ pages) and a few relevant papers (including those suggested by the IIT Bombay professors).

The second alternative is not feasible right now, simply because I don’t have enough time at hand. I am now busy with learning data science, and must continue to do so, so that I can land a job ASAP. (It’s been more than a year that I have been out of a job.)


So, if you are knowledgeable about this topic (the abstract case I am dealing with above, viz., that of 1D helium atom with spinless but interacting electrons), and also want to help me, then I request you to please see if you can volunteer just a bit of your time.

If no one comes to help me, it could take a much longer period of time for me to work through it all purely on my own—anywhere from 6–8 months to a year, or as is easily possible, even much more time—may be a couple of years or so, too. … Remember, I will also be working in a very highly competitive area of data science too, during all this time.

On the other hand, to someone who has enough knowledge of this matter, it wouldn’t be very strenuous at all. He only has to review the scheme and offer comments, and generally remain available for help, that’s all.

(It would be quite like someone approaching me for some informal guidance on FEM simulation of some engineering case. Even if I might not have modeled some particular case myself in the past, say a case of some fluid-structure interaction, I still know that I could always act as a sounding board and offer some general help to such a guy. I also know that doing isn’t going to be very taxing on me, that it’s not going to take too much of my own time. The situation here is quite similar. The quantum chemist/physicist doesn’t have to exert himself too much. I am confident of this part.)

So, there. See if you can help me out yourself, or suggest someone suitable to me. Thanks in advance.


A song I like:
(Marathi) “vaaTa sampataa sampenaa…”
Lyrics: Devakinandan Saaraswat
Music: Dattaa Daavajekar
Singer: Jayawant Kulkarni

Further on QM, and on changing tracks over to Data Science

OK. As decided, I took a short trip to IIT Bombay, and saw a couple of professors of physics, for very brief face-to-face interactions on the 28th evening.

No chalk-work at the blackboard had to be done, because both of them were very busy—but also quick, really very quick, in getting to the meat of the matter.


As to the first professor I saw, I knew beforehand that he wouldn’t be very enthusiastic with any alternatives to anything in the mainstream QM.

He was already engrossed in a discussion with someone (who looked like a PhD student) when I knocked at the door of his cabin. The prof immediately mentioned that he has to finish (what looked like a few tons of) pending work items, before going away on a month-long trip just after a couple of days! But, hey, as I said (in my last post), directly barging into a professor’s cabin has always done wonders for me! So, despite his having some heavy^{heavy} schedule, he still motioned me to sit down for a quick and short interaction.

The three of us (the prof, his student, and me) then immediately had a very highly compressed discussion for some 15-odd minutes. As expected, the discussion turned out to be not only very rapid, and also quite uneven, because there were so many abrupt changes to the sub-topics and sub-issues, as they were being brought up and dispatched in quick succession. …

It was not an ideal time to introduce my new approach, and so, I didn’t. I did mention, however, that I was trying to develop some such a thing. The professor was of the opinion that if you come up with a way to do faster simulations, it would always be welcome, but if you are going to argue against the well-established laws, then… [he just shook head].

I told him that I was clear, very clear on one point. Suppose, I said, that I have a complex-valued field that is defined only over the physical 3D, and suppose further that my new approach (which involves such a 3D field) does work out. Then, suppose further that I get essentially the same results as the mainstream QM does.

In such a case, I said, I am going to say that here is a possibility of looking at it as a real physical mechanism underlying the QM theory.

And if people even then say that because it is in some way different from the established laws, therefore it is not to be taken seriously, then I am very clear that I am going to say: “You go your way and I will go mine.”

But of course, I further added, that I still don’t know yet how the calculations are done in the mainstream QM for the interacting electrons—that is, without invoking simplifying approximations (such as the fixed nucleus). I wanted to see how these calculations are done using the computational modeling approach (not the perturbation theory).

It was at this point that the professor really got the sense of what I was trying to get at. He then remarked that variational formulations are capable enough, and proceeded to outline some of their features. To my query as to what kind of an ansatz they use, and what kind of parameters are involved in inducing the variations, he mentioned Chebyshev polynomials and a few other things. The student mentioned the Slater determinants. Then the professor remarked that the particulars of the ansatz and the particulars of the variational techniques were not so crucial because all these techniques ultimately boil down to just diagonalizing a matrix. Somehow, I instinctively got the idea that he hasn’t been very much into numerical simulations himself, which turned out to be the case. In fact he immediately said so himself: “I don’t do wavefunctions. [Someone else from the same department] does it.” I decided to see this other professor the next day, because it was already evening (almost approaching 6 PM or so).

A few wonderful clarifications later, it was time for me to leave, and so I thanked the professor profusely for accommodating me. The poor fellow didn’t even have the time to notice my gratitude; he had already switched back to his interrupted discussion with the student.

But yes, the meeting was fruitful to me because the prof did get the “nerve” of the issue right, and in fact also gave me two very helpful papers to study, both of them being review articles. After coming home, I have now realized that while one of them is quite relevant to me, the other one is absolutely god-damn relevant!


Anyway, after coming out of the department on that evening, I was thinking of calling my friend to let him know that the purpose of the visit to the campus was over, and thus I was totally free. While thinking about calling him and walking through the parking lot, I just abruptly noticed a face that suddenly flashed something recognizable to me. It was this same second professor who “does wavefunctions!”

I had planned on seeing him the next day, but here he was, right in front me, walking towards his car in a leisurely mood. Translated, it meant: he was very much free of all his students, and so was available for a chat with me! Right now!! Of course, I had never had made any acquaintance with him in the past. I had only browsed through his home page once in the recent times, and so could immediately make out the face, that’s all. He was just about to open the door of his car when I approached him and introduced myself. There followed another intense bout of discussions, for another 10-odd minutes.

This second prof has done numerical simulations himself, and so, he was even faster in getting a sense of what kind of ideas I was toying with. Once again, I told him that I was trying for some new ideas but didn’t get any deeper into my approach, because I myself still don’t know whether my approach will produce the same results as the mainstream QM does or not. In any case, knowing the mainstream method of handling these things was crucial, I said.

I told him how, despite my extensive Internet searches, I had not found suitable material for doing calculations. He then said that he will give me the details about a book. I should study this book first, and if there are still some difficulties or some discussions to be had, then he would be available, but the discussion would then have to progress in reference to what is already given in that book. Neat idea, this one was, perfect by me. And turns out that the book he suggested was neat—absolutely perfectly relevant to my needs, background as well as preparation.


And with that ends this small story of this short visit to IIT Bombay. I went there with a purpose, and returned with one 50 page-long and very tightly written review paper, a second paper of some 20+ tightly written pages, and a reference to an entire PG-level book (about 500 pages). All of this material absolutely unknown to me despite my searches, and as it seems as of today, all of it being of utmost relevance to me, my new ideas.


But I have to get into Data Science first. Else I cannot survive. (I have been borrowing money to fend off the credit card minimum due amounts every month.)

So, I have decided to take a rest for today, and from tomorrow onwards, or may be a day later—i.e., starting from the “shubh muhurat” (auspicious time) of the April Fool’s day, I will begin my full-time pursuit of Data Science, with all that new material on QM only to be studied on a part-time basis. For today, however, I am just going to be doing a bit of a time-pass here and there. That’s how this post got written.

Take care, and wish you the same kind of luck as I had in spotting that second prof just like that in the parking lot. … If my approach works, then I know who to contact first with my results, for informal comments on them. … I wish you this same kind of a luck…

Work hard, and bye for now.


A song I like
(Marathi) “dhunda_ madhumati raat re, naath re…”
Music: Master Krishnarao
Singer: Lata Mangeshkar
Lyrics: G. D. Madgulkar

[A Marathi classic. Credits are listed in a purely random order. A version that seems official (released by Rajshri Marathi) is here: [^] . However, somehow, the first stanza is not complete in it.

As to the set shown in this (and all such) movies, right up to, say the movie “Bajirao-Mastani,” I have—and always had—an issue. The open wide spaces for the palaces they show in the movies are completely unrealistic, given the technology of those days (and the actual remains of the palaces that are easy to be recalled by anyone). The ancients (whether here in India or at any other place) simply didn’t have the kind of technology which is needed in order to build such hugely wide internal (covered) spaces. Neitehr the so-called “Roman arch” (invented millenia earlier in India, I gather), nor the use of the monolithic stones for girders could possibly be enough to generate such huge spans. Idiots. If they can’t get even simple calculations right, that’s only to be expected—from them. But if they can’t even recall the visual details of the spans actually seen for the old palaces, that is simply inexcusable. Absolutely thorough morons, these movie-makers must be.]

 

The self-field, and the objectivity of the classical electrostatic potentials: my analysis

This blog post continues from my last post, and has become overdue by now. I had promised to give my answers to the questions raised last time. Without attempting to explain too much, let me jot down the answers.


1. The rule of omitting the self-field:

This rule arises in electrostatic interactions basically because the Coulombic field has a spherical symmetry. The same rule would also work out in any field that has a spherical symmetry—not just the inverse-separation fields, and not necessarily only the singular potentials, though Coulombic potentials do show both these latter properties too.

It is helpful here to think in terms of not potentials but of forces.

Draw any arbitrary curve. Then, hold one end of the curve fixed at the origin, and sweep the curve through all possible angles around it, to get a 3D field. This 3D field has a spherical symmetry, too. Hence, gradients at the same radial distance on opposite sides of the origin are always equal and opposite.

Now you know that the negative gradient of potential gives you a force. Since for any spherical potential the gradients are equal and opposite, they cancel out. So, the forces cancel out to.

Realize here that in calculating the force exerted by a potential field on a point-particle (say an electron), the force cannot be calculated in reference to just one point. The very definition of the gradient refers to two different points in space, even if they be only infinitesimally separated apart. So, the proper procedure is to start with a small sphere centered around the given electron, calculate the gradients of the potential field at all points on the surface of this sphere, calculate the sum of the forces exerted on the domain contained inside the spherical surface by these forces, and then take the sphere to the limiting of vanishing size. The sum of the forces thus exerted is the net force acting on that point-particle.

In case of the Coulombic potentials, the forces thus calculated on the surface of any sphere (centered on that particle) turn out to be zero. This fact holds true for spheres of all radii. It is true that gradients (and forces) progressively increase as the size of the sphere decreases—in fact they increase without all bounds for singular potentials. However, the aforementioned cancellation holds true at any stage in the limiting process. Hence, it holds true for the entirety of the self-field.

In calculating motions of a given electron, what matters is not whether its self-field exists or not, but whether it exerts a net force on the same electron or not. The self-field does exist (at least in the sense explained later below) and in that sense, yes, it does keep exerting forces at all times, also on the same electron. However, due to the spherical symmetry, the net force that the field exerts on the same electron turns out to be zero.

In short:

Even if you were to include the self-field in the calculations, if the field is spherically symmetric, then the final net force experienced by the same electron would still have no part coming from its own self-field. Hence, to economize calculations without sacrificing exactitude in any way, we discard it out of considerations.The rule of omitting the self-field is just a matter of economizing calculations; it is not a fundamental law characterizing what field may be objectively said to exist. If the potential field due to other charges exists, then, in the same sense, the self-field too exists. It’s just that for the motions of the self field-generating electron, it is as good as non-existent.

However, the question of whether a potential field physically exists or not, turns out to be more subtle than what might be thought.


2. Conditions for the objective existence of electrostatic potentials:

It once again helps to think of forces first, and only then of potentials.

Consider two electrons in an otherwise empty spatial region of an isolated system. Suppose the first electron (e_1), is at a position x_1, and a second electron e_2 is at a position x_2. What Coulomb’s law now says is that the two electrons mutually exert equal and opposite forces on each other. The magnitudes of these forces are proportional to the inverse-square of the distance which separates the two. For the like charges, the forces is repulsive, and for unlike charges, it is attractive. The amount of the electrostatic forces thus exerted do not depend on mass; they depend only the amounts of the respective charges.

The potential energy of the system for this particular configuration is given by (i) arbitrarily assigning a zero potential to infinite separation between the two charges, and (ii) imagining as if both the charges have been brought from infinity to their respective current positions.

It is important to realize that the potential energy for a particular configuration of two electrons does not form a field. It is merely a single number.

However, it is possible to imagine that one of the charges (say e_1) is held fixed at a point, say at \vec{r}_1, and the other charge is successively taken, in any order, at every other point \vec{r}_2 in the infinite domain. A single number is thus generated for each pair of (\vec{r}_1, \vec{r}_2). Thus, we can obtain a mapping from the set of positions for the two charges, to a set of the potential energy numbers. This second set can be regarded as forming a field—in the 3D space.

However, notice that thus defined, the potential energy field is only a device of calculations. It necessarily refers to a second charge—the one which is imagined to be at one point in the domain at a time, with the procedure covering the entire domain. The energy field cannot be regarded as a property of the first charge alone.

Now, if the potential energy field U thus obtained is normalized by dividing it with the electric charge of the second charge, then we get the potential energy for a unit test-charge. Another name for the potential energy obtained when a unit test-charge is used for the second charge is: the electrostatic potential (denoted as V).

But still, in classical mechanics, the potential field also is only a device of calculations; it does not exist as a property of the first charge, because the potential energy itself does not exist as a property of that fixed charge alone. What does exist is the physical effect that there are those potential energy numbers for those specific configurations of the fixed charge and the test charge.

This is the reason why the potential energy field, and therefore the electrostatic potential of a single charge in an otherwise empty space does not exist. Mathematically, it is regarded as zero (though it could have been assigned any other arbitrary, constant value.)

Potentials arise only out of interaction of two charges. In classical mechanics, the charges are point-particles. Point-particles exist only at definite locations and nowhere else. Therefore, their interaction also must be seen as happening only at the locations where they do exist, and nowhere else.

If that is so, then in what sense can we at all say that potential energy (or electrostaic potential) field does physically exist?

Consider a single electron in an isolated system, again. Assume that its position remains fixed.

Suppose there were something else in the isolated system—-something—some object—every part of which undergoes an electrostatic interaction with the fixed (first) electron. If this second object were to be spread all over the domain, and if every part of it were able to interact with the fixed charge, then we could say that the potential energy field exists objectively—as an attribute of this second object. Ditto, for the electric potential field.

Note three crucially important points, now.

2.1. The second object is not the usual classical object.

You cannot regard the second (spread-out) object as a mere classical charge distribution. The reason is this.

If the second object were to be actually a classical object, then any given part of it would have to electrostatically interact with every other part of itself too. You couldn’t possibly say that a volume element in this second object interacts only with the “external” electron. But if the second object were also to be self-interacting, then what would come to exist would not be the simple inverse-distance potential field energy, in reference to that single “external” electron. The space would be filled with a very weird field. Admitting motion to the property of the local charge in the second object, every locally present charge would soon redistribute itself back “to” infinity (if it is negative), or it all would collapse into the origin (if the charge on the second object were to be positive, because the fixed electron’s field is singular). But if we allow no charge redistributions, and the second field were to be classical (i.e. capable of self-interacting), then the field of the second object would have to have singularities everywhere. Very weird. That’s why:

If you want to regard the potential field as objectively existing, you have to also posit (i.e. postulate) that the second object itself is not classical in nature.

Classical electrostatics, if it has to regard a potential field as objectively (i.e. physically) existing, must therefore come to postulate a non-classical background object!

2.2. Assuming you do posit such a (non-classical) second object (one which becomes “just” a background object), then what happens when you introduce a second electron into the system?

You would run into another seeming contradiction. You would find that this second electron has no job left to do, as far as interacting with the first (fixed) electron is concerned.

If the potential field exists objectively, then the second electron would have to just passively register the pre-existing potential in its vicinity (because it is the second object which is doing all the electrostatic interactions—all the mutual forcings—with the first electron). So, the second electron would do nothing of consequence with respect to the first electron. It would just become a receptacle for registering the force being exchanged by the background object in its local neighborhood.

But the seeming contradiction here is that as far as the first electron is concerned, it does feel the potential set up by the second electron! It may be seen to do so once again via the mediation of the background object.

Therefore, both electrons have to be simultaneously regarded as being active and passive with respect to each other. They are active as agents that establish their own potential fields, together with an interaction with the background object. But they also become passive in the sense that they are mere point-masses that only feel the potential field in the background object and experience forces (accelerations) accordingly.

The paradox is thus resolved by having each electron set up a field as a result of an interaction with the background object—but have no interaction with the other electron at all.

2.3. Note carefully what agency is assigned to what object.

The potential field has a singularity at the position of that charge which produces it. But the potential field itself is created either by the second charge (by imagining it to be present at various places), or by a non-classical background object (which, in a way, is nothing but an objectification of the potential field-calculation procedure).

Thus, there arises a duality of a kind—a double-agent nature, so to speak. The potential energy is calculated for the second charge (the one that is passive), in the sense that the potential energy is relevant for calculating the motion of the second charge. That’s because the self-field cancels out for all motions of the first charge. However,

 The potential energy is calculated for the second charge. But the field so calculated has been set up by the first (fixed) charge. Charges do not interact with each other; they interact only with the background object.

2.4. If the charges do not interact with each other, and if they interact only with the background object, then it is worth considering this question:

Can’t the charges be seen as mere conditions—points of singularities—in the background object?

Indeed, this seems to be the most reasonable approach to take. In other words,

All effects due to point charges can be regarded as field conditions within the background object. Thus, paradoxically enough, a non-classical distributed field comes to represent the classical, massive and charged point-particles themselves. (The mass becomes just a parameter of the interactions of singularities within a 3D field.) The charges (like electrons) do not exist as classical massive particles, not even in the classical electrostatics.


3. A partly analogous situation: The stress-strain fields:

If the above situation seems too paradoxical, it might be helpful to think of the stress-strain fields in solids.

Consider a horizontally lying thin plate of steel with two rigid rods welded to it at two different points. Suppose horizontal forces of mutually opposite directions are applied through the rods (either compressive or tensile). As you know, as a consequence, stress-strain fields get set up in the plate.

From an external viewpoint, the two rods are regarded as interacting with each other (exchanging forces with each other) via the medium of the plate. However, in reality, they are interacting only with the object that is the plate. The direct interaction, thus, is only between a rod and the plate. A rod is forced, it interacts with the plate, the plate sets up stress-strain field everywhere, the local stress-field near the second rod interacts with it, and the second rod registers a force—which balances out the force applied at its end. Conversely, the force applied at the second rod also can be seen as getting transmitted to the first rod via the stress-strain field in the plate material.

There is no contradiction in this description, because we attribute the stress-strain field to the plate itself, and always treat this stress-strain field as if it came into existence due to both the rods acting simultaneously.

In particular, we do not try to isolate a single-rod attribute out of the stress-strain field, the way we try to ascribe a potential to the first charge alone.

Come to think of it, if we have only one rod and if we apply force to it, no stress-strain field would result (i.e. neglecting inertia effects of the steel plate). Instead, the plate would simply move in the rigid body mode. Now, in solid mechanics, we never try to visualize a stress-strain field associated with a single rod alone.

It is a fallacy of our thinking that when it comes to electrostatics, we try to ascribe the potential to the first charge, and altogether neglect the abstract procedure of placing the test charge at various locations, or the postulate of positing a non-classical background object which carries that potential.

In the interest of completeness, it must be noted that the stress-strain fields are tensor fields (they are based on the gradients of vector fields), whereas the electrostatic force-field is a vector field (it is based on the gradient of the scalar potential field). A more relevant analogy for the electrostatic field, therefore might the forces exchanged by two point-vortices existing in an ideal fluid.


4. But why bother with it all?

The reason I went into all this discussion is because all these issues become important in the context of quantum mechanics. Even in quantum mechanics, when you have two charges that are interacting with each other, you do run into these same issues, because the Schrodinger equation does have a potential energy term in it. Consider the following situation.

If an electrostatic potential is regarded as being set up by a single charge (as is done by the proton in the nucleus of the hydrogen atom), but if it is also to be regarded as an actually existing and spread out entity (as a 3D field, the way Schrodinger’s equation assumes it to be), then a question arises: What is the role of the second charge (e.g., that of the electron in an hydrogen atom)? What happens when the second charge (the electron) is represented quantum mechanically? In particular:

What happens to the potential field if it represents the potential energy of the second charge, but the second charge itself is now being represented only via the complex-valued wavefunction?

And worse: What happens when there are two electrons, and both interacting with each other via electrostatic repulsions, and both are required to be represented quantum mechanically—as in the case of the electrons in an helium atom?

Can a charge be regarded as having a potential field as well as a wavefunction field? If so, what happens to the point-specific repulsions as are mandated by the Coulomb law? How precisely is the V(\vec{r}_1, \vec{r}_2) term to be interpreted?

I was thinking about these things when these issues occurred to me: the issue of the self-field, and the question of the physical vs. merely mathematical existence of the potential fields of two or more quantum-mechanically interacting charges.

Guess I am inching towards my full answers. Guess I have reached my answers, but I need to have them verified with some physicists.


5. The help I want:

As a part of my answer-finding exercises (to be finished by this month-end), I might be contacting a second set of physicists soon enough. The issue I want to learn from them is the following:

How exactly do they do computational modeling of the helium atom using the finite difference method (FDM), within the context of the standard (mainstream) quantum mechanics?

That is the question. Once I understand this part, I would be done with the development of my new approach to understanding QM.

I do have some ideas regarding the highlighted question. It’s just that I want to have these ideas confirmed from some physicists before (or along-side) implementing the FDM code. So, I might be approaching someone—possibly you!

Please note my question once again. I don’t want to do perturbation theory. I would also like to avoid the variational method.

Yes, I am very comfortable with the finite element method, which is basically based on the variational calculus. So, given a good (detailed enough) account of the variational method for the He atom, it should be possible to translate it into the FEM terms.

However, ideally, what I would like to do is to implement it as an FDM code.

So there.

Please suggest good references and / or people working on this topic, if you know any. Thanks in advance.


A song I like:

[… Here I thought that there was no song that Salil Chowdhury had composed and I had not listened to. (Well, at least when it comes to his Hindi songs). That’s what I had come to believe, and here trots along this one—and that too, as a part of a collection by someone! … The time-delay between my first listening to this song, and my liking it, was zero. (Or, it was a negative time-delay, if you refer to the instant that the first listening got over). … Also, one of those rare occasions when one is able to say that any linear ordering of the credits could only be random.]

(Hindi) “mada bhari yeh hawaayen”
Music: Salil Chowdhury
Lyrics: Gulzaar
Singer: Lata Mangeshkar

 

A preliminary document on my fresh new approach to QM

I have uploaded the outline document I had promised as an attachment to a blog post at iMechanica; see here [^]. I will copy-paste the text of that post below:


Hello, World!

Here is a document that jots down, in a brief, point-wise manner, the elements of my new approach to understanding quantum mechanics.

Please note that the writing is very much at a preliminary stage. It is very much a work in progress. However, it does jot down many essential ideas.

I am uploading the document at iMechanica just to have an externally verifiable time-stamp to it. Further versions will also be posted at this thread.

Comments are welcome. However, I may not be able to respond all of them immediately, because (i) I wish to immediately switch over to my studies of Data Science (ii) discussions on QM, especially on its foundations, tend to get meandering very fast.

Best,

–Ajit


It was only yesterday that I had said that preparing this document would take longer, may be a week or so. But soon later, I discarded the idea of revising the existing document (18 pages), and instead tried re-writing a separate summary for it completely afresh. Turns out that starting afresh all over again was a very good idea. Yesterday, I was at about 2 pages, and today, I finished jotting down all the ideas, at least in essence, right within 8 pages (+ 1 page of the reference section).


A song I like:

[It happens to be one of the songs which I first heard roughly around the same time that I got my own bicycle, and the times when I first came across the quantum mechanical riddles—which was during my X–XII standard days. I had liked it immediately—I mean the song. I don’t know why it doesn’t appear frequently enough on people’s lists of their favorites, but it has a very, very fresh feel to it. It anyway is a song of the teenage, of all those naive expectations and unspoiled optimism. Usha Mangeshkar, with her deft, light touch, somehow manages to bring that sense of life, that sense of freshness and confidence, fully alive in this song. The music and the lyrics are neat too… All in all, an absolutely wonderful song. … Perhaps also equally important, it is of great nostalgic value to me, too.

It used to be not easily available. So, let me give you the link to listening and buying it at Gaana.com; it’s song # 9 on this page [^] ]

(Marathi) “haa unaaD awakhaLa waaraa”
Singer: Usha Mangeshkar
Music: Dasharath Pujari
Lyrics: Ram More

 

A general update

Hmmm… Slightly more than 3 weeks since I posted anything here. A couple of things happened in the meanwhile.


1. Wrapping up of writing QM scripts:

First, I wrapped up my simulations of QM. I had reached a stage (just in my mind, neither on paper nor on laptop) whereby the next thing to implement would have been: the simplest simulations using my new approach. … Ummm… I am jumping ahead of myself.

OK, to go back a bit. The way things happened, I had just about begun pursuing Data Science when this QM thingie (conference) suddenly came up. So, I had to abandon Data Science as is, and turn my attention full-time to QM. I wrote the abstract, sent it to the conference, and started jotting down some of the early points for the eventual paper. Frequent consultations with text-books was a part of it, and so was searching for any relevant research papers. Then, I also began doing simulations of the simplest textbook cases, just to see if I can find any simpler route from the standard / mainstream QM to my re-telling of the facts covered by it.

Then, as things turned out, my abstract for the conference paper got rejected. However, now that I had gotten a tempo for writing and running the simulations, I decided to complete at least those standard UG textbook cases before wrapping up this entire activity, and going back to Data Science. My last post was written when I was in the middle of this activity.

While thus pursuing the standard cases of textbook QM (see my last post), I also browsed a lot, thought a lot, and eventually found that simulations involving my approach shouldn’t take as long as a year, not even several months (as I had mentioned in my last post). What happened here was that during the aforementioned activity, I ended up figuring out a far simpler way that should still illustrate certain key ideas from my new approach.

So, the situation, say in the first week of December, was the following: (i) Because the proposed paper had been rejected, there was no urgency for me to continue working on the QM front. (ii) I had anyway found a simpler way to simulate my new approach, and the revised estimates were that even while working part-time, I should be able to finish the whole thing (the simulations and the paper) over just a few months’ period, say next year. (iii) At the same time, studies of Data Science had anyway been kept on the back-burner.

That’s how (and why) I came to wrap up all my activity on the QM front, first thing.

I then took a little break. I then turned back to Data Science.


2. Back to Data Science:

As far as learning Data Science goes, I knew from my past experience that books bearing titles such as: “Learn Artificial Intelligence in 3 Days,” or “Mastering Machine Learning in 24 Hours,” if available, would have been very deeply satisfying, even gratifying.

However, to my dismay, I found that no such titles exist. … Or, may be, such books are there, but someone at Google is deliberately suppressing the links to them. Whatever be the case, forget becoming a Guru in 24 hours (or even in 3 days), I found that no one was promising me that I could master even just one ML library (say TensorFlow, or at least scikit-learn) over even a longer period, say about week’s time or so.

Sure there were certain other books—you know, books which had blurbs and reader-reviews which were remarkably similar to what goes with those mastering-within-24-hours sort of books. However, these books had less appealing titles. I browsed through a few of these, and found that there simply was no way out; I would have to begin with Michael Nielsen’s book [^].

Which I did.

Come to think of it, the first time I had begun with Nielsen’s book was way back, in 2016. At that time, I had not gone beyond the first couple of sections of the first chapter or so. I certainly had not come to even going through the first code snippet that Nielsen gives, let alone running it, or trying any variations on it.

This time around, though, I decided to stick it out with this book. I had to. … What was the end result?

Well, unlike me, I didn’t take any jumps while going through this particular book. I began reading it in the given sequence, and then found that I could even continue with the same (i.e., reading in sequence)! I also made some furious underlines, margin-notes, end-notes, and all that. (That’s right. I was not reading this book online; I had first taken a printout.) I also sketched a few data structures in the margins, notably for the code around the “w” matrices. (I tend to suspect every one else’s data structures except for mine!) I pursued this activity covering about everything in the book, except for the last chapter. It was at this point that finally my patience broke down. I went back to my usual self and began jumping back and forth over the topics.

As a result, I can’t say that I have finished the book. But yes, I think I’ve got a fairly idea of what’s there in it.

So there.


3. What books to read after Nielsen’s?

Of course, Nielsen’s book wasn’t the only thing that I pursued over the past couple of weeks. I also very rapidly browsed through some other books, checked out the tutorial sites on libraries like scikit-learn, TensorFlow, etc. I came to figure out two things:

As the first thing, I found that I was unnecessarily getting tense when I saw young people casually toss around some fearsome words like “recurrent learning,” “convolutional networks,” “sentiments analysis,” etc., all with such ease and confidence. Not just on the ‘net but also in real life. … I came to see them do that when I attended a function for the final-rounds presentations at Intel’s national-level competition (which was held in IISER Pune, a couple of months ago or so). Since I had seen those quoted words (like “recurrent learning”) only while browsing through text-books or Wiki articles, I had actually come to feel a bit nervous at that event. Ditto, when I went through the Quora answers. Young people everywhere in the world seemed to have put in a lot of hard-work in studying Data Science. “When am I going to catch up with them, if ever?” I had thought.

It was only now, after going through the documentation and tutorials for these code libraries (like scikit-learn) that I came to realize that the most likely scenario here was that most of these kids were simply talking after trying out a few ready-made tutorials or so. … Why, one of the prize-winning (or at least, short-listed) presentations at that Intel competition was about the particles-swam optimization, and during their talk, the students had even shown a neat visualization of how this algorithm works when there are many local minima. I had got impressed a lot by that presentation. … Now I gathered that it was just a ready-made animated GIF lifted from KDNuggets or some other, similar, site… (Well, as it turns out, it must have been from the Wiki! [^])

As the second thing, I realized that for those topics which Nielsen doesn’t cover, good introductory books are hard to find. (That was a bit of an understatement. My real feel here is that, we are lucky that Nielsen’s book is at all available in the first place!)

…If you have any tips on a good book after Nielsen’s then please drop me an email or a comment; thanks in advance.


4. A tentative plan:

Anyway, as of now, a good plan seems to be: (i) first, to complete the first pass through Nielsen’t book (which should take just about a couple of days or so), and then, to begin pursuing all of the following, more or less completely simultaneously: (ii) locating and going through the best introductory books / tutorials on other topics in ML (like PCA, k-means, etc); (iii) running tutorials of ML libraries (like scikit-learn and TensorFlow); (iv) typing out LaTeX notes for Nielsen’s book (which would be useful eventually for such things as hyper-parameter tuning), and running modified (i.e., simplified) versions of his code (which means, the second pass through his book); and finally (v) begin cultivating some pet project from Data Science for moonlighting over a long period of time (just the way I have maintained a long-running interest in the micro-level water-resources engineering).

As to the topic for the pet project, here are the contenders as of today. I have not finalized anything just as yet (and am likely not to do so for quite some time), but the following seem to be attractive: (a) Predicting rainfall in India (though getting granular enough data is going to be a challenge), (b) Predicting earth-quakes (locations and/or intensities), (c) Identifying the Indian classical “raaga” of popular songs, etc. … I also have some other ideas but these are more in the nature of professional interests (especially, for application in engineering industries). … Once again, if you feel there is some neat idea that could be adopted for the pet project, then sure point it out to me. …


…Anyway, that’s about it! Time to sign off. Will come back next year—or if some code / notes get written before that, then even earlier, but no definite promises.

So, until then, happy Christmas, and happy new year!…


A song I like:

(Marathi) “mee maaze mohita…”
Lyrics: Sant Dnyaaneshwar
Music and Singer: Kishori Amonkar


[One editing pass is still due; should be effected within a day or two. Done on 2018.12.18 13:41 hrs IST.]

Python scripts for simulating QM, part 0: A general update

My proposed paper on my new approach to QM was not accepted at the international conference where I had sent my abstract. (For context, see the post before the last, here [^] ).

“Thank God,” that’s what I actually felt when I received this piece of news, “I can now immediately proceed to procrastinate on writing the full-length paper, and also, simultaneously, un-procrastinate on writing some programs in Python.”

So far, I have written several small and simple code-snippets. All of these were for the usual (text-book) cases; all in only 1D. Here in this post, I will mention specifically which ones…


Time-independent Schrodinger equation (TISE):

Here, I’ve implemented a couple of scripts, one for finding the eigen-vectors and -values for a particle in a box (with both zero and arbitrarily specified potentials) and another one for the quantum simple harmonic oscillator.

These were written not with the shooting method (which is the method used in the article by Rhett Allain for the Wired magazine [^]) but with the matrix method. … Yes, I have gone past the stage of writing all the numerical analysis algorithm in original, all by myself. These days, I directly use Python libraries wherever available, e.g., NumPy’s LinAlg methods. That’s why, I preferred the matrix method. … My code was not written from scratch; it was based on Cooper’s code “qp_se_matrix”, here [PDF ^]).


Time-dependent Schrodinger equation (TDSE):

Here, I tried out a couple of scripts.

The first one was more or less a straightforward porting of Ian Cooper’s program “se_fdtd” [PDF ^] from the original MatLab to Python. The second one was James Nagel’s Python program (written in 2007 (!) and hosted as a SciPy CookBook tutorial, here [^]). Both follow essentially the same scheme.

Initially, I found this scheme to be a bit odd to follow. Here is what it does.

It starts out by replacing the complex-valued Schrodinger equation with a pair of real-valued (time-dependent) equations. That was perfectly OK by me. It was their discretization which I found to be a bit peculiar. The discretization scheme here is second-order in both space and time, and yet it involves explicit time-stepping. That’s peculiar, so let me write a detailed note below (in part, for my own reference later on).

Also note: Though both Cooper and Nagel implement essentially the same method, Nagel’s program is written in Python, and so, it is easier to discuss (because the array-indexing is 0-based). For this reason, I might make a direct reference only to Nagel’s program even though it is to be understood that the same scheme is found implemented also by Cooper.


A note on the method implemented by Nagel (and also by Cooper):

What happens here is that like the usual Crank-Nicolson (CN) algorithm for the diffusion equation, this scheme too puts the half-integer time-steps to use (so as to have a second-order approximation for the first-order derivative, that of time). However, in the present scheme, the half-integer time-steps turn out to be not entirely fictitious (the way they are, in the usual CN method for the single real-valued diffusion equation). Instead, all of the half-integer instants are fully real here in the sense that they do enter the final discretized equations for the time-stepping.

The way that comes to happen is this: There are two real-valued equations to solve here, coupled to each other—one each for the real and imaginary parts. Since both the equations have to be solved at each time-step, what this method does is to take advantage of that already existing splitting of the time-step, and implements a scheme that is staggered in time. (Note, this scheme is not staggered in space, as in the usual CFD codes; it is staggered only in time.) Thus, since it is staggered and explicit, even the finite-difference quantities that are defined only at the half-integer time-steps, also get directly involved in the calculations. How precisely does that happen?

The scheme defines, allocates memory storage for, and computationally evaluates the equation for the real part, but this computation occurs only at the full-integer instants (n = 0, 1, 2, \dots). Similarly, this scheme also defines, allocates memory for, and computationally evaluates the equation for the imaginary part; however, this computation occurs only at the half-integer instants (n = 1/2, 1+1/2, 2+1/2, \dots). The particulars are as follows:

The initial condition (IC) being specified is, in general, complex-valued. The real part of this IC is set into a space-wide array defined for the instant n; here, n = 0. Then, the imaginary part of the same IC is set into a separate array which is defined nominally for a different instant: n+1/2. Thus, even if both parts of the IC are specified at t = 0, the numerical procedure treats the imaginary part as if it was set into the system only at the instant n = 1/2.

Given this initial set-up, the actual time-evolution proceeds as follows:

  • The real-part already available at n is used in evaluating the “future” imaginary part—the one at n+1/2
  • The imaginary part thus found at n+1/2 is used, in turn, for evaluating the “future” real part—the one at n+1.

At this point that you are allowed to say: lather, wash, repeat… Figure out exactly how. In particular, notice how the simulation must proceed in integer number of pairs of computational steps; how the imaginary part is only nominally (i.e. only computationally) distant in time from its corresponding real part.

Thus, overall, the discretization of the space part is pretty straight-forward here: the second-order derivative (the Laplacian) is replaced by the usual second-order finite difference approximation. However, for the time-part, what this scheme does is both similar to, and different from, the usual Crank-Nicolson scheme.

Like the CN scheme, the present scheme also uses the half-integer time-levels, and thus manages to become a second-order scheme for the time-axis too (not just space), even if the actual time interval for each time-step remains, exactly as in the CN, only \Delta t, not 2\Delta t.

However, unlike the CN scheme, this scheme still remains explicit. That’s right. No matrix equation is being solved at any time-step. You just zip through the update equations.

Naturally, the zipping through comes with a “cost”: The very scheme itself comes equipped with a stability criterion; it is not unconditionally stable (the way CN is). In fact, the stability criterion now refers to half of the time-interval, not full, and thus, it is a bit even more restrictive as to how big the time-step (\Delta t) can be given a certain granularity of the space-discretization (\Delta x). … I don’t know, but guess that this is how they handle the first-order time derivatives in the FDTD method (finite difference time domain). May be the physics of their problems itself is such that they can get away with coarser grids without being physically too inaccurate, who knows…


Other aspects of the codes by Nagel and Cooper:

For the initial condition, both Cooper and Nagel begin with a “pulse” of a cosine function that is modulated to have the envelop of the Gaussian. In both their codes, the pulse is placed in the middle, and they both terminate the simulation when it reaches an end of the finite domain. I didn’t like this aspect of an arbitrary termination of the simulation.

However, I am still learning the ropes for numerically handling the complex-valued Schrodinger equation. In any case, I am not sure if I’ve got good enough a handle on the FDTD-like aspects of it. In particular, as of now, I am left wondering:

What if I have a second-order scheme for the first-order derivative of time, but if it comes with only fictitious half-integer time-steps (the way it does, in the usual Crank-Nicolson method for the real-valued diffusion equation)? In other words: What if I continue to have a second-order scheme for time, and yet, my scheme does not use leap-frogging? In still other words: What if I define both the real and imaginary parts at the same integer time-steps n = 0, 1, 2, 3, \dots so that, in both cases, their values at the instant n are directly fed into both their values at n+1?

In a way, this scheme seems simpler, in that no leap-frogging is involved. However, notice that it would also be an implicit scheme. I would have to solve two matrix-equations at each time-step. But then, I could perhaps get away with a larger time-step than what Nagel or Cooper use. What do you think? Is checker-board patterning (the main reason why we at all use staggered grids in CFD) an issue here—in time evolution? But isn’t the unconditional stability too good to leave aside without even trying? And isn’t the time-axis just one-way (unlike the space-axis that has BCs at both ends)? … I don’t know…


PBCs and ABCs:

Even as I was (and am) still grappling with the above-mentioned issue, I also wanted to make some immediate progress on the front of not having to terminate the simulation (once the pulse reached one of the ends of the domain).

So, instead of working right from the beginning with a (literally) complex Schrodinger equation, I decided to first model the simple (real-valued) diffusion equation, and to implement the PBCs (periodic boundary conditions) for it. I did.

My code seems to work, because the integral of the dependent variable (i.e., the total quantity of the diffusing quantity present in the entire domain—one with the topology of a ring) does seem to stay constant—as is promised by the Crank-Nicolson scheme. The integral stays “numerically the same” (within a small tolerance) even if obviously, there are now fluxes at both the ends. (An initial condition of a symmetrical saw-tooth profile defined between y = 0.0 and y = 1.0, does come to asymptotically approach the horizontal straight-line at y = 0.5. That is what happens at run-time, so obviously, the scheme seems to handle the fluxes right.)

Anyway, I don’t always write everything from the scratch; I am a great believer in lifting codes already written by others (with attribution, of course :)). Thus, while thus searching on the ‘net for some already existing resources on numerically modeling the Schrodinger equation (preferably with code!), I also ran into some papers on the simulation of SE using ABCs (i.e., the absorbing boundary conditions). I was not sure, however, if I should implement the ABCs immediately…

As of today, I think that I am going to try and graduate from the transient diffusion equation (with the CN scheme and PBCs), to a trial of the implicit TDSE without leap-frogging, as outlined above. The only question is whether I should throw in the PBCs to go with that or the ABCs. Or, may be, neither, and just keep pinning the  \Psi values for the end- and ghost-nodes down to 0, thereby effectively putting the entire simulation inside an infinite box?

At this point of time, I am tempted to try out the last. Thus, I think that I would rather first explore the staggering vs. non-staggering issue for a pulse in an infinite box, and understand it better, before proceeding to implement either the PBCs or the ABCs. Of course, I still have to think more about it… But hey, as I said, I am now in a mood of implementing, not of contemplating.


Why not upload the programs right away?

BTW, all these programs (TISE with matrix method, TDSE on the lines of Nagel/Cooper’s codes, transient DE with PBCs, etc.) are still in a fluid state, and so, I am not going to post them immediately here (though over a period of time, I sure would).

The reason for not posting the code runs something like this: Sometimes, I use the Python range objects for indexing. (I saw this goodie in Nagel’s code.) At other times, I don’t. But even when I don’t use the range objects, I anyway am tempted to revise the code so as to have them (for a better run-time efficiency).

Similarly, for the CN method, when it comes to solving the matrix equation at each time-step, I am still not using the TDMA (the Thomas algorithm) or even just sparse matrices. Instead, right now, I am allocating the entire N \times N sized matrices, and am directly using NumPy’s LinAlg’s solve() function on these biggies. No, the computational load doesn’t show up; after all, I anyway have to use a 0.1 second pause in between the rendering passes, and the biggest matrices I tried were only 1001 \times 1001 in size. (Remember, this is just a 1D simulation.) Even then, I am tempted a bit to improve the efficiency. For these and similar reasons, some or the other tweaking is still going on in all the programs. That’s why, I won’t be uploading them right away.


Anything else about my new approach, like delivering a seminar or so? Any news from the Indian physicists?

I had already contacted a couple of physics professors from India, both from Pune: one, about 1.5 years ago, and another, within the last 6 months. Both these times, I offered to become a co-guide for some computational physics projects to be done by their PG/UG students or so. Both times (what else?) there was absolutely no reply to my emails. … If they were to respond, we could have together progressed further on simulating my approach. … I have always been “open” about it.

The above-mentioned experience is precisely similar to how there have been no replies when I wrote to some other professors of physics, i.e., when I offered to conduct a seminar (covering my new approach) in their departments. Particularly, from the young IISER Pune professor whom I had written. … Oh yes, BTW, there has been one more physicist who I contacted recently for a seminar (within the last month). Once again, there has been no reply. (This professor is known to enjoy hospitality abroad as an Indian, and also use my taxpayer’s money for research while in India.)

No, the issue is not whether the emails I write using my Yahoo! account go into their span folder—or something like that. That would be too innocuous a cause, and too easy to deal with—every one has a mobile-phone these days. But I know these (Indian) physicists. Their behaviour remains exactly the same even if I write my emails using a respectable academic email ID (my employers’, complete with a .edu domain). This was my experience in 2016, and it repeated again in 2017.

The bottom-line is this: If you are an engineer and if you write to these Indian physicists, there is almost a guarantee that your emails will go into a black-hole. They will not reply to you even if you yourself have a PhD, and are a Full Professor of engineering (even if only on an ad-hoc basis), and have studied and worked abroad, and even if your blog is followed internationally. So long as you are engineer, and mention QM, the Indian physicists simply shut themselves off.

However, there is a trick to get them to reply you. Their behavior does temporarily change when you put some impressive guy in your cc-field (e.g., some professor friend of yours from some IIT). In this case, they sometimes do reply your first email. However, soon after that initial shaking of hands, they somehow go back to their true core; they shut themselves off.

And this is what invariably happens with all of them—no matter what other Indian bloggers might have led you to believe.

There must be some systemic reasons for such behavior, you say? Here, I will offer a couple of relevant observations.

Systemically speaking, Indian physicists, taken as a group (and leaving any possible rarest of the rare exceptions aside), all fall into one band: (i) The first commonality is that they all are government employees. (ii) The second commonality they all tend to be leftists (or, heavily leftists). (iii) The third commonality is they (by and large) share is that they had lower (or far lower) competitive scores in the entrance examinations at the gateway points like XII, GATE/JAM, etc.

The first factor typically means that they know that no one is going to ask them why they didn’t reply (even to people like with my background). The second factor typically means that they don’t want to give you any mileage, not even just a plain academic respect, if you are not already one of “them”. The third factor typically means that they simply don’t have the very intellectual means to understand or judge anything you say if it is original—i.e., if it is not based on some work of someone from abroad. In plain words: they are incompetent. (That in part is the reason whenever I run into a competent Indian physicist, it is both a surprise and a pleasure. To drop a couple of names: Prof. Kanhere (now retired) from UoP (now SPPU), and Prof. Waghmare of JNCASR. … But leaving aside this minuscule minority, and coming to the rest of the herd: the less said, the better.)

In short, Indian physicists all fall into a band. And they all are very classical—no tunneling is possible. Not with these Indian physicists. (The trends, I guess, are similar all over the world. Yet, I definitely can say that Indians are worse, far worse, than people from the advanced, Western, countries.)

Anyway, as far as the path through the simulations goes, since no help is going to come from these government servants (regarded as physicists by foreigners), I now realized that I have to get going about it—simulations for my new approach—entirely on my own. If necessary, from the basic of the basics. … And that’s how I got going with these programs.


Are these programs going to provide a peek into my new approach?

No, none of these programs I talked about in this post is going to be very directly helpful for simulations related to my new approach. The programs I wrote thus far are all very, very standard (simplest UG text-book level) stuff. If resolving QM riddles were that easy, any number of people would have done it already.

… So, the programs I wrote over the last couple of weeks are nothing but just a beginning. I have to cover a lot of distance. It may take months, perhaps even a year or so. But I intend to keep working at it. At least in an off and on manner. I have no choice.

And, at least currently, I am going about it at a fairly good speed.

For the same reason, expect no further blogging for another 2–3 weeks or so.


But one thing is for certain. As soon as my paper on my new approach (to be written after running the simulations) gets written, I am going to quit QM. The field does not hold any further interest to me.

Coming to you: If you still wish to know more about my new approach before the paper gets written, then you convince these Indian professors of physics to arrange for my seminar. Or, else…

… What else? Simple! You. Just. Wait.

[Or see me in person if you would be visiting India. As I said, I have always been “open” from my side, and I continue to remain so.]


A song I like:
(Hindi) “bheegee bheegee fizaa…”
Music: Hemant Kumar
Singer: Asha Bhosale
Lyrics: Kaifi Aazmi


History:
Originally published: 2018.11.26 18:12 IST
Extension and revision: 2018.11.27 19.29 IST