Koopman operator theory