ndd_create_transf


[ Synopsis | Description | Return values | Diagnostics | See also | Back to the NDD package documentation ]

Synopsis

#include "lash-ndd.h"

linear_transf *ndd_create_transf(uint4 n, uint4 m, sint4 *a, sint4 *b, sint4 *p, sint4 *q);

Description

This function creates a linear transformation corresponding to the operation

px <= q  ->   x := ax + b.

The matrices p and a are respectively of sizes m x n and n x n; they are given as sequences of coefficients organized line by line. The vectors q and b are respectively of sizes m and n.

Return values

In the case of success, this function returns a pointer to a newly allocated linear transformation structure. In the case of an error, it returns a NULL pointer and sets lash_errno.

Diagnostics

LASH_ERR_NOT_INIT
The package has not been initialized.
LASH_ERR_NO_MEM
Insufficient memory.
LASH_ERR_BAD_VALUE
Invalid parameter.

See also

linear_transf, ndd_create_identity_transf, ndd_create_assign_transf, ndd_create_equ_transf, ndd_create_inequ_transf, ndd_transf_free.

[ Synopsis | Description | Return values | Diagnostics | See also | Back to the NDD package documentation ]