private static void setToValue(DenseMatrix64F matrix, double val) { for (int i = 0; i < matrix.numRows; i++) { for (int j = 0; j < matrix.numCols; j++) { matrix.unsafe_set(i, j, val); } } }
/** * Differentiates an array by subtracting the previous element from the current element * * @param vectorToDiff * @param vectorToPack Result row vector */ public static void diff(double[] vectorToDiff, DenseMatrix64F vectorToPack) { for (int i = 1; i < vectorToDiff.length; i++) { vectorToPack.unsafe_set(i - 1, 0, vectorToDiff[i] - vectorToDiff[i - 1]); } }
private static void setToValue(DenseMatrix64F matrix, double val) { for (int i = 0; i < matrix.numRows; i++) { for (int j = 0; j < matrix.numCols; j++) { matrix.unsafe_set(i, j, val); } } }
/** * Set a column of a Matrix to an Array * * @param matrix Matrix to set * @param column Column * @param columnValues */ public static void setMatrixColumnFromArray(DenseMatrix64F matrix, int column, double[] columnValues) { for (int i = 0; i < matrix.numRows; i++) { matrix.unsafe_set(i, column, columnValues[i]); } }
/** * Set a column of a Matrix to an Array * * @param matrix Matrix to set * @param column Column * @param columnValues */ public static void setMatrixColumnFromArray(DenseMatrix64F matrix, int column, double[] columnValues, int startRow) { for (int i = startRow; i < columnValues.length; i++) { matrix.unsafe_set(i, column, columnValues[i]); } }
/** * Differentiates an array by subtracting the previous element from the current element * * @param vectorToDiff * @param vectorToPack Result row vector */ public static void diff(double[] vectorToDiff, DenseMatrix64F vectorToPack) { for (int i = 1; i < vectorToDiff.length; i++) { vectorToPack.unsafe_set(i - 1, 0, vectorToDiff[i] - vectorToDiff[i - 1]); } }
/** * Set a column of a Matrix to an Array * * @param matrix Matrix to set * @param column Column * @param columnValues */ public static void setMatrixColumnFromArray(DenseMatrix64F matrix, int column, double[] columnValues) { for (int i = 0; i < matrix.numRows; i++) { matrix.unsafe_set(i, column, columnValues[i]); } }
/** * Set a column of a Matrix to an Array * * @param matrix Matrix to set * @param column Column * @param columnValues */ public static void setMatrixColumnFromArray(DenseMatrix64F matrix, int column, double[] columnValues, int startRow) { for (int i = startRow; i < columnValues.length; i++) { matrix.unsafe_set(i, column, columnValues[i]); } }
public static void matrix3DToDenseMatrix(Matrix3d matrix, DenseMatrix64F denseMatrixToPack, int startRow, int startColumn) { for (int row = 0; row < 3; row++) { for (int column = 0; column < 3; column++) { denseMatrixToPack.unsafe_set(row + startRow, column + startColumn, matrix.getElement(row, column)); } } }
private void set3By3MatrixBlock(DenseMatrix64F denseMatrix, int startRow, int startCol,Matrix3d matrix3d) { if(denseMatrix.numRows < 3 || denseMatrix.numCols < 3) { throw new RuntimeException("Your matrix must be 3x3 or larger."); } for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { denseMatrix.unsafe_set(startRow+i, startCol+j, matrix3d.getElement(i, j)); } } }
private void copyZeros( D1Submatrix64F subU ) { int N = Math.min(A.blockLength,subU.col1-subU.col0); for( int i = 0; i < N; i++ ) { // save the zeros for( int j = 0; j <= i; j++ ) { zerosM.unsafe_set(i,j,subU.get(i,j)); subU.set(i,j,0); } // save the one if( subU.col0 + i + 1 < subU.original.numCols ) { zerosM.unsafe_set(i,i+1,subU.get(i,i+1)); subU.set(i,i+1,1); } } }
private void copyZeros( D1Submatrix64F subU ) { int N = Math.min(A.blockLength,subU.col1-subU.col0); for( int i = 0; i < N; i++ ) { // save the zeros for( int j = 0; j <= i; j++ ) { zerosM.unsafe_set(i,j,subU.get(i,j)); subU.set(i,j,0); } // save the one if( subU.col0 + i + 1 < subU.original.numCols ) { zerosM.unsafe_set(i,i+1,subU.get(i,i+1)); subU.set(i,i+1,1); } } }
private void copyZeros( D1Submatrix64F subU ) { int N = Math.min(A.blockLength,subU.col1-subU.col0); for( int i = 0; i < N; i++ ) { // save the zeros for( int j = 0; j <= i; j++ ) { zerosM.unsafe_set(i,j,subU.get(i,j)); subU.set(i,j,0); } // save the one if( subU.col0 + i + 1 < subU.original.numCols ) { zerosM.unsafe_set(i,i+1,subU.get(i,i+1)); subU.set(i,i+1,1); } } }
public static void scaleColumn(double alpha, int column, DenseMatrix64F matrix) { if( column < 0 || column >= matrix.getNumCols()) throw new IllegalArgumentException("Specified column index is out of bounds: " + column + ", number of columns in matrix: " + matrix.getNumCols()); for (int row = 0; row < matrix.getNumRows(); row++) matrix.unsafe_set(row, column, alpha * matrix.unsafe_get(row, column)); }
public static void maximize(DenseMatrix64F p, double minval) { int rows = p.getNumRows(); int cols = p.getNumCols(); for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { double val = p.get(i, j); if(val<minval) p.unsafe_set(j, j, minval); } } }
public static void scaleRow(double alpha, int row, DenseMatrix64F matrix) { if( row < 0 || row >= matrix.getNumRows()) throw new IllegalArgumentException("Specified row index is out of bounds: " + row + ", number of rows in matrix: " + matrix.getNumRows()); for (int column = 0; column < matrix.getNumCols(); column++) matrix.unsafe_set(row, column, alpha * matrix.unsafe_get(row, column)); }
/** * C=diagxmat(vec,B) C=diag(vec) * B */ public static DenseMatrix64F diagxmat(final RowD1Matrix64F diag, final RowD1Matrix64F B) { //if (!MatrixFeatures.isVector(diag)) //logger.info("diagXMat: sizes A,B: diag is NOT vector."); DenseMatrix64F result = B.copy(); for (int i = 0; i < result.numRows; i++) { for (int j = 0; j < result.numCols; j++) { result.unsafe_set(i, j, result.unsafe_get(i, j) * diag.get(i)); } } return result; } // END diagxmat
@Override public DenseMatrix64F getW( DenseMatrix64F W ) { int m = compact ? numSingular : numRows; int n = compact ? numSingular : numCols; if( W == null ) W = new DenseMatrix64F(m,n); else { W.reshape(m,n, false); W.zero(); } for( int i = 0; i < numSingular; i++ ) { W.unsafe_set(i,i, singularValues[i]); } return W; }
@Override public DenseMatrix64F getW( DenseMatrix64F W ) { int m = compact ? numSingular : numRows; int n = compact ? numSingular : numCols; if( W == null ) W = new DenseMatrix64F(m,n); else { W.reshape(m,n, false); W.zero(); } for( int i = 0; i < numSingular; i++ ) { W.unsafe_set(i,i, singularValues[i]); } return W; }
@Override public DenseMatrix64F getW( DenseMatrix64F W ) { int m = compact ? numSingular : numRows; int n = compact ? numSingular : numCols; if( W == null ) W = new DenseMatrix64F(m,n); else { W.reshape(m,n, false); W.zero(); } for( int i = 0; i < numSingular; i++ ) { W.unsafe_set(i,i, singularValues[i]); } return W; }