public DMatrix vectorNorm() { DMatrix m = DMath.createMatrix(this.rows(), this.columns(), this.toArray()); DMatrix Denom = this.mul(this).sumColumns(); Denom.sqrti(); return m.divRows(Denom); }
public DMatrix sumColumns() { DMatrix sum = DMath.createMatrix(this.rows, 1); DMatrix multiplier = DMath.createOnesMatrix(this.columns, 1); SimpleCuBlas.gemm(false, false, this, multiplier, sum, 1.0, 0.0); return sum; }
public DMatrix sub(double v) { DMatrix m = DMath.createMatrix(this.rows(), this.columns(), this.toArray()); for (int i = 0; i < this.length(); i++) m.put(i, m.get(i) - v); return m; }
public DMatrix sumRows(int startRow, int howMany) { DMatrix sum = DMath.createMatrix(1, this.columns()); DMatrix multiplier = DMath.createOnesMatrix(1, howMany); SimpleCuBlas.cust_gemv(false, this, multiplier, sum, 1.0, 0.0, startRow, howMany); return sum; }
public DMatrix inv() { DMatrix m = DMath.createMatrix(this.rows(), this.columns(), this.toArray()); SimpleCuBlas.inverseElements(m); return m; }