quantum_system.h

Go to the documentation of this file.
00001 /*
00002  * Functions related to definition of quantum systems (composed of subsystems
00003  * with different sizes) and enummeration of states
00004  *
00005  * Robert Johansson <robert@riken.jp>
00006  *
00007  * $Id: quantum__system_8h-source.html,v 1.1.1.1 2008-09-03 09:36:41 rob Exp $
00008  */
00009 
00010 #include <math.h>
00011 
00012 #ifndef QUANTUM_SYSTEM_H
00013 #define QUANTUM_SYSTEM_H
00014 
00015 #define NQS_MAX 20
00016 
00017 typedef int quantum_system_state_vector_t[NQS_MAX];
00018 
00019 typedef struct {
00020         /* system 0: 2 levels
00021          * system 1: 2 levels
00022          * system 3: 10 levels
00023          * etc.
00024          */
00025 
00026         /* Number of subsystems in the quantum system */
00027         int nsubsys;
00028 
00029         /* Number of states of each subsystem */
00030         int *nstates;
00031 } quantum_system;
00032 
00033 
00034 quantum_system * quantum_system_new();
00035 quantum_system * quantum_system_copy(quantum_system *qs);
00036 void quantum_system_print(quantum_system *qs);
00037 void    quantum_system_free(quantum_system *qs);
00038 void    quantum_system_add(quantum_system *qs, int M);
00039 int     quantum_system_nstates(quantum_system *qs);
00040 void    quantum_system_state_vector(quantum_system *qs, int qsn, quantum_system_state_vector_t qsv);
00041 int     quantum_system_state_number(quantum_system *qs, quantum_system_state_vector_t qsv);
00042 
00043 
00044 #endif

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