public static void assertMatrix(INDArray... arr) { for (INDArray a1 : arr) assertMatrix(a1); }
@Override public IComplexNDArray gemv(IComplexNumber alpha, IComplexNDArray a, IComplexNDArray x, IComplexNumber beta, IComplexNDArray y) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); level2().gemv('N', 'N', alpha, a, x, beta, y); return y; }
@Override public INDArray gemv(Number alpha, INDArray a, INDArray x, double beta, INDArray y) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); level2().gemv(BlasBufferUtil.getCharForTranspose(a), BlasBufferUtil.getCharForTranspose(x), alpha.doubleValue(), a, x, beta, y); return y; }
@Override public IComplexNDArray gemm(IComplexNumber alpha, IComplexNDArray a, IComplexNDArray b, IComplexNumber beta, IComplexNDArray c) { LinAlgExceptions.assertMatrix(a, b, c); level3().gemm(BlasBufferUtil.getCharForTranspose(a), BlasBufferUtil.getCharForTranspose(b), BlasBufferUtil.getCharForTranspose(c), alpha, a, b, beta, c); return c; }
@Override public INDArray ger(float alpha, INDArray x, INDArray y, INDArray a) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); if (x.data().dataType() == DataBuffer.Type.DOUBLE) { return ger((double) alpha, x, y, a); } level2().ger('N', alpha, x, y, a); return a; }
@Override public INDArray gemv(double alpha, INDArray a, INDArray x, double beta, INDArray y) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); if (a.data().dataType() == DataBuffer.Type.FLOAT) { // DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, a, x, y); return gemv((float) alpha, a, x, (float) beta, y); } else { level2().gemv('N', 'N', alpha, a, x, beta, y); } return y; }
@Override public INDArray gemv(float alpha, INDArray a, INDArray x, float beta, INDArray y) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); if (a.data().dataType() == DataBuffer.Type.DOUBLE) { return gemv((double) alpha, a, x, (double) beta, y); } level2().gemv('N', 'N', alpha, a, x, beta, y); return y; }
@Override public INDArray ger(double alpha, INDArray x, INDArray y, INDArray a) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); if (x.data().dataType() == DataBuffer.Type.FLOAT) { return ger((float) alpha, x, y, a); } level2().ger('N', alpha, x, y, a); return a; }
@Override public IComplexNDArray geru(IComplexDouble alpha, IComplexNDArray x, IComplexNDArray y, IComplexNDArray a) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); if (x.data().dataType() == DataBuffer.Type.FLOAT) { return geru(alpha.asFloat(), x, y, a); } level2().geru('N', alpha, x, y, a); return a; }
@Override public IComplexNDArray geru(IComplexFloat alpha, IComplexNDArray x, IComplexNDArray y, IComplexNDArray a) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); if (x.data().dataType() == DataBuffer.Type.DOUBLE) { return geru(alpha.asDouble(), x, y, a); } level2().geru('N', alpha, x, y, a); return a; }
@Override public INDArray gemm(double alpha, INDArray a, INDArray b, double beta, INDArray c) { LinAlgExceptions.assertMatrix(a, b, c); if (a.data().dataType() == DataBuffer.Type.FLOAT) { return gemm((float) alpha, a, b, (float) beta, c); } level3().gemm(BlasBufferUtil.getCharForTranspose(a), BlasBufferUtil.getCharForTranspose(b), BlasBufferUtil.getCharForTranspose(c), alpha, a, b, beta, c); return c; }
@Override public IComplexNDArray gemv(IComplexFloat alpha, IComplexNDArray a, IComplexNDArray x, IComplexFloat beta, IComplexNDArray y) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); if (x.data().dataType() == DataBuffer.Type.DOUBLE) { return gemv(alpha.asDouble(), a, x, beta.asDouble(), y); } level2().gemv('N', 'N', alpha, a, x, beta, y); return y; }
@Override public IComplexNDArray gemv(IComplexDouble alpha, IComplexNDArray a, IComplexNDArray x, IComplexDouble beta, IComplexNDArray y) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); if (x.data().dataType() == DataBuffer.Type.FLOAT) { return gemv(alpha.asFloat(), a, x, beta.asFloat(), y); } level2().gemv('N', 'N', alpha, a, x, beta, y); return y; }
@Override public INDArray gemm(float alpha, INDArray a, INDArray b, float beta, INDArray c) { LinAlgExceptions.assertMatrix(a, b, c); if (a.data().dataType() == DataBuffer.Type.DOUBLE) { return gemm((double) alpha, a, b, (double) beta, c); } level3().gemm(BlasBufferUtil.getCharForTranspose(a), BlasBufferUtil.getCharForTranspose(b), BlasBufferUtil.getCharForTranspose(c), alpha, a, b, beta, c); return c; }
@Override public IComplexNDArray gemv(IComplexNumber alpha, IComplexNDArray a, IComplexNDArray x, IComplexNumber beta, IComplexNDArray y) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); level2().gemv('N', 'N', alpha, a, x, beta, y); return y; }
@Override public INDArray gemv(Number alpha, INDArray a, INDArray x, double beta, INDArray y) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); level2().gemv(BlasBufferUtil.getCharForTranspose(a), BlasBufferUtil.getCharForTranspose(x), alpha.doubleValue(), a, x, beta, y); return y; }
@Override public INDArray ger(double alpha, INDArray x, INDArray y, INDArray a) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); if (x.data().dataType() == DataBuffer.Type.FLOAT) { return ger((float) alpha, x, y, a); } level2().ger('N', alpha, x, y, a); return a; }
@Override public INDArray gemv(double alpha, INDArray a, INDArray x, double beta, INDArray y) { LinAlgExceptions.assertVector(x, y); LinAlgExceptions.assertMatrix(a); if (a.data().dataType() == DataBuffer.Type.FLOAT) { // DefaultOpExecutioner.validateDataType(DataBuffer.Type.FLOAT, a, x, y); return gemv((float) alpha, a, x, (float) beta, y); } else { level2().gemv('N', 'N', alpha, a, x, beta, y); } return y; }
@Override public INDArray gemm(float alpha, INDArray a, INDArray b, float beta, INDArray c) { LinAlgExceptions.assertMatrix(a, b, c); if (a.data().dataType() == DataBuffer.Type.DOUBLE) { return gemm((double) alpha, a, b, (double) beta, c); } level3().gemm(BlasBufferUtil.getCharForTranspose(a), BlasBufferUtil.getCharForTranspose(b), BlasBufferUtil.getCharForTranspose(c), alpha, a, b, beta, c); return c; }
@Override public INDArray gemm(double alpha, INDArray a, INDArray b, double beta, INDArray c) { LinAlgExceptions.assertMatrix(a, b, c); if (a.data().dataType() == DataBuffer.Type.FLOAT) { return gemm((float) alpha, a, b, (float) beta, c); } level3().gemm(BlasBufferUtil.getCharForTranspose(a), BlasBufferUtil.getCharForTranspose(b), BlasBufferUtil.getCharForTranspose(c), alpha, a, b, beta, c); return c; }