int ninputs
number of control inputs
Definition: nddata.h:86
double * data
pointer to entire chunk of allocated memory
Definition: nddata.h:90
Matrix input
(m,w) block for the control input variables
Definition: nddata.h:43
int ndlqr_GetNdFactor(NdData *nddata, int index, int level, NdFactor **factor)
Retrieve an individual NdFactor out of the NdData.
Definition: nddata.c:82
Matrix type and basic operations.
Represents a matrix of double-precision data.
Definition: matrix.h:71
NdData * ndlqr_NewNdData(int nstates, int ninputs, int nhorizon, int width)
Initialize the NdData structure.
Definition: nddata.c:15
int ndlqr_FreeNdData(NdData *nddata)
Frees the memory allocated in an NdData structure.
Definition: nddata.c:74
int depth
number of columns of factors to store
Definition: nddata.h:88
void ndlqr_ResetNdData(NdData *nddata)
Resets all of the memory for an NdData to zero.
Definition: nddata.c:67
NdFactor * factors
(nsegments, depth) array of factors. Stored in column-order.
Definition: nddata.h:91
Core storage container for the rsLQR solver.
Definition: nddata.h:83
A chunk of memory for a single time step.
Definition: nddata.h:40
int nsegments
number of segments, or one less than the length of the horizon
Definition: nddata.h:87
Matrix lambda
(n,w) block for the dual variables
Definition: nddata.h:41
Matrix state
(n,w) block for the state variables
Definition: nddata.h:42
int nstates
size of state vector
Definition: nddata.h:85
int width
width of each factor. Will be n for matrix data and typically 1 for the right-hand-side vector.
Definition: nddata.h:89