MPSolve 3.2.1
|
Implementation of the monomial version of the matrix polynomial. More...
#include <mps/polynomial.h>
Go to the source code of this file.
Classes | |
struct | mps_monomial_matrix_poly |
This is the struct that holds all the data of the matrix polynomial. More... | |
Macros | |
#define | MPS_MONOMIAL_MATRIX_POLY(t) (MPS_POLYNOMIAL_CAST (mps_monomial_matrix_poly, t)) |
#define | MPS_IS_MONOMIAL_MATRIX_POLY(t) (mps_polynomial_check_type (t, "mps_monomial_matrix_poly")) |
#define | MPS_MONOMIAL_MATRIX_POLY_HESSENBERG 0x0001 |
Functions | |
mps_monomial_matrix_poly * | mps_monomial_matrix_poly_new (mps_context *ctx, int degree, int m, mps_boolean monic) |
Create a new matrix polynomial of the given degree. More... | |
void | mps_monomial_matrix_poly_free (mps_context *ctx, mps_polynomial *poly) |
Free a matrix polynomial. More... | |
void | mps_monomial_matrix_poly_add_flags (mps_context *ctx, mps_monomial_matrix_poly *mpoly, int flag) |
Add some flags (some properties) to this matrix polynomial. More... | |
void | mps_monomial_matrix_poly_clear_flags (mps_context *ctx, mps_monomial_matrix_poly *mpoly, int flag) |
Clear some flags (properties) of this matrix polynomial. More... | |
void | mps_monomial_matrix_poly_set_coefficient_d (mps_context *ctx, mps_monomial_matrix_poly *mpoly, int i, cplx_t *matrix) |
Set the coefficient of degree i of the matrix polynomial. More... | |
void | mps_monomial_matrix_poly_set_coefficient_q (mps_context *ctx, mps_monomial_matrix_poly *mpoly, int i, mpq_t *matrix_r, mpq_t *matrix_i) |
Set the coefficient of degree i of the matrix polynomial. More... | |
mps_boolean | mps_monomial_matrix_poly_meval (mps_context *ctx, mps_polynomial *poly, mpc_t x, mpc_t value, rdpe_t error) |
Evaluate a matrix polynomial at a point, in the sense of evaluating ![]() | |
long int | mps_monomial_matrix_poly_raise_data (mps_context *ctx, mps_polynomial *p, long int wp) |
Raise the working precision of this monomial matrix polynomal to the required numnber of bits. More... | |
Implementation of the monomial version of the matrix polynomial.
void mps_monomial_matrix_poly_add_flags | ( | mps_context * | ctx, |
mps_monomial_matrix_poly * | mpoly, | ||
int | flag | ||
) |
Add some flags (some properties) to this matrix polynomial.
ctx | The current mps_context |
mpoly | The matrix polynomial. |
flag | The flags to add. |
void mps_monomial_matrix_poly_clear_flags | ( | mps_context * | ctx, |
mps_monomial_matrix_poly * | mpoly, | ||
int | flag | ||
) |
Clear some flags (properties) of this matrix polynomial.
ctx | The current mps_context |
mpoly | The matrix polynomial. |
flag | The flags to clear. |
void mps_monomial_matrix_poly_free | ( | mps_context * | ctx, |
mps_polynomial * | poly | ||
) |
Free a matrix polynomial.
ctx | The current mps_context. |
poly | The mps_monomial_matrix_poly that should be freed, casted to a mps_polynomial* pointer. |
mps_boolean mps_monomial_matrix_poly_meval | ( | mps_context * | ctx, |
mps_polynomial * | poly, | ||
mpc_t | x, | ||
mpc_t | value, | ||
rdpe_t | error | ||
) |
Evaluate a matrix polynomial at a point, in the sense of evaluating
ctx | The current mps_context |
poly | The matrix polynomial to evaluate |
x | The point in which the evaluation is requested |
value | The value of ![]() |
error | An upper bound to the absolute error that affects the result. |
mps_monomial_matrix_poly * mps_monomial_matrix_poly_new | ( | mps_context * | ctx, |
int | degree, | ||
int | m, | ||
mps_boolean | monic | ||
) |
Create a new matrix polynomial of the given degree.
ctx | The current mps_context. |
degree | The degree of the matrix polynomial. |
m | The size of the matrices that compose the matrix polynomial. |
monic | A boolean value that, if set to true, specify that the leading coefficient of the polynomial is the identity matrix, and so should not specified explicitely. |
long int mps_monomial_matrix_poly_raise_data | ( | mps_context * | ctx, |
mps_polynomial * | p, | ||
long int | wp | ||
) |
Raise the working precision of this monomial matrix polynomal to the required numnber of bits.
ctx | The current mps_context. |
p | The polynomial whose working precision should be set. |
wp | The bits of desired working precision. |
void mps_monomial_matrix_poly_set_coefficient_d | ( | mps_context * | ctx, |
mps_monomial_matrix_poly * | mpoly, | ||
int | i, | ||
cplx_t * | matrix | ||
) |
Set the coefficient of degree i of the matrix polynomial.
ctx | The current mps_context |
mpoly | The mps_monomial_matrix_poly where the coefficients should be set. |
i | The degree of the coeffient to set. |
matrix | A pointer to the first element of the matrix stored in row-major order. |
void mps_monomial_matrix_poly_set_coefficient_q | ( | mps_context * | ctx, |
mps_monomial_matrix_poly * | mpoly, | ||
int | i, | ||
mpq_t * | matrix_r, | ||
mpq_t * | matrix_i | ||
) |
Set the coefficient of degree i of the matrix polynomial.
ctx | The current mps_context |
mpoly | The mps_monomial_matrix_poly where the coefficients should be set. |
i | The degree of the coeffient to set. |
matrix_r | A pointer to the first element of the matrix of the real parts of the coefficients, stored in row-major order |
matrix_i | A pointer to the first element of the matrix of the imaginary parts of the coefficients, stored in row-major order |