Simple profiling with cProfile and callgrind show that the majority of the computation time, for small numbers of qubits at least (<9 qubits), are dominated in time complexity by the matrix-exponential routine. Parallelizing the routine for multicore may increase performance.
Or maybe it isn't worth pushing expm(). Instead, we could implement the standard FFT or a 4th-order Runge-Kutta method like the one used in JADE.
Simple profiling with cProfile and callgrind show that the majority of the computation time, for small numbers of qubits at least (<9 qubits), are dominated in time complexity by the matrix-exponential routine. Parallelizing the routine for multicore may increase performance.
Or maybe it isn't worth pushing expm(). Instead, we could implement the standard FFT or a 4th-order Runge-Kutta method like the one used in JADE.