Woolz Image Processing
Version 1.7.5
|
Functions for basic arithmatic with matricies. More...
Functions | |
void | AlgMatrixAdd (AlgMatrix aM, AlgMatrix bM, AlgMatrix cM) |
Computes the sum of two matricies and returns the result in a third supplied matrix: \[ \mathbf{A} = \mathbf{B} + \mathbf{C} \] The dimensions of the all three matricies must be nR, nC. It is safe to supply the same matrix as any combination of aM, bM and cM. More... | |
void | AlgMatrixSub (AlgMatrix aM, AlgMatrix bM, AlgMatrix cM) |
Subtracts on matrix from another and returns the result in a third supplied matrix: \[ \mathbf{A} = \mathbf{B} - \mathbf{C} \] The dimensions of the all three matricies must be nR, nC. It is safe to supply the same matrix as any combination of aM, bM and cM. More... | |
void | AlgMatrixMul (AlgMatrix aM, AlgMatrix bM, AlgMatrix cM) |
Computes the product of two matricies and returns the result in a third supplied matrix: \[ \mathbf{A} = \mathbf{B} \mathbf{C} \] The dimensions of the result matrix (aM) must be cR, bC. All the matrices must be valid and of the same type except in the case of multiplying tow symmetric matrices when the result matrix must be rectangular (because in general the product of two symmetric matrices is not symmetric). More... | |
double | AlgMatrixTrace (AlgMatrix aM) |
Computes the trace of the given matrix. More... | |
void | AlgMatrixTranspose (AlgMatrix aM, AlgMatrix bM) |
Computes the transpose of the given matrix: \[ \mathbf{A} = \mathbf{B^T} \] aM = transpose(bM). The dimensions of the result matrix (aM) must be aR == bC, aC == bR. More... | |
void | AlgMatrixCopy (AlgMatrix aM, AlgMatrix bM) |
Copies the values of the matrix bM to the result matric aM: \[ \mathbf{A} = \mathbf{B} \] . More... | |
void | AlgMatrixScale (AlgMatrix aM, AlgMatrix bM, double sv) |
Multiplies the given matrix by the given scalar: \[ \mathbf{A} = s \mathbf{B} \] . More... | |
void | AlgMatrixScaleAdd (AlgMatrix aM, AlgMatrix bM, AlgMatrix cM, double sv) |
Multiplies the a matrix by a scalar and then adds another matrix: \[ \mathbf{A} = \mathbf{B} + s \mathbf{C}. \] All the matrices must have the same dimensions. More... | |
void | AlgMatrixScalar (AlgMatrix aM, double sv) |
Sets the elements of the given square matrix so that it is a scalar matrix: \[ \mathbf{A} = s \mathbf{I} \] . More... | |
void | AlgMatrixVectorMul (double *aV, AlgMatrix bM, double *cV) |
Multiplies the matrix \(\mathbf{B}\) by the vector \(\mathbf{c}\): \[ \mathbf{a} = \mathbf{B} \mathbf{c} \] . More... | |
void | AlgMatrixVectorMulAdd (double *aV, AlgMatrix bM, double *cV, double *dV) |
Multiplies the matrix \(\mathbf{B}\) by the vector \(\mathbf{c}\) and adds the vector \(\mathbf{d}\): \[ \mathbf{a} = \mathbf{B} \mathbf{c} + \mathbf{d} \] . More... | |
void | AlgMatrixVectorMulWAdd (double *aV, AlgMatrix bM, double *cV, double *dV, double s, double t) |
Multiplies the matrix \(\mathbf{B}\) by the vector \(\mathbf{c}\) and adds the vector \(\mathbf{d}\) using the given weights \(s\) and \(t\): \[ \mathbf{a} = s \mathbf{B} \mathbf{c} + t \mathbf{d} \] . More... | |
void | AlgMatrixTVectorMul (double *aV, AlgMatrix bM, double *cV) |
Multiplies the transpose of matrix \(\mathbf{B}\) by the vector \(\mathbf{c}\): \[ \mathbf{a} = \mathbf{B}^T \mathbf{c} \] . More... | |
void | AlgMatrixTVectorMulAdd (double *aV, AlgMatrix bM, double *cV, double *dV) |
Multiplies the transpose of matrix \(\mathbf{B}\) by the vector \(\mathbf{c}\): \[ \mathbf{a} = \mathbf{B}^T \mathbf{c} + \mathbf{d} \] . More... | |
AlgError | AlgMatrixRawInv2x2 (double *a00, double *a01, double *a10, double *a11) |
Inverts a raw 2 x 2 matrix. All matrix values are passed using pointers and their values are set to those of the inverse matrix on return. If the given matrix is singular the ALG_ERR_MATRIX_SINGULAR error code is returned and no values are changed. More... | |
AlgError | AlgMatrixRawInv3x3 (double *a00, double *a01, double *a02, double *a10, double *a11, double *a12, double *a20, double *a21, double *a22) |
Inverts a raw 2 x 2 matrix. All matrix values are passed using pointers and their values are set to those of the inverse matrix on return. If the given matrix is singular the ALG_ERR_MATRIX_SINGULAR error code is returned and no values are changed. More... | |
Functions for basic arithmatic with matricies.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.