Matrix-vector operations

Double precision

void ksl_product_drv(const ksl_mat3x3_t *r_oi, const ksl_vec3_t *v_i, ksl_vec3_t *v_o)

Compute the double precision matrix product of a 3x3 matrix \(R^{oi}\) and a 3x1 vector \(\underline{v}^i_{oi}\).

\(R^{oi} \underline{v}^i_{oi} \rightarrow \underline{v}^o_{oi} \)

Parameters
  • r_oi: [in] input 3x3 matrix
  • v_i: [in] input vector
  • v_o: [out] result returned in v_o

void ksl_product_drvinv(const ksl_mat3x3_t *ri, const ksl_vec3_t *vi, ksl_vec3_t *vo)

Compute the double precision matrix product of a 3x3 matrix \(R^{oi}\) and the inverse of a 3x1 input vector \(\underline{v}^i_{oi}\).

\(R^{oi} (-\underline{v}^i_{oi}) \rightarrow \underline{v}^o_{io} \)

\(-R^{oi} \underline{v}^i_{oi} \rightarrow \underline{v}^o_{io} \)

\(R^{oi} \underline{v}^i_{io} \rightarrow \underline{v}^o_{io} \)

Parameters
  • r_oi: [in] input 3x3 matrix
  • v_i: [in] input vector
  • v_o: [out] result returned in v_o

void ksl_product_drinvv(const ksl_mat3x3_t *ri, const ksl_vec3_t *vi, ksl_vec3_t *vo)

TODO document this function.

void ksl_product_drinvvinv(const ksl_mat3x3_t *ri, const ksl_vec3_t *vi, ksl_vec3_t *vo)

TODO document this function.

void ksl_product_drvtx(const ksl_mat3x3_t *ri, const double ti, ksl_vec3_t *vo)

TODO document this function.

void ksl_product_drvtxinv(const ksl_mat3x3_t *ri, const double ti, ksl_vec3_t *vo)

TODO document this function.

void ksl_product_drvty(const ksl_mat3x3_t *ri, const double ti, ksl_vec3_t *vo)

TODO document this function.

void ksl_product_drvtyinv(const ksl_mat3x3_t *ri, const double ti, ksl_vec3_t *vo)

TODO document this function.

void ksl_product_drvtz(const ksl_mat3x3_t *ri, const double ti, ksl_vec3_t *vo)

TODO document this function.

void ksl_product_drvtzinv(const ksl_mat3x3_t *ri, const double ti, ksl_vec3_t *vo)

TODO document this function.

Single precision

void ksl_product_drvf(const ksl_mat3x3f_t *r_oi, const ksl_vec3f_t *v_i, ksl_vec3f_t *v_o)

Compute the single precision matrix product of a 3x3 matrix \(R^{oi}\) and a 3x1 vector \(\underline{v}^i_{oi}\).

\(R^{oi} \underline{v}^i_{oi} \rightarrow \underline{v}^o_{oi} \)

Parameters
  • r_oi: [in] input 3x3 matrix
  • v_i: [in] input vector
  • v_o: [out] result returned in v_o

void ksl_product_drvinvf(const ksl_mat3x3f_t *ri, const ksl_vec3f_t *vi, ksl_vec3f_t *vo)

TODO document this function.

void ksl_product_drinvvf(const ksl_mat3x3f_t *ri, const ksl_vec3f_t *vi, ksl_vec3f_t *vo)

TODO document this function.

void ksl_product_drinvvinvf(const ksl_mat3x3f_t *ri, const ksl_vec3f_t *vi, ksl_vec3f_t *vo)

TODO document this function.

void ksl_product_drvtxf(const ksl_mat3x3f_t *ri, const float ti, ksl_vec3f_t *vo)

TODO document this function.

void ksl_product_drvtxinvf(const ksl_mat3x3f_t *ri, const float ti, ksl_vec3f_t *vo)

TODO document this function.

void ksl_product_drvtyf(const ksl_mat3x3f_t *ri, const float ti, ksl_vec3f_t *vo)

TODO document this function.

void ksl_product_drvtyinvf(const ksl_mat3x3f_t *ri, const float ti, ksl_vec3f_t *vo)

TODO document this function.

void ksl_product_drvtzf(const ksl_mat3x3f_t *ri, const float ti, ksl_vec3f_t *vo)

TODO document this function.

void ksl_product_drvtzinvf(const ksl_mat3x3f_t *ri, const float ti, ksl_vec3f_t *vo)

TODO document this function.