Class VectorVectorMult_FDRM

java.lang.Object
org.ejml.dense.row.mult.VectorVectorMult_FDRM

@Generated("org.ejml.dense.row.mult.VectorVectorMult_DDRM") public class VectorVectorMult_FDRM extends Object
Operations that involve multiplication of two vectors.
  • Constructor Details

    • VectorVectorMult_FDRM

      public VectorVectorMult_FDRM()
  • Method Details

    • innerProd

      public static float innerProd(FMatrixD1 x, FMatrixD1 y)

      Computes the inner product of the two vectors. In geometry this is known as the dot product.

      k=1:n xk * yk
      where x and y are vectors with n elements.

      These functions are often used inside of highly optimized code and therefor sanity checks are kept to a minimum. It is not recommended that any of these functions be used directly.

      Parameters:
      x - A vector with n elements. Not modified.
      y - A vector with n elements. Not modified.
      Returns:
      The inner product of the two vectors.
    • innerProdA

      public static float innerProdA(FMatrixD1 x, FMatrixD1 A, FMatrixD1 y)

      return = xT*A*y

      Parameters:
      x - A vector with n elements. Not modified.
      A - A matrix with n by m elements. Not modified.
      y - A vector with m elements. Not modified.
      Returns:
      The results.
    • innerProdTranA

      public static float innerProdTranA(FMatrixD1 x, FMatrixD1 A, FMatrixD1 y)

      xTATy

      Parameters:
      x - A vector with n elements. Not modified.
      A - A matrix with n by n elements. Not modified.
      y - A vector with n elements. Not modified.
      Returns:
      The results.
    • outerProd

      public static void outerProd(FMatrixD1 x, FMatrixD1 y, FMatrix1Row A)

      Sets A ∈ ℜ m × n equal to an outer product multiplication of the two vectors. This is also known as a rank-1 operation.

      A = x * y' where x ∈ ℜ m and y ∈ ℜ n are vectors.

      Which is equivalent to: Aij = xi*yj

      These functions are often used inside of highly optimized code and therefor sanity checks are kept to a minimum. It is not recommended that any of these functions be used directly.

      Parameters:
      x - A vector with m elements. Not modified.
      y - A vector with n elements. Not modified.
      A - A Matrix with m by n elements. Modified.
    • addOuterProd

      public static void addOuterProd(float gamma, FMatrixD1 x, FMatrixD1 y, FMatrix1Row A)

      Adds to A ∈ ℜ m × n the results of an outer product multiplication of the two vectors. This is also known as a rank 1 update.

      A = A + γ x * yT where x ∈ ℜ m and y ∈ ℜ n are vectors.

      Which is equivalent to: Aij = Aij + γ xi*yj

      These functions are often used inside of highly optimized code and therefor sanity checks are kept to a minimum. It is not recommended that any of these functions be used directly.

      Parameters:
      gamma - A multiplication factor for the outer product.
      x - A vector with m elements. Not modified.
      y - A vector with n elements. Not modified.
      A - A Matrix with m by n elements. Modified.
    • householder

      public static void householder(float gamma, FMatrixD1 u, FMatrixD1 x, FMatrixD1 y)

      Multiplies a householder reflection against a vector:

      y = (I + γ u uT)x

      The Householder reflection is used in some implementations of QR decomposition.

      Parameters:
      u - A vector. Not modified.
      x - a vector. Not modified.
      y - Vector where the result are written to.
    • rank1Update

      public static void rank1Update(float gamma, FMatrixRMaj A, FMatrixRMaj u, FMatrixRMaj w, FMatrixRMaj B)

      Performs a rank one update on matrix A using vectors u and w. The results are stored in B.

      B = A + γ u wT

      This is called a rank1 update because the matrix u wT has a rank of 1. Both A and B can be the same matrix instance, but there is a special rank1Update for that.

      Parameters:
      gamma - A scalar.
      A - A m by m matrix. Not modified.
      u - A vector with m elements. Not modified.
      w - A vector with m elements. Not modified.
      B - A m by m matrix where the results are stored. Modified.
    • rank1Update

      public static void rank1Update(float gamma, FMatrixRMaj A, FMatrixRMaj u, FMatrixRMaj w)

      Performs a rank one update on matrix A using vectors u and w. The results are stored in A.

      A = A + γ u wT

      This is called a rank1 update because the matrix u wT has a rank of 1.

      Parameters:
      gamma - A scalar.
      A - A m by m matrix. Modified.
      u - A vector with m elements. Not modified.