A beautiful study was published the other day, and it received a lot of press coverage, so I get a lot of questions.

This study shows how, in principle, we could reconstruct the image of an exoplanet using the Solar Gravitational Lens (SGL) using just a single snapshot of the Einstein ring around the Sun.

The problem is, we cannot. As they say, the devil is in the details.

Here is a general statement about any conventional optical system that does not involve more exotic, nonlinear optics: whatever the system does, ultimately it maps light from picture elements, pixels, in the source plane, into pixels in the image plane.

Let me explain what this means in principle, through an extreme example. Suppose someone tells you that there is a distant planet in another galaxy, and you are allowed to ignore any contaminating sources of light. You are allowed to forget about the particle nature of light. You are allowed to forget the physical limitations of your cell phone’s camera, such as its CMOS sensor dynamic range or readout noise. You hold up your cell phone and take a snapshot. It doesn’t even matter if the camera is not well focused or if there is motion blur, so long as you have precise knowledge of how it is focused and how it moves. The map is still a linear map. So if your cellphone camera has 40 megapixels, a simple mathematical operation, inverting the so-called convolution matrix, lets you reconstruct the source in all its exquisite detail. All you need to know is a precise mathematical description, the so-called “point spread function” (PSF) of the camera (including any defocusing and motion blur). Beyond that, it just amounts to inverting a matrix, or equivalently, solving a linear system of equations. In other words, standard fare for anyone studying numerical computational methods, and easily solvable even at extreme high resolutions using appropriate computational resources. (A high-end GPU in your desktop computer is ideal for such calculations.)

Why can’t we do this in practice? Why do we worry about things like the diffraction limit of our camera or telescope?

The answer, ultimately, is noise. The random, unpredictable, or unmodelable element.

Noise comes from many sources. It can include so-called quantization noise because our camera sensor digitizes the light intensity using a finite number of bits. It can include systematic noises due to many reasons, such as differently calibrated sensor pixels or even approximations used in the mathematical description of the PSF. It can include unavoidable, random, “stochastic” noise that arises because light arrives as discrete packets of energy in the form of photons, not as a continuous wave.

When we invert the convolution matrix in the presence of all these noise sources, the noise gets amplified far more than the signal. In the end, the reconstructed, “deconvolved” image becomes useless unless we had an exceptionally high signal-to-noise ratio, or SNR, to begin with.

The authors of this beautiful study knew this. They even state it in their paper. They mention values such as 4,000, even 200,000 for the SNR.

And then there is reality. The Einstein ring does not appear in black, empty space. It appears on top of the bright solar corona. And even if we subtract the corona, we cannot eliminate the stochastic shot noise due to photons from the corona by any means other than collecting data for a longer time.

Let me show a plot from a paper that is work-in-progress, with the actual SNR that we can expect on pixels in a cross-sectional view of the Einstein ring that appears around the Sun:

Just look at the vertical axis. See those values there? That’s our realistic SNR, when the Einstein ring is imaged through the solar corona, using a 1-meter telescope with a 10 meter focal distance, using an image sensor pixel size of a square micron. These choices are consistent with just a tad under 5000 pixels falling within the usable area of the Einstein ring, which can be used to reconstruct, in principle, a roughly 64 by 64 pixel image of the source. As this plot shows, a typical value for the SNR would be 0.01 using 1 second of light collecting time (integration time).

What does that mean? Well, for starters it means that to collect enough light to get an SNR of 4,000, assuming everything else is absolutely, flawlessly perfect, there is no motion blur, indeed no motion at all, no sources of contamination other than the solar corona, no quantization noise, no limitations on the sensor, achieving an SNR of 4,000 would require roughly 160 billion seconds of integration time. That is roughly 5,000 years.

And that is why we are not seriously contemplating image reconstruction from a single snapshot of the Einstein ring.

Came across a question tonight: How do you construct the matrix

$$\begin{pmatrix}1&2&…&n\\n&1&…&n-1\\…\\2&3&…&1\end{pmatrix}?$$

Here’s a bit of Maxima code to make it happen:

(%i1) M(n):=apply(matrix,makelist(makelist(mod(x-k+n,n)+1,x,0,n-1),k,0,n-1))\$
(%i2) M(5);
[ 1  2  3  4  5 ]
[               ]
[ 5  1  2  3  4 ]
[               ]
(%o2)                          [ 4  5  1  2  3 ]
[               ]
[ 3  4  5  1  2 ]
[               ]
[ 2  3  4  5  1 ]


I also ended up wondering about the determinants of these matrices:

(%i3) makelist(determinant(M(i)),i,1,10);
(%o3) [1, - 3, 18, - 160, 1875, - 27216, 470596, - 9437184, 215233605, - 5500000000]


I became curious if this sequence of numbers was known, and indeed that is the case. It is sequence number A052182 in the Encyclopedia of Integer Sequences: “Determinant of n X n matrix whose rows are cyclic permutations of 1..n.” D’oh.

As it turns out, this sequence also has another name: it’s the Smarandache cyclic determinant sequence. In closed form, it is given by

$${\rm SCDNS}(n)=(-1)^{n+1}\frac{n+1}{2}n^{n-1}.$$

(%i4) SCDNS(n):=(-1)^(n+1)*(n+1)/2*n^(n-1);
n + 1
(- 1)      (n + 1)   n - 1
(%o4)               SCDNS(n) := (------------------) n
2
(%i5) makelist(determinant(SCDNS(i)),i,1,10);
(%o5) [1, - 3, 18, - 160, 1875, - 27216, 470596, - 9437184, 215233605, - 5500000000]


Surprisingly, apart from the alternating sign it shares the first several values with another sequence, A212599. But then they deviate.

Don’t let anyone tell you that math is not fun.

Move over, general relativity. Solar gravitational lens? Meh. Particle physics and the standard model? Child’s play.

Today, I had to replace the wax ring of a leaky toilet.

Thanks to this YouTube video for some useful advice, helping me avoid some trivial mistakes.

Acting as “release manager” for Maxima, the open-source computer algebra system, I am happy to announce that just minutes ago, I released version 5.46.

I am an avid Maxima user myself; I’ve used Maxima’s tensor algebra packages, in particular, extensively in the context of general relativity and modified gravity. I believe Maxima’s tensor algebra capabilities remain top notch, perhaps even unsurpassed. (What other CAS can derive Einstein’s field equations from the Einstein-Hilbert Lagrangian?)

The Maxima system has more than half a century of history: its roots go back to the 1960s, when I was still in kindergarten. I have been contributing to the project for nearly 20 years myself.

Anyhow, Maxima 5.46, here we go! I hope I made no blunders while preparing this release, but if I did, I’m sure I’ll hear about it shortly.

Between a war launched by a mad dictator, an occupation by “freedom convoy” mad truckers, and other mad shenanigans, it’s been a while since I last blogged about pure physics.

Especially about a topic close to my heart, modified gravity. John Moffat’s modified gravity theory MOG, in particular.

Back in 2020, a paper was published arguing that MOG may not be able to account for the dynamics certain galaxies. The author studied a large, low surface brightness galaxy, Antlia II, which has very little mass, and concluded that the only way to fit MOG to this galaxy’s dynamics is by assuming outlandish values not only for the MOG theory’s parameters but also the parameter that characterizes the mass distribution in the galaxy itself.

In fact, I would argue that any galaxy this light that does not follow Newtonian physics is bad news for modified theories of gravity; these theories predict deviations from Newtonian physics for large, heavy galaxies, but a galaxy this light is comparable in size to large globular clusters (which definitely behave the Newtonian way) so why would they be subject to different rules?

But then… For many years now, John and I (maybe I should only speak for myself in my blog, but I think John would concur) have been cautiously, tentatively raising the possibility that these faint satellite galaxies are really not very good test subjects at all. They do not look like relaxed, “virialized” mechanical systems; rather, they appear tidally disrupted by the host galaxy the vicinity of which they inhabit.

We have heard arguments that this cannot be the case, that these satellites show no signs of recent interaction. And in any case, it is never a good idea for a theorist to question the data. We are not entitled to “alternative facts”.

But then, here’s a paper from just a few months ago with a very respectable list of authors on its front page, presenting new observations of two faint galaxies, one being Antlia II: “Our main result is a clear detection of a velocity gradient in Ant2 that strongly suggests it has recently experienced substantial tidal disruption.”

I find this result very encouraging. It is consistent with the basic behavior of the MOG theory: Systems that are too light to show effects due to modified gravity exhibit strictly Newtonian behavior. This distinguishes MOG from the popular MOND paradigm, which needs the somewhat ad hoc “external field effect” to account for the dynamics of diffuse objects that show no presence of dark matter or modified gravity.

The other day, someone sent me a link to a recent paper on arxiv.org:

Be careful. You never know when a rogue penguin might be targeting you.

This is the last moment until well into the 22nd century that the current time and date in UTC can be expressed using only two digits.

I can only hope that this date will not be memorable for another reason, you know, something like the start of WW3?

Recently, I came across an interesting article by a Jonathan Jarry from McGill University, suggesting that the much heralded Dunning-Kruger effect is not real, but a data analysis artifact.

Here is the famous Dunning-Kruger graph:

The usual interpretation is that those in the bottom quartile significantly overestimated their ability. This is the famous Dunning-Kruger effect.

But, Jarry says, a completely random model yields a very similar-looking graph:

and thus concludes that the Dunning-Kruger effect may not be real after all.

But wait. When we compare the two graphs, there are qualitative similarities but also striking differences. Notice how, in the second graph, the two curves intersect each other at roughly the halfway point. That makes perfectly good sense: If the model is that people in all four quartiles fail to assess their abilities accurately at the same rate, those in the bottom quartile will overestimate their ability just as much as those in the top quartile underestimate theirs. This would be the effect of random noise.

However, when we look at the original Dunning-Kruger curve, this is not what we see. Those in the bottom quartile overestimate their ability to a much greater extent than those in the top quartile underestimate theirs. Even in the 3rd quartile, people tended to overestimate their abilities, though only slightly, by the same amount as those in the top quartile underestimated theirs. So what the original Dunning-Kruger curve actually appears to show is a more ore less random spread in the 3rd and top quartiles, but significant bias in the bottom and 2nd quartiles, consistent with the notion that people in these quartiles overestimate their abilities.

Of course it would be nice to see a proper statistical analysis that also evaluates the statistical significance of the finding, but a simple, qualitative comparison of the two plots seems to show is that the Dunning-Kruger effect is real, after all.

The 64-antenna radio telescope complex, MeerKAT, is South Africa’s contribution to the Square Kilometer Array, an international project under development to create an unprecedented radio astronomy facility.

While the SKA project is still in its infancy, MeerKAT is fully functional, and it just delivered the most detailed, most astonishing images yet of the central region of our own Milky Way. Here is, for instance, an image of the Sagittarius A region that also hosts the Milky Way’s supermassive black hole, Sgr A*:

The filamentary structure that is seen in this image is apparently poorly understood. As for the scale of this image, notice that it is marked in arc seconds; at the estimated distance to Sgr A, one arc second translates into roughly 1/8th of a light year, so the image presented here is roughly a 15 by 15 light year area.

Although we are not religious, we celebrate Christmas.

And I still cannot think of a better way to celebrate Christmas than with the words of the astronauts of Apollo 8, and the sense of awe they felt when they became the first human beings ever in the history of our species to be completely cut off from Mother Earth, when their spaceship disappeared behind the Moon.

Earthrise from Apollo 8

Re-emerging, they read passages from the Book of Genesis to their audience, with Frank Borman concluding with the words:

[G]ood night, good luck, a Merry Christmas – and God bless all of you, all of you on the good Earth.

To me, this is the most beautiful Christmas message ever.

Though he passed away in September, I only learned about it tonight: Thanu Padmanabhan, renowned Indian theoretical physicist, is no longer with us. He was only 64 when he passed away, a result of a heart attack according to Wikipedia.

I never met Padmanabhan but I have several of his books on my bookshelf, including Structure Formation in the Universe and his more recent textbook Gravitation. I am also familiar with many of his papers.

I learned about his death just moments ago as I came across a paper by him on arXiv, carrying this comment: “Prof. T. Padmanabhan has passed away on 17th September, 2021, while this paper was under review in a journal.”

What an incredible loss. The brilliant flame of his intellect, extinguished. I am deeply saddened.

A tribute article about his life was published on arXiv back in October, but unfortunately was not cross-listed to gr-qc, and thus it escaped my attention until now.

Thanks to streaming services, I occasionally stumble upon films and television series from foreign lands that otherwise I’d not even know about. And no, I don’t mean Squid Game, that explosively popular Korean series: I only watched the opening few minutes of the first episode so far, and I don’t yet know if it is my cup of tea. Rather, this time around it is a Russian movie that I came across on Amazon Prime: a 2017 film titled Salyut-7.

Salyut-7 was a Soviet space station. In 1985, the space station was dead, without power. The Russians launched a daring rescue mission, Soyuz-T13, which was not only able to dock with the derelict station but also able to revive and repair it.

Consistent with Soviet era secrecy, we knew very little about this mission and didn’t appreciate its significance back then.

The movie itself combined the actual story of the Soyuz-T13 mission with other events, such as the fire on board the Mir space station 12 years later or a nonsensical fictitious mission by the space shuttle Challenger to “steal” the station, for dramatic effect. In that, I think they did a disservice to the cosmonauts who pulled off this repair: perhaps less spectacular in terms of visual effects, what they accomplished was no less significant.

But otherwise, I found the movie fun to watch, very well done, with top notch special effects and (insofar as my inexpert eye can tell) excellent acting and directing. I enjoyed the movie. And its faults notwithstanding, I think it offers a worthy reminder that the USSR’s space program brought enormous value to all of humanity. It saddens me deeply when I think of how much of it went to waste in the turbulent years following the breakup of the USSR.

Earlier today, I noticed something really strange. A lamp was radiating darkness. Or so it appeared.

Of course there was a mundane explanation. Now that the Sun is lower in the sky and the linden tree in front of our kitchen lost many of its leaves already, intense sunlight was reflecting off the hardwood floor in our dining area.

Still, it was an uncanny sight.

I have had it up to my eyeballs with misinformation about vaccines, mRNA vaccines in particular. People who up until 2020 could not tell the difference between acronyms like “RNA” and “WTF” suddenly became experts on molecular biology, capable of evaluating the professional literature and arriving at profound judgments, telling us that the vaccines are “fake” and such, or worse yet, they amount to “gene therapy”.

With all due respect, I first encountered the acronym “mRNA” (or its Hungarian equivalent, mRNS) not in 2020, not in 2019, but in 1980 or 81, from a Hungarian translation of Watson’s book on molecular biology of the gene.

Now granted, even if I had read that book cover-to-cover (I didn’t) it would not make me an expert on molecular biology. But I knew enough for the expression “mRNA vaccine” to make sense to me right away when it first showed up in news reports. In short, I know enough to spot the bullshit. Such as all that anti-vaccine scaremongering that has become ever so popular on the Interwebs lately.

Something similar happened 20 years ago, in the wake of 9/11. Many folks, especially Americans, who previously couldn’t tell Mohammed the prophet from Mohammed Ali, and who have never been in the same room with a textbook on comparative religion previously, suddenly became experts on Islam, making grand pronouncements about it being the religion of terror and all that. I first read a textbook on comparative religion back when I was 10 or so, from a 1927 2-volume tome on religions of the world:

This is volume one, titled “Primitive and cultural religions, Islam and Buddhism”. As with the Watson textbook, the images in this blog entry are of my own making, done just moments ago using my phone camera, of the actual books I have in my personal library.

Again, reading this book did not make me an instant expert. But it did give me enough background to spot the flood of bullshit that permeated the discussion after the 9/11 terror attacks.

Coming from a family and personal tradition that values learning, values impartial knowledge, it almost feels like physical pain, being confronted with such gross ignorance and outright lies each and every day. Enough already. Don’t listen to me, but don’t listen to the bullshit artists either. Listen to the actual experts (and not a cherry-picked subset of so-called experts who say what you want to hear). That’s what experts are for in an advanced scientific-technological society in which no human can be a master of all trades, and in which we rely on each other’s knowledge and experience.

Someone on Quora recently compared the anti-vaxxer movement to a hypothetical scenario on an airliner in distress: instead of following the crews’ instructions and donning oxygen masks, passengers stage a revolt, led by an “expert” who already knows better than the pilots how to fly the damn plane because he played with Microsoft Flight Simulator!

Groan.

I live in a condominium townhouse. We’ve been living here for 25 years. We like the place.

Our unit, in particular, is the middle unit in a three-unit block. The construction is reasonably sound: proper foundations, cinderblock firewalls between the units, woodframe construction within, pretty run-of-the-mill by early 1980s North American standards. We have no major complaints.

Except that… for the past several years, every so often the house wobbled a bit. Almost imperceptibly, but still. At first, I thought it was a minor earthquake (not uncommon in this region because it is still subject to isostatic rebound from the last ice age; in fact we did live through a couple of notable earthquakes since we moved in here.) But no, it was no earthquake.

I thought perhaps it was related to the downtown light rail tunnel construction? But no, the LRT tunnels are quite some ways from here and in any case, that part of the construction has been finished long ago.

But then what the bleep is it? Could I be just imagining things?

Our phones have very sensitive acceleration sensors. Not for the first time, I managed to capture one of these events. A little earlier this afternoon, I heard the woodframe audibly creak as the house began to move again. I grabbed my phone and turned on a piece of software that samples the acceleration sensor at a reasonably high rate, about 200 times a second. Here is the result of the first few seconds of sampling:

The sinusoidal signal is unmistakably there, confirmed by a quick Fourier-analysis to be a signal just above 3 Hz in frequency:

Like Sheldon Cooper in The Big Bang Theory, I can claim that no, I am not crazy, and in this case not because my mother had me tested but because my phone’s acceleration sensor confirms my perception: Something indeed wobbles the house a little, enough to register on my phone’s acceleration sensor, measuring a peak-to-peak amplitude of roughly 0.05 m/s² (the vertical axis in the first graph is in g-units.) That wobble is certainly not enough to cause damage, but it is, I admit, a bit unnerving.

So what is going on here? A neighbor engaging in some, ahem, vigorous activity? Our current neighbors are somewhat noisier than prior residents, occasionally training their respective herds of pygmy elephants to run up and down the stairs (or whatever it is that they are doing). But no, the events are just too brief in duration and too regular. Underground work, perhaps a secret hideout for the staff of the nearby Chinese embassy? Speaking of which, I admit I even thought that this ~3 Hz signal might be related to the reported cases of illness by embassy staff at several embassies around the world, but I just don’t see the connection: even if those cases are real and have an underlying common cause (as opposed to just mere random coincidences) it’s hard to see how a 3 Hz vibration can have anything to do with them.

OK, so I have a pretty good idea of what this thing isn’t, but then, what the bleepety-bleep is it?

I am not happy admitting it, but it’s true: There have been a few occasions in my life when I reacted just like this XKCD cartoon character when I first encountered specific areas of research.

On my eighth birthday, I received a gift from a nice couple, friends of my Mom.

It was a Hungarian-language book bearing the title, “Wonders of the World,” in Hungarian, translated from the German original that was written by German-Jewish authors Artur Fürst and Alexander Moszkowski.

It was an old book, published in the 1930s. A dark green hardcover, with the etched image of a skyscraper for illustration on the cover. Its dust jacket, if it ever had one, was long gone.

But never mind that, it’s the content on these yellowed pages that matters.

It was from this book that I first learned about statistical fallacies, for instance. What is the probability that when you leave your home, the first 200 people you encounter are all males? Astronomically small, you might conclude. 2−200 ~ 6.223 × 10−61 to be a bit more precise, assuming half the population is male. A probability this small is firmly in the category of never happens. Until one morning, you step outside and the first thing you see is an all-male battalion of soldiers marching down the street…

I was reminded of this book today as I was reading about recent pronouncements of “breakthrough” infections among the vaccinated, and the reminder by experts that in a population that has a high vaccination rate, such cases are to be expected. It does not mean that the vaccine is worthless. It simply means that as the virus runs out of unvaccinated victims, to the extent it can still cause damage, increasingly it will be among the vaccinated folks. Which should make sense, except, as we well know, roughly 90% of statistical fallacies are committed by right-handed people…

Anyhow, much to my surprise, this book I love so much, from which I learned so much as a pre-teen, remains well-known in the country where it was originally published under the title Das Buch der 1000 Wunder. So well-known, in fact, that current German-language editions are readily available on Amazon, nearly a century after its initial publication. So I guess I am not the only person who finds the insights and information presented in this unassuming volume immensely valuable, especially for a child.

So let this serve as my notice of gratitude across time and space to “uncle Sandor and aunt Eva,” as they inscribed their names in the book along with their birthday wishes, for what I can now truly call a gift of a lifetime.

Can you guess the author with the most physics books on what I call my “primary” bookshelf, the shelf right over my desk where I keep the books that I use the most often?

It would be Steven Weinberg. His 1972 Gravitation and Cosmology remains one of the best books ever on relativity theory, working out details in ways no other book does. His 2010 Cosmology remains a reasonably up-to-date textbook on modern cosmology. And then there is of course the 3-volume Quantum Theory of Fields.

Alas, Weinberg is no longer with us. He passed away yesterday, July 23, at the age of 88.

He will be missed.

The other day, someone asked a question: Can the itensor package in Maxima calculate the Laplace-Beltrami operator applied to a scalar field in the presence of torsion?

Well, it can. But I was very happy to get this question because it allowed me to uncover some long-standing, subtle bugs in the package that prevented some essential simplifications and in some cases, even produced nonsensical results.

With these fixes, Maxima now produces a beautiful result, as evidenced by this nice newly created demo, which I am about to add to the package:

(%i1) if get('itensor,'version) = false then load(itensor)
(%i2) "First, we set up the basic properties of the system"
(%i3) imetric(g)
(%i4) "Demo is faster in 3D but works for other values of dim, too"
(%i5) dim:3
(%i6) "We declare symmetries of the metric and other symbols"
(%i7) decsym(g,2,0,[sym(all)],[])
(%i8) decsym(g,0,2,[],[sym(all)])
(%i9) components(g([a],[b]),kdelta([a],[b]))
(%i10) decsym(levi_civita,0,dim,[],[anti(all)])
(%i11) decsym(itr,2,1,[anti(all)],[])
(%i12) "It is useful to set icounter to avoid indexing conflicts"
(%i13) icounter:100
(%i14) "We choose the appropriate convention for exterior algebra"
(%i15) igeowedge_flag:true
(%i16) "Now let us calculate the Laplacian of a scalar field and simplify"
(%i17) canform(hodge(extdiff(hodge(extdiff(f([],[]))))))
(%i18) contract(expand(lc2kdt(%)))
(%i19) ev(%,kdelta)
(%i20) D1:ishow(canform(%))
%1 %2  %3 %4                 %1 %2            %1 %2
(%t20)   (- f    g      g      g     ) + f    g      + f       g
,%4  ,%3           %1 %2     ,%2  ,%1      ,%1 %2
(%i21) "We can re-express the result using Christoffel symbols, too"
(%i22) ishow(canform(conmetderiv(D1,g)))
%1 %4  %2 %5      %3                   %1 %2      %3
(%t22) 2 f    g      g      ichr2      g      - f    g      ichr2
,%5                    %1 %2  %3 %4    ,%3             %1 %2
%1 %3      %2               %1 %2
- f    g      ichr2      + f       g
,%3             %1 %2    ,%1 %2
(%i23) "Nice. Now let us repeat the same calculation with torsion"
(%i24) itorsion_flag:true
(%i25) canform(hodge(extdiff(hodge(extdiff(f([],[]))))))
(%i26) "Additional simplifications are now needed"
(%i27) contract(expand(lc2kdt(%th(2))))
(%i28) ev(%,kdelta)
(%i29) canform(%)
(%i30) ev(%,ichr2)
(%i31) ev(%,ikt2)
(%i32) ev(%,ikt1)
(%i33) ev(%,g)
(%i34) ev(%,ichr1)
(%i35) contract(rename(expand(canform(%))))
(%i36) flipflag:not flipflag
(%i37) D2:ishow(canform(%th(2)))
%1 %2  %3 %4                 %1 %2    %3            %1 %2
(%t37) (- f    g      g      g     ) + f    g      itr      + f    g
,%1         ,%2    %3 %4     ,%1           %2 %3    ,%1  ,%2
%1 %2
+ f       g
,%1 %2
(%i38) "Another clean result; can also be expressed using Christoffel symbols"
(%i39) ishow(canform(conmetderiv(D2,g)))
%1 %2  %3 %4      %5                   %1 %2    %3
(%t39) 2 f    g      g      ichr2      g      + f    g      itr
,%1                    %2 %3  %4 %5    ,%1           %2 %3
%1 %2      %3            %2 %3      %1               %1 %2
- f    g      ichr2      - f    g      ichr2      + f       g
,%1             %2 %3    ,%1             %2 %3    ,%1 %2
(%i40) "Finally, we see that the two results differ only by torsion"
(%i41) ishow(canform(D2-D1))
%1 %2    %3
(%t41)                       f    g      itr
,%1           %2 %3
(%i42) "Last but not least, d^2 is not nilpotent in the presence of torsion"
(%i43) extdiff(extdiff(f([],[])))
(%i44) ev(%,icc2,ikt2,ikt1)
(%i45) canform(%)
(%i46) ev(%,g)
(%i47) ishow(contract(%))
%3
(%t47)                         f    itr
,%3    %275 %277
(%i48) "Reminder: when dim = 2n, the Laplacian is -1 times these results."


The learning curve is steep and there are many pitfalls, but itensor remains an immensely powerful package.