You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@systemds.apache.org by "Aast12 (via GitHub)" <gi...@apache.org> on 2024/07/03 17:16:37 UTC

Re: [PR] Adapt EigenDecomposition implementation [systemds]

Aast12 commented on code in PR #2038:
URL: https://github.com/apache/systemds/pull/2038#discussion_r1664519384


##########
src/main/java/org/apache/sysds/runtime/matrix/data/LibCommonsMath.java:
##########
@@ -209,6 +218,339 @@ private static MatrixBlock computeSolve(MatrixBlock in1, MatrixBlock in2) {
 		
 		return DataConverter.convertToMatrixBlock(solutionMatrix);
 	}
+
+	/**
+	 * Computes the eigen decomposition of a symmetric matrix.
+	*
+	* @param in The input matrix to compute the eigen decomposition on.
+	* @param threads The number of threads to use for computation.
+	* @return An array of MatrixBlock objects containing the real eigen values and eigen vectors.
+	*/
+	public static MatrixBlock[] computeEigenDecompositionSymm(MatrixBlock in, int threads) {

Review Comment:
   ![image](https://github.com/apache/systemds/assets/18759490/0013632a-2db5-4e4b-a21f-2738ae1c7fd1)
   
   `findEigenVectors` seems to take ~60-70% of the time.
   That performEigenDecomposition is a wrapper for the do-while loop and most of its execution is taken by the matrix updates at the end of each iteration



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@systemds.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org