hamiltonian.c File Reference

#include <stdio.h>
#include <math.h>
#include <gsl/gsl_matrix.h>
#include <gsl/gsl_blas.h>
#include <gsl/gsl_complex.h>
#include <gsl/gsl_complex_math.h>
#include "quantum_system.h"
#include "operators.h"
#include "hamiltonian.h"
#include "param.h"
#include "gsl_ext.h"

Functions

int hamiltonian_t (gsl_matrix_complex *H_t, gsl_matrix_complex *H0, gsl_matrix_complex *H1, double t, solver_param *p)
gsl_matrix_complex * hamiltonian_drive (quantum_system *qs, solver_param *param)
gsl_matrix_complex * hamiltonian_nTLS (quantum_system *qs, solver_param *param)
gsl_matrix_complex * hamiltonian_spinchain (quantum_system *qs, solver_param *param)
gsl_matrix_complex * hamiltonian_2ho (quantum_system *qs, solver_param *param)
gsl_matrix_complex * hamiltonian_2ho_drive (quantum_system *qs, solver_param *param)
gsl_matrix_complex * hamiltonian_q2ho_drive (quantum_system *qs, solver_param *param)
gsl_matrix_complex * hamiltonian_q2ho (quantum_system *qs, solver_param *param)
gsl_matrix_complex * hamiltonian_qho_drive (quantum_system *qs, solver_param *param)
gsl_matrix_complex * hamiltonian_qho (quantum_system *qs, solver_param *param)
gsl_matrix_complex * hamiltonian_ho_drive (quantum_system *qs, solver_param *param)
gsl_matrix_complex * hamiltonian_ho (quantum_system *qs, solver_param *param)

Function Documentation

gsl_matrix_complex* hamiltonian_2ho ( quantum_system qs,
solver_param param 
)

gsl_matrix_complex* hamiltonian_2ho_drive ( quantum_system qs,
solver_param param 
)

gsl_matrix_complex* hamiltonian_drive ( quantum_system qs,
solver_param param 
)

Generates the hamiltonian for the driving field.

Often time-dependet hamiltonians take the form H = H_0 + H_drive * f(t). This function should generate the H_drive part of the total Hamiltonian.

See also:
hamiltonian_t.
Parameters:
qs Pointer to the data structure that defines the arrangement of the quantum system.
param Pointer to a solver parameter structure that includes all the parameter values for the simulation.

gsl_matrix_complex* hamiltonian_ho ( quantum_system qs,
solver_param param 
)

gsl_matrix_complex* hamiltonian_ho_drive ( quantum_system qs,
solver_param param 
)

gsl_matrix_complex* hamiltonian_nTLS ( quantum_system qs,
solver_param param 
)

gsl_matrix_complex* hamiltonian_q2ho ( quantum_system qs,
solver_param param 
)

gsl_matrix_complex* hamiltonian_q2ho_drive ( quantum_system qs,
solver_param param 
)

gsl_matrix_complex* hamiltonian_qho ( quantum_system qs,
solver_param param 
)

gsl_matrix_complex* hamiltonian_qho_drive ( quantum_system qs,
solver_param param 
)

gsl_matrix_complex* hamiltonian_spinchain ( quantum_system qs,
solver_param param 
)

int hamiltonian_t ( gsl_matrix_complex *  H_t,
gsl_matrix_complex *  H0,
gsl_matrix_complex *  H1,
double  t,
solver_param p 
)

Generate the hamiltonian at time t.

For cases where the time-dependence of the Hamiltonian takes the form H = H0 + H1 * f(t), this function is used to implement the specific time-dependence in f(t).

Parameters:
H_t Matrix where the resulting time-dependent Hamiltonian at time t should be stored (output from this function).
H0 The constant part of the Hamiltonian.
H1 The part of the Hamiltonian which is modulated by f(t).
t The instant of time for which we should calculate H(t).
p Pointer to the data structure that contains all the simulation parameters.


Generated on Thu Jun 12 16:48:45 2008 for QDpack by  doxygen 1.5.1