Class CommonOps_FDF6

java.lang.Object
org.ejml.dense.fixed.CommonOps_FDF6

@Generated("org.ejml.dense.fixed.GenerateCommonOps_DDF") public class CommonOps_FDF6 extends Object

Common matrix operations for fixed sized matrices which are 6 x 6 or 6 element vectors.

DO NOT MODIFY. Automatically generated code created by GenerateCommonOps_DDF

  • Constructor Details

    • CommonOps_FDF6

      public CommonOps_FDF6()
  • Method Details

    • add

      public static void add(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c = a + b
      cij = aij + bij

      Matrix C can be the same instance as Matrix A and/or B.

      Parameters:
      a - A Matrix. Not modified.
      b - A Matrix. Not modified.
      c - A Matrix where the results are stored. Modified.
    • add

      public static void add(FMatrix6 a, FMatrix6 b, FMatrix6 c)

      Performs the following operation:

      c = a + b
      ci = ai + bi

      Vector C can be the same instance as Vector A and/or B.

      Parameters:
      a - A Vector. Not modified.
      b - A Vector. Not modified.
      c - A Vector where the results are stored. Modified.
    • addEquals

      public static void addEquals(FMatrix6x6 a, FMatrix6x6 b)

      Performs the following operation:

      a = a + b
      aij = aij + bij

      Parameters:
      a - A Matrix. Modified.
      b - A Matrix. Not modified.
    • addEquals

      public static void addEquals(FMatrix6 a, FMatrix6 b)

      Performs the following operation:

      a = a + b
      ai = ai + bi

      Parameters:
      a - A Vector. Modified.
      b - A Vector. Not modified.
    • subtract

      public static void subtract(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c = a - b
      cij = aij - bij

      Matrix C can be the same instance as Matrix A and/or B.

      Parameters:
      a - A Matrix. Not modified.
      b - A Matrix. Not modified.
      c - A Matrix where the results are stored. Modified.
    • subtract

      public static void subtract(FMatrix6 a, FMatrix6 b, FMatrix6 c)

      Performs the following operation:

      c = a - b
      ci = ai - bi

      Vector C can be the same instance as Vector A and/or B.

      Parameters:
      a - A Vector. Not modified.
      b - A Vector. Not modified.
      c - A Vector where the results are stored. Modified.
    • subtractEquals

      public static void subtractEquals(FMatrix6x6 a, FMatrix6x6 b)

      Performs the following operation:

      a = a - b
      aij = aij - bij

      Parameters:
      a - A Matrix. Modified.
      b - A Matrix. Not modified.
    • subtractEquals

      public static void subtractEquals(FMatrix6 a, FMatrix6 b)

      Performs the following operation:

      a = a - b
      ai = ai - bi

      Parameters:
      a - A Vector. Modified.
      b - A Vector. Not modified.
    • transpose

      public static void transpose(FMatrix6x6 m)
      Performs an in-place transpose. This algorithm is only efficient for square matrices.
      Parameters:
      m - The matrix that is to be transposed. Modified.
    • transpose

      public static FMatrix6x6 transpose(FMatrix6x6 input, FMatrix6x6 output)

      Transposes matrix 'a' and stores the results in 'b':

      bij = aji
      where 'b' is the transpose of 'a'.

      Parameters:
      input - The original matrix. Not modified.
      output - Where the transpose is stored. If null a new matrix is created. Modified.
      Returns:
      The transposed matrix.
    • mult

      public static void mult(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c = a * b

      cij = ∑k=1:n { aik * bkj}

      Parameters:
      a - The left matrix in the multiplication operation. Not modified.
      b - The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • mult

      public static void mult(float alpha, FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c = α * a * b

      cij = α ∑k=1:n { aik * bkj}

      Parameters:
      alpha - Scaling factor.
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multTransA

      public static void multTransA(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c = aT * b

      cij = ∑k=1:n { aki * bkj}

      Parameters:
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multTransA

      public static void multTransA(float alpha, FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c = α * aT * b

      cij = α * ∑k=1:n { aki * bkj}

      Parameters:
      alpha - Scaling factor.
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multTransAB

      public static void multTransAB(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c = aT * bT
      cij = ∑k=1:n { aki * bjk}

      Parameters:
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multTransAB

      public static void multTransAB(float alpha, FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c = α*aT * bT
      cij = α*∑k=1:n { aki * bjk}

      Parameters:
      alpha - Scaling factor.
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multTransB

      public static void multTransB(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c = a * bT
      cij = ∑k=1:n { aik * bjk}

      Parameters:
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multTransB

      public static void multTransB(float alpha, FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c = α * a * bT
      cij = α*∑k=1:n { aik * bjk}

      Parameters:
      alpha - Scaling factor.
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multAdd

      public static void multAdd(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c += a * b

      cij += ∑k=1:n { aik * bkj}

      Parameters:
      a - The left matrix in the multiplication operation. Not modified.
      b - The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multAdd

      public static void multAdd(float alpha, FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c += α * a * b

      cij += α ∑k=1:n { aik * bkj}

      Parameters:
      alpha - Scaling factor.
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multAddTransA

      public static void multAddTransA(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c += aT * b

      cij += ∑k=1:n { aki * bkj}

      Parameters:
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multAddTransA

      public static void multAddTransA(float alpha, FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c += α * aT * b

      cij += α * ∑k=1:n { aki * bkj}

      Parameters:
      alpha - Scaling factor.
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multAddTransAB

      public static void multAddTransAB(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c += aT * bT
      cij += ∑k=1:n { aki * bjk}

      Parameters:
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multAddTransAB

      public static void multAddTransAB(float alpha, FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c += α*aT * bT
      cij += α*∑k=1:n { aki * bjk}

      Parameters:
      alpha - Scaling factor.
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multAddTransB

      public static void multAddTransB(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c += a * bT
      cij += ∑k=1:n { aik * bjk}

      Parameters:
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multAddTransB

      public static void multAddTransB(float alpha, FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs the following operation:

      c += α * a * bT
      cij += α*∑k=1:n { aik * bjk}

      Parameters:
      alpha - Scaling factor.
      a - (Input) The left matrix in the multiplication operation. Not modified.
      b - (Input) The right matrix in the multiplication operation. Not modified.
      c - (Output) Where the results of the operation are stored. Modified.
    • multAddOuter

      public static void multAddOuter(float alpha, FMatrix6x6 A, float beta, FMatrix6 u, FMatrix6 v, FMatrix6x6 C)
      C = αA + βu*vT
      Parameters:
      alpha - scale factor applied to A
      A - matrix
      beta - scale factor applies to outer product
      u - vector
      v - vector
      C - Storage for solution. Can be same instance as A.
    • mult

      public static void mult(FMatrix6x6 a, FMatrix6 b, FMatrix6 c)

      Performs matrix to vector multiplication:

      c = a * b

      ci = ∑k=1:n { aik * bk}

      Parameters:
      a - The left matrix in the multiplication operation. Not modified.
      b - The right vector in the multiplication operation. Not modified.
      c - Where the results of the operation are stored. Modified.
    • mult

      public static void mult(FMatrix6 a, FMatrix6x6 b, FMatrix6 c)

      Performs vector to matrix multiplication:

      c = a * b

      cj = ∑k=1:n { bk * akj }

      Parameters:
      a - The left vector in the multiplication operation. Not modified.
      b - The right matrix in the multiplication operation. Not modified.
      c - Where the results of the operation are stored. Modified.
    • dot

      public static float dot(FMatrix6 a, FMatrix6 b)

      Performs the vector dot product:

      c = a * b

      c ≥ ∑k=1:n { bk * ak }

      Parameters:
      a - The left vector in the multiplication operation. Not modified.
      b - The right matrix in the multiplication operation. Not modified.
      Returns:
      The dot product
    • setIdentity

      public static void setIdentity(FMatrix6x6 a)
      Sets all the diagonal elements equal to one and everything else equal to zero. If this is a square matrix then it will be an identity matrix.
      Parameters:
      a - A matrix.
    • cholL

      public static boolean cholL(FMatrix6x6 A)
      Performs a lower Cholesky decomposition of matrix 'A' and stores result in A.
      Parameters:
      A - (Input) SPD Matrix. (Output) lower cholesky.
      Returns:
      true if it was successful or false if it failed. Not always reliable.
    • cholU

      public static boolean cholU(FMatrix6x6 A)
      Performs an upper Cholesky decomposition of matrix 'A' and stores result in A.
      Parameters:
      A - (Input) SPD Matrix. (Output) upper cholesky.
      Returns:
      true if it was successful or false if it failed. Not always reliable.
    • trace

      public static float trace(FMatrix6x6 a)

      This computes the trace of the matrix:

      trace = ∑i=1:n { aii }

      The trace is only defined for square matrices.

      Parameters:
      a - A square matrix. Not modified.
    • diag

      public static void diag(FMatrix6x6 input, FMatrix6 out)

      Extracts all diagonal elements from 'input' and places them inside the 'out' vector. Elements are in sequential order.

      Parameters:
      input - Matrix. Not modified.
      out - Vector containing diagonal elements. Modified.
    • elementMax

      public static float elementMax(FMatrix6x6 a)

      Returns the value of the element in the matrix that has the largest value.

      Max{ aij } for all i and j

      Parameters:
      a - A matrix. Not modified.
      Returns:
      The max element value of the matrix.
    • elementMax

      public static float elementMax(FMatrix6 a)

      Returns the value of the element in the vector that has the largest value.

      Max{ ai } for all i

      Parameters:
      a - A vector. Not modified.
      Returns:
      The max element value of the matrix.
    • elementMaxAbs

      public static float elementMaxAbs(FMatrix6x6 a)

      Returns the absolute value of the element in the matrix that has the largest absolute value.

      Max{ |aij| } for all i and j

      Parameters:
      a - A matrix. Not modified.
      Returns:
      The max abs element value of the matrix.
    • elementMaxAbs

      public static float elementMaxAbs(FMatrix6 a)

      Returns the absolute value of the element in the vector that has the largest absolute value.

      Max{ |ai| } for all i

      Parameters:
      a - A matrix. Not modified.
      Returns:
      The max abs element value of the vector.
    • elementMin

      public static float elementMin(FMatrix6x6 a)

      Returns the value of the element in the matrix that has the minimum value.

      Min{ aij } for all i and j

      Parameters:
      a - A matrix. Not modified.
      Returns:
      The value of element in the matrix with the minimum value.
    • elementMin

      public static float elementMin(FMatrix6 a)

      Returns the value of the element in the vector that has the minimum value.

      Min{ ai } for all

      Parameters:
      a - A matrix. Not modified.
      Returns:
      The value of element in the vector with the minimum value.
    • elementMinAbs

      public static float elementMinAbs(FMatrix6x6 a)

      Returns the absolute value of the element in the matrix that has the smallest absolute value.

      Min{ |aij| } for all i and j

      Parameters:
      a - A matrix. Not modified.
      Returns:
      The max element value of the matrix.
    • elementMinAbs

      public static float elementMinAbs(FMatrix6 a)

      Returns the absolute value of the element in the vector that has the smallest absolute value.

      Min{ |ai| } for all i

      Parameters:
      a - A matrix. Not modified.
      Returns:
      The max element value of the vector.
    • elementMult

      public static void elementMult(FMatrix6x6 a, FMatrix6x6 b)

      Performs an element by element multiplication operation:

      aij = aij * bij

      Parameters:
      a - The left matrix in the multiplication operation. Modified.
      b - The right matrix in the multiplication operation. Not modified.
    • elementMult

      public static void elementMult(FMatrix6 a, FMatrix6 b)

      Performs an element by element multiplication operation:

      ai = ai * bi

      Parameters:
      a - The left vector in the multiplication operation. Modified.
      b - The right vector in the multiplication operation. Not modified.
    • elementMult

      public static void elementMult(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs an element by element multiplication operation:

      cij = aij * bij

      Parameters:
      a - The left matrix in the multiplication operation. Not modified.
      b - The right matrix in the multiplication operation. Not modified.
      c - Where the results of the operation are stored. Modified.
    • elementMult

      public static void elementMult(FMatrix6 a, FMatrix6 b, FMatrix6 c)

      Performs an element by element multiplication operation:

      ci = ai * bj

      Parameters:
      a - The left vector in the multiplication operation. Not modified.
      b - The right vector in the multiplication operation. Not modified.
      c - Where the results of the operation are stored. Modified.
    • elementDiv

      public static void elementDiv(FMatrix6x6 a, FMatrix6x6 b)

      Performs an element by element division operation:

      aij = aij / bij

      Parameters:
      a - The left matrix in the division operation. Modified.
      b - The right matrix in the division operation. Not modified.
    • elementDiv

      public static void elementDiv(FMatrix6 a, FMatrix6 b)

      Performs an element by element division operation:

      ai = ai / bi

      Parameters:
      a - The left vector in the division operation. Modified.
      b - The right vector in the division operation. Not modified.
    • elementDiv

      public static void elementDiv(FMatrix6x6 a, FMatrix6x6 b, FMatrix6x6 c)

      Performs an element by element division operation:

      cij = aij / bij

      Parameters:
      a - The left matrix in the division operation. Not modified.
      b - The right matrix in the division operation. Not modified.
      c - Where the results of the operation are stored. Modified.
    • elementDiv

      public static void elementDiv(FMatrix6 a, FMatrix6 b, FMatrix6 c)

      Performs an element by element division operation:

      ci = ai / bi

      Parameters:
      a - The left vector in the division operation. Not modified.
      b - The right vector in the division operation. Not modified.
      c - Where the results of the operation are stored. Modified.
    • scale

      public static void scale(float alpha, FMatrix6x6 a)

      Performs an in-place element by element scalar multiplication.

      aij = α*aij

      Parameters:
      a - The matrix that is to be scaled. Modified.
      alpha - the amount each element is multiplied by.
    • scale

      public static void scale(float alpha, FMatrix6 a)

      Performs an in-place element by element scalar multiplication.

      aij = α*aij

      Parameters:
      a - The vector that is to be scaled. Modified.
      alpha - the amount each element is multiplied by.
    • scale

      public static void scale(float alpha, FMatrix6x6 a, FMatrix6x6 b)

      Performs an element by element scalar multiplication.

      bij = α*aij

      Parameters:
      alpha - the amount each element is multiplied by.
      a - The matrix that is to be scaled. Not modified.
      b - Where the scaled matrix is stored. Modified.
    • scale

      public static void scale(float alpha, FMatrix6 a, FMatrix6 b)

      Performs an element by element scalar multiplication.

      bi = α*ai

      Parameters:
      alpha - the amount each element is multiplied by.
      a - The vector that is to be scaled. Not modified.
      b - Where the scaled matrix is stored. Modified.
    • divide

      public static void divide(FMatrix6x6 a, float alpha)

      Performs an in-place element by element scalar division. Scalar denominator.

      aij = aij

      Parameters:
      a - The matrix whose elements are to be divided. Modified.
      alpha - the amount each element is divided by.
    • divide

      public static void divide(FMatrix6 a, float alpha)

      Performs an in-place element by element scalar division. Scalar denominator.

      ai = ai

      Parameters:
      a - The vector whose elements are to be divided. Modified.
      alpha - the amount each element is divided by.
    • divide

      public static void divide(FMatrix6x6 a, float alpha, FMatrix6x6 b)

      Performs an element by element scalar division. Scalar denominator.

      bij = aij

      Parameters:
      alpha - the amount each element is divided by.
      a - The matrix whose elements are to be divided. Not modified.
      b - Where the results are stored. Modified.
    • divide

      public static void divide(FMatrix6 a, float alpha, FMatrix6 b)

      Performs an element by element scalar division. Scalar denominator.

      bi = ai

      Parameters:
      alpha - the amount each element is divided by.
      a - The vector whose elements are to be divided. Not modified.
      b - Where the results are stored. Modified.
    • changeSign

      public static void changeSign(FMatrix6x6 a)

      Changes the sign of every element in the matrix.

      aij = -aij

      Parameters:
      a - A matrix. Modified.
    • changeSign

      public static void changeSign(FMatrix6 a)

      Changes the sign of every element in the vector.

      ai = -ai

      Parameters:
      a - A vector. Modified.
    • fill

      public static void fill(FMatrix6x6 a, float v)

      Sets every element in the matrix to the specified value.

      aij = value

      Parameters:
      a - A matrix whose elements are about to be set. Modified.
      v - The value each element will have.
    • fill

      public static void fill(FMatrix6 a, float v)

      Sets every element in the vector to the specified value.

      ai = value

      Parameters:
      a - A vector whose elements are about to be set. Modified.
      v - The value each element will have.
    • extractRow

      public static FMatrix6 extractRow(FMatrix6x6 a, int row, FMatrix6 out)
      Extracts the row from the matrix a.
      Parameters:
      a - Input matrix
      row - Which row is to be extracted
      out - output. Storage for the extracted row. If null then a new vector will be returned.
      Returns:
      The extracted row.
    • extractColumn

      public static FMatrix6 extractColumn(FMatrix6x6 a, int column, FMatrix6 out)
      Extracts the column from the matrix a.
      Parameters:
      a - Input matrix
      column - Which column is to be extracted
      out - output. Storage for the extracted column. If null then a new vector will be returned.
      Returns:
      The extracted column.