quantum.h | quantum.h | |||
---|---|---|---|---|
/* quantum.h: Header file for libquantum | /* quantum.h: Header file for libquantum | |||
Copyright 2003-2007 Bjoern Butscher, Hendrik Weimer | Copyright 2003-2008 Bjoern Butscher, Hendrik Weimer | |||
This file is part of libquantum | This file is part of libquantum | |||
libquantum is free software; you can redistribute it and/or modify | libquantum is free software; you can redistribute it and/or modify | |||
it under the terms of the GNU General Public License as published | it under the terms of the GNU General Public License as published | |||
by the Free Software Foundation; either version 3 of the License, | by the Free Software Foundation; either version 3 of the License, | |||
or (at your option) any later version. | or (at your option) any later version. | |||
libquantum is distributed in the hope that it will be useful, but | libquantum is distributed in the hope that it will be useful, but | |||
WITHOUT ANY WARRANTY; without even the implied warranty of | WITHOUT ANY WARRANTY; without even the implied warranty of | |||
skipping to change at line 141 | skipping to change at line 141 | |||
extern void quantum_set_decoherence(float lambda); | extern void quantum_set_decoherence(float lambda); | |||
extern void quantum_decohere(quantum_reg *reg); | extern void quantum_decohere(quantum_reg *reg); | |||
extern quantum_reg quantum_matrix2qureg(quantum_matrix *m, int width); | extern quantum_reg quantum_matrix2qureg(quantum_matrix *m, int width); | |||
extern quantum_matrix quantum_qureg2matrix(quantum_reg reg); | extern quantum_matrix quantum_qureg2matrix(quantum_reg reg); | |||
extern quantum_reg quantum_kronecker(quantum_reg *reg1, quantum_reg *reg2); | extern quantum_reg quantum_kronecker(quantum_reg *reg1, quantum_reg *reg2); | |||
extern COMPLEX_FLOAT quantum_dot_product(quantum_reg *reg1, quantum_reg *re g2); | extern COMPLEX_FLOAT quantum_dot_product(quantum_reg *reg1, quantum_reg *re g2); | |||
extern quantum_reg quantum_vectoradd(quantum_reg *reg1, quantum_reg *reg2); | extern quantum_reg quantum_vectoradd(quantum_reg *reg1, quantum_reg *reg2); | |||
extern void quantum_vectoradd_inplace(quantum_reg *reg1, quantum_reg *reg2) ; | extern void quantum_vectoradd_inplace(quantum_reg *reg1, quantum_reg *reg2) ; | |||
extern quantum_reg quantum_matrix_qureg(quantum_reg A(MAX_UNSIGNED, double) , | extern quantum_reg quantum_matrix_qureg(quantum_reg A(MAX_UNSIGNED, double) , | |||
double t, quantum_reg *reg); | double t, quantum_reg *reg, int flag s); | |||
extern void quantum_scalar_qureg(COMPLEX_FLOAT r, quantum_reg *reg); | extern void quantum_scalar_qureg(COMPLEX_FLOAT r, quantum_reg *reg); | |||
extern void quantum_print_timeop(int width, void f(quantum_reg *)); | extern void quantum_print_timeop(int width, void f(quantum_reg *)); | |||
extern void quantum_qec_encode(int type, int width, quantum_reg *reg); | extern void quantum_qec_encode(int type, int width, quantum_reg *reg); | |||
extern void quantum_qec_decode(int type, int width, quantum_reg *reg); | extern void quantum_qec_decode(int type, int width, quantum_reg *reg); | |||
extern const char * quantum_get_version(); | extern const char * quantum_get_version(); | |||
extern void quantum_objcode_start(); | extern void quantum_objcode_start(); | |||
extern void quantum_objcode_stop(); | extern void quantum_objcode_stop(); | |||
skipping to change at line 169 | skipping to change at line 169 | |||
extern quantum_matrix quantum_density_matrix(quantum_density_op *rho); | extern quantum_matrix quantum_density_matrix(quantum_density_op *rho); | |||
extern void quantum_print_density_matrix(quantum_density_op *rho); | extern void quantum_print_density_matrix(quantum_density_op *rho); | |||
extern void quantum_delete_density_op(quantum_density_op *rho); | extern void quantum_delete_density_op(quantum_density_op *rho); | |||
extern float quantum_purity(quantum_density_op *rho); | extern float quantum_purity(quantum_density_op *rho); | |||
extern void *quantum_error_handler(void *f(int)); | extern void *quantum_error_handler(void *f(int)); | |||
extern const char *quantum_strerr(int errno); | extern const char *quantum_strerr(int errno); | |||
extern void quantum_error(int errno); | extern void quantum_error(int errno); | |||
extern void quantum_rk4(quantum_reg *reg, double t, double dt, | extern void quantum_rk4(quantum_reg *reg, double t, double dt, | |||
quantum_reg H(MAX_UNSIGNED, double)); | quantum_reg H(MAX_UNSIGNED, double), int flags); | |||
extern double quantum_rk4a(quantum_reg *reg, double t, double *dt, | extern double quantum_rk4a(quantum_reg *reg, double t, double *dt, | |||
double epsilon, | double epsilon, | |||
quantum_reg H(MAX_UNSIGNED, double)); | quantum_reg H(MAX_UNSIGNED, double), int flags); | |||
extern void quantum_diag_time(float t, quantum_reg *reg0, quantum_reg *regt | ||||
, | ||||
quantum_reg *tmp1, quantum_reg *tmp2, | ||||
quantum_matrix H, float **w); | ||||
#endif | #endif | |||
End of changes. 4 change blocks. | ||||
4 lines changed or deleted | 9 lines changed or added | |||