Class RealComplexDenseMatrixMultTranspose
java.lang.Object
org.flag4j.operations.dense.real_complex.RealComplexDenseMatrixMultTranspose
This class contains several low level methods for computing matrix-matrix multiplications with a transpose for a
real dense matrix and a complex dense matrix.
WARNING: These methods do not perform any sanity checks.
WARNING: These methods do not perform any sanity checks.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic CNumber[]
multTranspose
(double[] src1, Shape shape1, CNumber[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix.static CNumber[]
multTranspose
(CNumber[] src1, Shape shape1, double[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix.static CNumber[]
multTransposeBlocked
(double[] src1, Shape shape1, CNumber[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a blocked algorithm.static CNumber[]
multTransposeBlocked
(CNumber[] src1, Shape shape1, double[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a blocked algorithm.static CNumber[]
multTransposeBlockedConcurrent
(double[] src1, Shape shape1, CNumber[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a concurrent implementation of a blocked algorithm.static CNumber[]
multTransposeBlockedConcurrent
(CNumber[] src1, Shape shape1, double[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a concurrent implementation of a blocked algorithm.static CNumber[]
multTransposeConcurrent
(double[] src1, Shape shape1, CNumber[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a concurrent algorithm.static CNumber[]
multTransposeConcurrent
(CNumber[] src1, Shape shape1, double[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a concurrent algorithm.
-
Constructor Details
-
RealComplexDenseMatrixMultTranspose
private RealComplexDenseMatrixMultTranspose()
-
-
Method Details
-
multTranspose
Multiplies a matrix to the transpose of a second matrix. This method may be significantly faster than computing the transpose and multiplication in two steps.- Parameters:
src1
- Entries of the first matrix.shape1
- Shape of the first matrix.src2
- Entries of the second matrix.shape2
- Shape of the second matrix.- Returns:
- The result of multiplying the first matrix with the transpose of the second matrix.
-
multTransposeBlocked
public static CNumber[] multTransposeBlocked(CNumber[] src1, Shape shape1, double[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a blocked algorithm. This method may be significantly faster than computing the transpose and multiplication in two steps.- Parameters:
src1
- Entries of the first matrix.shape1
- Shape of the first matrix.src2
- Entries of the second matrix.shape2
- Shape of the second matrix.- Returns:
- The result of multiplying the first matrix with the transpose of the second matrix.
-
multTransposeConcurrent
public static CNumber[] multTransposeConcurrent(CNumber[] src1, Shape shape1, double[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a concurrent algorithm. This method may be significantly faster than computing the transpose and multiplication in two steps.- Parameters:
src1
- Entries of the first matrix.shape1
- Shape of the first matrix.src2
- Entries of the second matrix.shape2
- Shape of the second matrix.- Returns:
- The result of multiplying the first matrix with the transpose of the second matrix.
-
multTransposeBlockedConcurrent
public static CNumber[] multTransposeBlockedConcurrent(CNumber[] src1, Shape shape1, double[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a concurrent implementation of a blocked algorithm. This method may be significantly faster than computing the transpose and multiplication in two steps.- Parameters:
src1
- Entries of the first matrix.shape1
- Shape of the first matrix.src2
- Entries of the second matrix.shape2
- Shape of the second matrix.- Returns:
- The result of multiplying the first matrix with the transpose of the second matrix.
-
multTranspose
Multiplies a matrix to the transpose of a second matrix. This method may be significantly faster than computing the transpose and multiplication in two steps.- Parameters:
src1
- Entries of the first matrix.shape1
- Shape of the first matrix.src2
- Entries of the second matrix.shape2
- Shape of the second matrix.- Returns:
- The result of multiplying the first matrix with the transpose of the second matrix.
-
multTransposeBlocked
public static CNumber[] multTransposeBlocked(double[] src1, Shape shape1, CNumber[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a blocked algorithm. This method may be significantly faster than computing the transpose and multiplication in two steps.- Parameters:
src1
- Entries of the first matrix.shape1
- Shape of the first matrix.src2
- Entries of the second matrix.shape2
- Shape of the second matrix.- Returns:
- The result of multiplying the first matrix with the transpose of the second matrix.
-
multTransposeConcurrent
public static CNumber[] multTransposeConcurrent(double[] src1, Shape shape1, CNumber[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a concurrent algorithm. This method may be significantly faster than computing the transpose and multiplication in two steps.- Parameters:
src1
- Entries of the first matrix.shape1
- Shape of the first matrix.src2
- Entries of the second matrix.shape2
- Shape of the second matrix.- Returns:
- The result of multiplying the first matrix with the transpose of the second matrix.
-
multTransposeBlockedConcurrent
public static CNumber[] multTransposeBlockedConcurrent(double[] src1, Shape shape1, CNumber[] src2, Shape shape2) Multiplies a matrix to the transpose of a second matrix using a concurrent implementation of a blocked algorithm. This method may be significantly faster than computing the transpose and multiplication in two steps.- Parameters:
src1
- Entries of the first matrix.shape1
- Shape of the first matrix.src2
- Entries of the second matrix.shape2
- Shape of the second matrix.- Returns:
- The result of multiplying the first matrix with the transpose of the second matrix.
-