# Dealing with infinite matrices in Mathematica?

Is there a mechanism of dealing with infinite matrices in Mathematica, and in particular, with linear operators, corresponding to those matrices?

For instance, automatic simplification of operator expressions: $$e^D-1 \to \text{DifferenceDelta}$$, etc?

• I doubt there is anything built-in. It does have DifferenceDelta implemented here reference.wolfram.com/language/ref/… but I saw no explicit support for infinite matrices. Anyway, it might be possible to write a program for some of what you want. Commented Mar 25, 2021 at 0:29

Simply speaking: No. Infinite matrices are a word only. In practice they "represent" a class of bounded linear maps between two spaces with a basis fixed in both spaces.

In order to make these kind of maps a useful "algebra" over the Complexes, that is a vector space with concatenation of maps @ as multiplication, the two spaces have to be identical, such that the matrices are transfinite limits of square matrices. But these limits represent a set of measure zero only inside the so called algebra B(V), the set of all bounded (B) automorphisms $$V \to V$$.

Of course, what one has in mind naively, is the very nice set B(H) where H is the standard Hilbert space $$l_2$$, the vector space of all complex infinite vectors with finite 2-norm. But even here $$B(l_2)$$ is much to complex as to allow for the set of simple matrix calculation rules.

Really interesting things happen for matrix operators not in B(H). Standard examples are the matrix operators of multiplying by index $$I: f_i \to x f(x)$$ and the difference operator $$D: f_i \to f_i-f_{i-1}$$

They are unbounded operators and therefore have a domain of definition given by the condition, that I f and D f are square integrable.

In Fourier analysis of unbounded operators on the standard Hilbert space of square integrable functions in an interval {a,b}, I and D represent $$d: f(k) \to k f(k)$$ and $$x: f(k)\to f'(k)$$ as the Fourier images of $$x: f(x)\to x f(x)$$ and $$d: f(x)\to f'(x)$$. This fact means, that most formal algebraic compositions of operators do not make any sense.

Thats the boon and bane of naive reckoning of modern mathematical physics. Sometimes it is working (Heisenberg-Schrödinger-von Neumann) and sometimes it produces an infinite staircase of non-converging error corrections (Feynman-Stückelberg-Wightman)

• Could you elaborate what you mean: "Sometimes it is working (Heisenberg-Schrödinger-von Neumann) and sometimes it produces an infinite staircase of non-converging error corrections (Feynman-Stückelberg-Wightman)"? Commented Apr 15, 2023 at 6:14
• I cannot uderstand this: "This fact means, that most formal algebraic compositions of operators do not make any sense." Also, why your difference operator corresponds to derivative operator? Commented Apr 15, 2023 at 11:11
• The Heisenberg algebra of matrix mechanics and most 1-particle problems can effectively mapped to the Schrödinger representation and vice versa by mapping the canonical basis of unit vectors to the basis of Hermite polynomials * exp(-x^2). this in effect is a map between the ladder operators e_k -> e_k+-1 and the ladder oprators x+-d/dx on the Hermite basis orthogonal under integral over functions peoducts.. Commented Apr 15, 2023 at 15:54
• To understand why matrix powers do not make sense in general, just have a look at unbounded matrices like H =Array[ ( #1 KroneckerDelta[#1,#2]&),\inf ] that is the Energy matrix for osciallators or the counter for particle numbers, The matrix algebra works fine on vectors that have zeros for all n>N but is definable on vectors with decay 1/n^x, but only for H, not for H^2 eg. There are no Means for all powers or Taylor series. Commented Apr 16, 2023 at 6:56

Mathematica has advanced symbolic manipulation capabilities along with many built-in functionality for mathematical operations. I am almost certain there is no built-in functionality specific to general linear operators, but you can use the symbolic capabilities to do what you want. For example, you can use something such as

expr /. E^D -> 1 + DifferenceDelta


or something similar to manipulate linear operators symbolically. You can implement Umbral calculus in a simple way. If you have specific linear operator manipulations you are unsure how to do, then please ask in another question.