A program to recognize and reward our most engaged community members
package de.mathmagic;import java.util.Arrays;import org.netlib.blas.DGEMM;public class MathMagic { private double[][] matrixMult(double[][] a, double[][] b) { double[][] c = new double[a.length][b.length]; int m = a.length; int n = b[0].length; int k = a[0].length; double alpha = 1.0; double beta = 1.0; DGEMM.DGEMM("N", "N", m, n, k, alpha, a, b, beta, c); return c; } public static void main(String[] args) { MathMagic mm = new MathMagic(); double[][] matrix = new double[2][2]; matrix[0] = new double[]{1,2}; matrix[1] = new double[]{3,4}; System.out.println("input:\n" + Arrays.toString(matrix[0]) + "\n" + Arrays.toString(matrix[1])); double[][] res = mm.matrixMult(matrix,matrix); System.out.println("output:\n" + Arrays.toString(res[0]) + "\n" + Arrays.toString(res[1])); }}
private double[][] matrixMult(double[][] a, double[][] b){ double[][]c = new double [a.length][b.length]; int m = a.length; int n = b[0].length; int k= a[0].length; double alpha = 1.0; double beta = 1.0; System.out.println("First class loader call"); System.out.println("Thread.currentThread().getContextClassLoader() \n" + Thread.currentThread().getContextClassLoader()); // output : // sun.misc.Launcher$AppClassLoader@93dee9 ClassLoader currThLoader = Thread.currentThread().getContextClassLoader(); System.out.println("Sencond class loader call"); System.out.println("de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.class.getClassLoader() \n " +de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.class.getClassLoader()); // output : // PluginClassLoader ([file:C:\eclipse-galileo\workspace\ThesisWorkspace6\rapidminer_vega\lib\plugins\rapidminer-SemWeb-Extension-1.0.000.jar]) Thread.currentThread().setContextClassLoader(de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.class.getClassLoader()); System.out.println("Third class loader call"); System.out.println("Thread.currentThread().getContextClassLoader() \n" + Thread.currentThread().getContextClassLoader()); // output : // PluginClassLoader([file:C:\eclipse-galileo\workspace\ThesisWorkspace6\rapidminer_vega\lib\plugins\rapidminer-SemWeb-Extension-1.0.000.jar]) // Even I try to set the class loader explicitly try { ClassLoader classLoader = de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.class.getClassLoader(); System.out.println("classloader " + classLoader); classLoader.loadClass("org.netlib.blas.DGEMM"); Thread.currentThread().setContextClassLoader( classLoader ); } catch (ClassNotFoundException e) { e.printStackTrace(); } // output: // Even after trying to set the class loader explicitly, I got the same exception which I have already posted. DGEMM.DGEMM("N", "N", m, n, k, alpha, a, b, beta, c); return c; }