I am currently starting to solve numerically a system of differential equations like this:
$\dot{A}(t)=S(A)A(t)$
Here, the matrices are of dimension $d\times d$. $S(A)$ is some superoperator that acts on $A(t)$. What is important in my case is that $A$ is always hermitian, which means that I do in principle only need to solve the differential equations for e.g. the elements given by the upper triangular and get the rest from hermitian property. That would allow to solve only $\frac{1}{2}(d^2+d)$ equations instead of $d^2$ which might give some noticable speedup and also reduces memory consumption. I am wondering if NDSolve
can automatically take account of this or if I have to feed it with the reduced system and put everything together manually.
I searched the doc but didn't see anything like this.
Details about reduction
To clarify what I mean with a manual reduction consider $\begin{pmatrix}\dot{a}_{11} & \dot{a}_{12}\\ \dot{a}_{21} & \dot{a}_{22}\end{pmatrix} = \begin{pmatrix} a_{11}- a_{21} & 1+ a_{12}\\ a_{22}-3 a_{21} & a_{11}\end{pmatrix}$
which is completely arbitrary. But since $a_{21}= a_{12}^*$ one can just replace the $ a_{21}$ on the right handside, solve the differential equations given by the upper triangle and obtain the rest (in this example $ a_{21}$ as the complex conjugate of the solution just found.
NDSolve
$\endgroup$ – Lukas Oct 7 '15 at 6:33