Transposition¶
The operator formalism can be easily transposed:
Thus, we just have to transpose each operator.
This is defined by the following identity:
Below we give the proofs of all other operators:
\(\mathbf{M}\) operator¶
We have:
Proof (take \(a_{g\ell ei}, b_{gkei}\)):
\(\mathbf{D}\) operator¶
We have:
Proof (take \(a_{gkei}, b_{g\ell ei}\)):
\(\mathbf{H}\) operator¶
We have:
It is just diagonal in all indices (dots are identity operations) and it is symmetric in the \(i\) indices (symmetric mass matrix). Thus, it is self-adjoint.
\(\mathbf{S}\) operator¶
We have:
Proof:
\(\mathbf{T}^{-1}\) operator¶
This is somewhat different: we will show below that the transpose of the inverse is the same as inverting a transport operator with all angles negated.
Proposition The transpose of the transport operator is obtained by substituion of \(\Omega_k \to -\Omega_k\) in the transport operator, with inversion traversing the graph in reverse (i.e. with reversed topological order)
Proof Since \(\mathbf{T}\) is diagonal, the transpose is just the tranpose of each individual single-angle single-group operator. Proving it for a single-group single-angle operator is sufficient. Dropping all indices now.
First, we show that \(\mathbf{T}^T\) is equal to \(\mathbf{T}_r\), which denotes the same operator with its angle reversed (\(\Omega \to -\Omega\)):
We now decompose the transport operator into several parts:
and their respective reversed versions:
Now we have to show that this satisfies the transpose identity:
First, the \(\mathbf{C}\) operator is symmetric:
and thus we require only:
Now, start from
and integrate by parts (a second integration does not require additional numerical flux: within the element it is exact)
The outflow term cancels \(\langle \mathbf{F}^+[a], b\rangle\) while the inflow term does not cancel \(\langle \mathbf{F}^-[a], b\rangle\) because the latter uses the neighbouring element basis \(H_{e(\beta)p}\) instead of \(H_{ei}\). Combining with both \(\mathbf{F}^+\) and \(\mathbf{F}^-\) terms, we have
The first term is precisely \(\langle a, \mathbf{A}_r[b]\rangle\) after renaming dummy indices:
Thus, we now only need to prove the remaining terms:
From the definitions, \(\langle a, \mathbf{F}^+_r[b] - \mathbf{F}^-_r[b]\rangle\) is equal to
The first term after renaming dummy indices equals the first term on the left-hand-side, so we only need to show \(\langle \mathbf{F}^-[a], b\rangle = \langle a, \mathbf{F}^-_r[b]\rangle\), or
Now we introduce a global face index \(f\), shared by elements \(e^+(f)\) and \(e^-(f)\), with \(\Omega \cdot \mathbf{n}_f>0\) for \(e^+(f)\) and \(\Omega \cdot \mathbf{n}_f<0\) for \(e^-(f)\). Instead of summing all elements and then selecting inflow/outflow, we can also sum directly over all faces (that are shared by two elements, i.e. not boundary faces), and then select the element \(e^+(f)\) or \(e^-(f)\) for the inflow/outflow. This gives for the left-hand-side:
and for the right-hand-side
These are equal if you rename \(j \leftrightarrow p\) and use face integral symmetry – completing the first part of the proof: \(\mathbf{T}^T = \mathbf{T}_r\).
For the inversion part, this operator \(T_r\) is equally a single-angle transport operator, just with a different angle. It can therefore be inverted in the same algorithm. Since reversing the angle reverses the graph, from graph theory it follows that the inverted topological sort is then a valid topological sort of the reversed graph. Thus, we can invert the transposed operator by traversing the graph in reverse order, using the same algorithm as for the original operator. For the levels, they can be obtained by subtracting the level of each element from the highest level. Thus the efficient inversion algorithms work for the transpose as well, with no additional topological sort required (just flip the array).
\(\blacksquare\)