18#define JACOBIAN_PRODUCTION 0
19#define JACOBIAN_LOSS 1
64 unsigned int **jac_struct);
114 unsigned int ind_id);
140 unsigned int prod_or_loss,
141 long double jac_contribution);
unsigned int jacobian_column_pointer_value(Jacobian jac, unsigned int col_id)
Returns the value of a column pointer.
void jacobian_free(Jacobian *jac)
Free memory associated with a Jacobian.
unsigned int jacobian_build_matrix(Jacobian *jac)
Builds the sparse matrix with the registered elements.
int jacobian_initialize_empty(Jacobian *jac, unsigned int num_spec)
Initialize the Jacobian.
int jacobian_initialize(Jacobian *jac, unsigned int num_spec, unsigned int **jac_struct)
Initialize the Jacobian.
unsigned int jacobian_number_of_elements(Jacobian jac)
Returns the number of elements in the Jacobian.
unsigned int jacobian_get_element_id(Jacobian jac, unsigned int dep_id, unsigned int ind_id)
Get an element id in the Jacobian data arrays.
void jacobian_column_elements_free(JacobianColumnElements *column)
Free memory associated with a JacobianColumnElements.
void jacobian_add_value(Jacobian jac, unsigned int elem_id, unsigned int prod_or_loss, long double jac_contribution)
Add a contribution to the Jacobian.
void jacobian_reset(Jacobian jac)
Reset the Jacobian.
void jacobian_register_element(Jacobian *jac, unsigned int dep_id, unsigned int ind_id)
Adds an element to the sparse matrix.
void jacobian_print(Jacobian jac)
Prints the Jacobian structure.
void jacobian_output(Jacobian jac, double *dest_array)
Output the Jacobian.
unsigned int jacobian_row_index(Jacobian jac, unsigned int elem_id)
Returns the row for a given Jacobian element.
unsigned int number_of_elements
JacobianColumnElements * elements
long double * production_partials
long double * loss_partials