compute complex traces
This commit is contained in:
6
qext.h
6
qext.h
@@ -5,8 +5,8 @@
|
||||
|
||||
struct qext_type {
|
||||
int rank;
|
||||
const int *integer_coeffs;
|
||||
mpq_t *coeffs;
|
||||
const int *integer_coeffs; // actually the rank+1 coefficients of the polynomial
|
||||
mpq_t *coeffs; // components of a^rank
|
||||
};
|
||||
|
||||
struct qext_number_internal {
|
||||
@@ -18,6 +18,7 @@ typedef struct qext_number_internal qext_number[1];
|
||||
|
||||
extern struct qext_type *QT_TRIVIAL;
|
||||
extern struct qext_type *QT_SQRT5;
|
||||
extern struct qext_type *QT_GAUSS_SQRT5;
|
||||
|
||||
struct qext_type *qext_newtype(int rank, const int *coeffs);
|
||||
void qext_init(qext_number x, struct qext_type *type);
|
||||
@@ -29,6 +30,7 @@ void qext_add(qext_number result, qext_number x, qext_number y);
|
||||
void qext_sub(qext_number result, qext_number x, qext_number y);
|
||||
void qext_neg(qext_number result, qext_number x);
|
||||
void qext_mul(qext_number out, qext_number x, qext_number y);
|
||||
void qext_inv(qext_number out, qext_number in);
|
||||
void qext_div(qext_number out, qext_number x, qext_number y);
|
||||
int qext_cmp(qext_number x, qext_number y);
|
||||
void qext_print(qext_number x);
|
||||
|
||||
Reference in New Issue
Block a user