public static void assertVector(INDArray... arr) { for (INDArray a1 : arr) assertVector(a1); }
@Override public double nrm2(INDArray x) { LinAlgExceptions.assertVector(x); return level1().nrm2(x); }
@Override public IComplexNumber nrm2(IComplexNDArray x) { LinAlgExceptions.assertVector(x); return level1().nrm2(x); }
@Override public INDArray copy(INDArray x, INDArray y) { LinAlgExceptions.assertVector(x, y); level1().copy(x, y); return y; }
@Override public IComplexNDArray copy(IComplexNDArray x, IComplexNDArray y) { LinAlgExceptions.assertVector(x, y); level1().copy(x, y); return y; }
@Override public int iamax(IComplexNDArray x) { LinAlgExceptions.assertVector(x); return level1().iamax(x); }
@Override public IComplexNumber dotu(IComplexNDArray x, IComplexNDArray y) { LinAlgExceptions.assertVector(x, y); return level1().dot(x.length(), Nd4j.UNIT, x, 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 scal(double alpha, INDArray x) { LinAlgExceptions.assertVector(x); if (x.data().dataType() == DataBuffer.Type.FLOAT) return scal((float) alpha, x); level1().scal(x.length(), alpha, x); return x; }
@Override public INDArray axpy(double da, INDArray dx, INDArray dy) { LinAlgExceptions.assertVector(dx, dy); if (dx.data().dataType() == DataBuffer.Type.FLOAT) return axpy((float) da, dx, dy); level1().axpy(dx.length(), da, dx, dy); return dy; }
@Override public IComplexNDArray axpy(IComplexNumber da, IComplexNDArray dx, IComplexNDArray dy) { LinAlgExceptions.assertVector(dx, dy); if (dx.data().dataType() == DataBuffer.Type.DOUBLE) return axpy(da.asDouble(), dx, dy); return axpy(da.asFloat(), dx, dy); }
@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 scal(float alpha, INDArray x) { LinAlgExceptions.assertVector(x); if (x.data().dataType() == DataBuffer.Type.DOUBLE) return scal((double) alpha, x); level1().scal(x.length(), alpha, x); return x; }
@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 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 IComplexNDArray scal(IComplexFloat alpha, IComplexNDArray x) { LinAlgExceptions.assertVector(x); if (x.data().dataType() == DataBuffer.Type.DOUBLE) return scal(alpha.asDouble(), x); level1().scal(x.length(), alpha, x); return x; }
@Override public IComplexNDArray scal(IComplexDouble alpha, IComplexNDArray x) { LinAlgExceptions.assertVector(x); if (x.data().dataType() == DataBuffer.Type.FLOAT) return scal(alpha.asDouble(), x); level1().scal(x.length(), alpha, x); return x; }
@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 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; }