  Variational quantum algorithms have been proposed to solve static and dynamic
problems of closed many-body quantum systems. Here we investigate variational
quantum simulation of three general types of tasks---generalised time evolution
with a non-Hermitian Hamiltonian, linear algebra problems, and open quantum
system dynamics. The algorithm for generalised time evolution provides a
unified framework for variational quantum simulation. In particular, we show
its application in solving linear systems of equations and matrix-vector
multiplications by converting these algebraic problems into generalised time
evolution. Meanwhile, assuming a tensor product structure of the matrices, we
also propose another variational approach for these two tasks by combining
variational real and imaginary time evolution. Finally, we introduce
variational quantum simulation for open system dynamics. We variationally
implement the stochastic Schr\"odinger equation, which consists of dissipative
evolution and stochastic jump processes. We numerically test the algorithm with
a six-qubit 2D transverse field Ising model under dissipation.
