density_matrix.h

Go to the documentation of this file.
00001 /*
00002  * Functions for combining density matrices and for tracing out sub-systems from
00003  * full-system density matrices.
00004  * 
00005  * 
00006  * Robert Johansson <robert@riken.jp>
00007  *
00008  * $Id: density__matrix_8h-source.html,v 1.1.1.1 2008-09-03 09:36:41 rob Exp $
00009  */
00010 
00011 #ifndef DENSITY_MATRIX_H
00012 #define DENSITY_MATRIX_H
00013 
00014 #include <gsl/gsl_matrix.h>
00015 
00016 #include "quantum_system.h"
00017 
00018 typedef struct {
00019         gsl_matrix_complex *dm[NQS_MAX];
00020         int len;
00021 } density_matrix_list_t;
00022 
00023 gsl_matrix_complex *density_matrix_combine(quantum_system *qs, density_matrix_list_t *dm_list);
00024 gsl_matrix_complex *density_matrix_traceout(quantum_system *qs, gsl_matrix_complex *dm, int n);
00025 gsl_matrix_complex *density_matrix_traceout_multi(quantum_system *qs, gsl_matrix_complex *dm, quantum_system *mask);
00026 
00027 void density_matrix_list_init(density_matrix_list_t *dm_list);
00028 void density_matrix_list_append(density_matrix_list_t *dm_list, gsl_matrix_complex *dm);
00029 void density_matrix_list_free_entries(density_matrix_list_t *dm_list);
00030 
00031 gsl_complex density_matrix_expectation_value(gsl_matrix_complex *rho, gsl_matrix_complex *op);
00032 
00033 gsl_matrix_complex *density_matrix_pure_TLS(double p_ex);
00034 gsl_matrix_complex *density_matrix_fock_state(int n, int N);
00035 gsl_matrix_complex *density_matrix_coherent_state(double r, double theta, int N);
00036 gsl_matrix_complex *density_matrix_boson_thermal(double w, double w_th, int N);
00037         
00038 double density_matrix_concurrence(quantum_system *qs, gsl_matrix_complex *rho);
00039         
00040 
00041 
00042 #endif
00043 

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