/** * * @param ret * @param c * @param col */ public static void fastsetcol(Matrix ret, int c, Vector col) { if (ret instanceof SparseColumnMatrix && col instanceof SparseVector) { ((SparseColumnMatrix) ret).setColumn(c, (SparseVector) col); } else { ret.setColumn(c, col); } }
/** * Creates a new matrix by copying the given set of column vectors. * * @param columns * The column vectors to create a matrix from. Must all be the same * dimensionality. * @return * A new matrix whose columns are equal to the given set of columns. */ public MatrixType copyColumnVectors( final Collection<? extends Vectorizable> columns) { // Create the matrix. final int numRows = VectorUtil.safeGetDimensionality( CollectionUtil.getFirst(columns)); final int numColumns = columns.size(); final MatrixType result = this.createMatrix(numRows, numColumns); // Fill in the matrix with the columns. int columnIndex = 0; for (Vectorizable column : columns) { result.setColumn(columnIndex, column.convertToVector()); columnIndex++; } return result; }
/** * Creates a new matrix by copying the given set of column vectors. * * @param columns * The column vectors to create a matrix from. Must all be the same * dimensionality. * @return * A new matrix whose columns are equal to the given set of columns. */ public MatrixType copyColumnVectors( final Collection<? extends Vectorizable> columns) { // Create the matrix. final int numRows = VectorUtil.safeGetDimensionality( CollectionUtil.getFirst(columns)); final int numColumns = columns.size(); final MatrixType result = this.createMatrix(numRows, numColumns); // Fill in the matrix with the columns. int columnIndex = 0; for (Vectorizable column : columns) { result.setColumn(columnIndex, column.convertToVector()); columnIndex++; } return result; }
/** * Creates a new matrix by copying the given set of column vectors. * * @param columns * The column vectors to create a matrix from. Must all be the same * dimensionality. * @return * A new matrix whose columns are equal to the given set of columns. */ public MatrixType copyColumnVectors( final Collection<? extends Vectorizable> columns) { // Create the matrix. final int numRows = VectorUtil.safeGetDimensionality( CollectionUtil.getFirst(columns)); final int numColumns = columns.size(); final MatrixType result = this.createMatrix(numRows, numColumns); // Fill in the matrix with the columns. int columnIndex = 0; for (Vectorizable column : columns) { result.setColumn(columnIndex, column.convertToVector()); columnIndex++; } return result; }
/** * {@inheritDoc} * @param cogxels {@inheritDoc} * @return {@inheritDoc} */ public Matrix fromCogxels(CogxelState cogxels) { Matrix retval = null; int N = this.getColumnConverters().size(); for( int j = 0; j < N; j++ ) { Vector column = this.getColumnConverters().get(j).fromCogxels( cogxels ); if( retval == null ) { int M = column.getDimensionality(); retval = MatrixFactory.getDefault().createMatrix( M, N ); } retval.setColumn( j, column ); } return retval; }
/** * {@inheritDoc} * @param cogxels {@inheritDoc} * @return {@inheritDoc} */ public Matrix fromCogxels(CogxelState cogxels) { Matrix retval = null; int N = this.getColumnConverters().size(); for( int j = 0; j < N; j++ ) { Vector column = this.getColumnConverters().get(j).fromCogxels( cogxels ); if( retval == null ) { int M = column.getDimensionality(); retval = MatrixFactory.getDefault().createMatrix( M, N ); } retval.setColumn( j, column ); } return retval; }
for( int i = 0; i < numStates; i++ ) transitionMatrix.setColumn( i, outbounds.get(i) );
public Matrix getValue() { final int dim = this.conditionalDistribution.getInputDimensionality(); Matrix parameter = MatrixFactory.getDefault().createMatrix(dim, dim+1); parameter.setColumn(0, this.conditionalDistribution.getMean() ); parameter.setSubMatrix(0,1, this.conditionalDistribution.getCovariance() ); return parameter; }
public Matrix getMean() { Matrix C = this.inverseWishart.getMean(); Vector mean = this.gaussian.getMean(); final int d = this.getInputDimensionality(); Matrix R = MatrixFactory.getDefault().createMatrix(d, d+1); R.setColumn(0, mean); R.setSubMatrix(0, 1, C); return R; }
public Matrix getValue() { final int dim = this.conditionalDistribution.getInputDimensionality(); Matrix parameter = MatrixFactory.getDefault().createMatrix(dim, dim+1); parameter.setColumn(0, this.conditionalDistribution.getMean() ); parameter.setSubMatrix(0,1, this.conditionalDistribution.getCovariance() ); return parameter; }
public Matrix getMean() { Matrix C = this.inverseWishart.getMean(); Vector mean = this.gaussian.getMean(); final int d = this.getInputDimensionality(); Matrix R = MatrixFactory.getDefault().createMatrix(d, d+1); R.setColumn(0, mean); R.setSubMatrix(0, 1, C); return R; }
public Matrix getMean() { Matrix C = this.inverseWishart.getMean(); Vector mean = this.gaussian.getMean(); final int d = this.getInputDimensionality(); Matrix R = MatrixFactory.getDefault().createMatrix(d, d+1); R.setColumn(0, mean); R.setSubMatrix(0, 1, C); return R; }
public Matrix getValue() { final int dim = this.conditionalDistribution.getInputDimensionality(); Matrix parameter = MatrixFactory.getDefault().createMatrix(dim, dim+1); parameter.setColumn(0, this.conditionalDistribution.getMean() ); parameter.setSubMatrix(0,1, this.conditionalDistribution.getCovariance() ); return parameter; }
@Override public void sampleInto( final Random random, final int sampleCount, final Collection<? super Matrix> output) { final int d = this.gaussian.getInputDimensionality(); ArrayList<Matrix> covariances = this.inverseWishart.sample(random, sampleCount); for( Matrix covariance : covariances ) { Matrix meanAndCovariance = MatrixFactory.getDefault().createMatrix(d,d+1); meanAndCovariance.setSubMatrix(0, 1, covariance); covariance.scaleEquals(1.0/this.covarianceDivisor); this.gaussian.setCovariance(covariance); Vector mean = this.gaussian.sample(random); meanAndCovariance.setColumn(0, mean); output.add( meanAndCovariance ); } }
@Override public void sampleInto( final Random random, final int sampleCount, final Collection<? super Matrix> output) { final int d = this.gaussian.getInputDimensionality(); ArrayList<Matrix> covariances = this.inverseWishart.sample(random, sampleCount); for( Matrix covariance : covariances ) { Matrix meanAndCovariance = MatrixFactory.getDefault().createMatrix(d,d+1); meanAndCovariance.setSubMatrix(0, 1, covariance); covariance.scaleEquals(1.0/this.covarianceDivisor); this.gaussian.setCovariance(covariance); Vector mean = this.gaussian.sample(random); meanAndCovariance.setColumn(0, mean); output.add( meanAndCovariance ); } }
@Override public void sampleInto( final Random random, final int sampleCount, final Collection<? super Matrix> output) { final int d = this.gaussian.getInputDimensionality(); ArrayList<Matrix> covariances = this.inverseWishart.sample(random, sampleCount); for( Matrix covariance : covariances ) { Matrix meanAndCovariance = MatrixFactory.getDefault().createMatrix(d,d+1); meanAndCovariance.setSubMatrix(0, 1, covariance); covariance.scaleEquals(1.0/this.covarianceDivisor); this.gaussian.setCovariance(covariance); Vector mean = this.gaussian.sample(random); meanAndCovariance.setColumn(0, mean); output.add( meanAndCovariance ); } }
this.X.setColumn( n, sample.getInput().convertToVector().stack(one) ); this.W.setElement( n, DatasetUtil.getWeight(sample) ); n++;
this.X.setColumn( n, sample.getInput().convertToVector().stack(one) ); this.W.setElement( n, DatasetUtil.getWeight(sample) ); n++;
this.X.setColumn( n, sample.getInput().convertToVector().stack(one) ); this.W.setElement( n, DatasetUtil.getWeight(sample) ); n++;
fjx.minusEquals( fx ); fjx.scaleEquals( 1.0 / deltaSize ); J.setColumn( j, fjx ); p.setElement( j, v );