cern.colt.matrix
Class DoubleFactory1D

java.lang.Object
  extended by cern.colt.PersistentObject
      extended by cern.colt.matrix.DoubleFactory1D
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class DoubleFactory1D
extends PersistentObject

Factory for convenient construction of 1-d matrices holding double cells. Use idioms like DoubleFactory1D.dense.make(1000) to construct dense matrices, DoubleFactory1D.sparse.make(1000) to construct sparse matrices. If the factory is used frequently it might be useful to streamline the notation. For example by aliasing:

DoubleFactory1D F = DoubleFactory1D.dense;
F.make(1000);
F.descending(10);
F.random(3);
...

Author:
wolfgang.hoschek@cern.ch
See Also:
Serialized Form

Field Summary
static DoubleFactory1D dense
          A factory producing dense matrices.
static DoubleFactory1D sparse
          A factory producing sparse matrices.
 
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
 
Constructor Summary
protected DoubleFactory1D()
          Makes this class non instantiable, but still let's others inherit from it.
 
Method Summary
 DoubleMatrix1D append(DoubleMatrix1D A, DoubleMatrix1D B)
          C = A||B; Constructs a new matrix which is the concatenation of two other matrices.
 DoubleMatrix1D ascending(int size)
          Constructs a matrix with cells having ascending values.
 DoubleMatrix1D descending(int size)
          Constructs a matrix with cells having descending values.
 DoubleMatrix1D make(AbstractDoubleList values)
          Constructs a matrix from the values of the given list.
 DoubleMatrix1D make(double[] values)
          Constructs a matrix with the given cell values.
 DoubleMatrix1D make(DoubleMatrix1D[] parts)
          Constructs a matrix which is the concatenation of all given parts.
 DoubleMatrix1D make(int size)
          Constructs a matrix with the given shape, each cell initialized with zero.
 DoubleMatrix1D make(int size, double initialValue)
          Constructs a matrix with the given shape, each cell initialized with the given value.
 DoubleMatrix1D random(int size)
          Constructs a matrix with uniformly distributed values in (0,1) (exclusive).
 DoubleMatrix1D repeat(DoubleMatrix1D A, int repeat)
          C = A||A||..||A; Constructs a new matrix which is concatenated repeat times.
 DoubleMatrix1D sample(int size, double value, double nonZeroFraction)
          Constructs a randomly sampled matrix with the given shape.
 DoubleArrayList toList(DoubleMatrix1D values)
          Constructs a list from the given matrix.
 
Methods inherited from class cern.colt.PersistentObject
clone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dense

public static final DoubleFactory1D dense
A factory producing dense matrices.


sparse

public static final DoubleFactory1D sparse
A factory producing sparse matrices.

Constructor Detail

DoubleFactory1D

protected DoubleFactory1D()
Makes this class non instantiable, but still let's others inherit from it.

Method Detail

append

public DoubleMatrix1D append(DoubleMatrix1D A,
                             DoubleMatrix1D B)
C = A||B; Constructs a new matrix which is the concatenation of two other matrices. Example: 0 1 append 3 4 --> 0 1 3 4.


ascending

public DoubleMatrix1D ascending(int size)
Constructs a matrix with cells having ascending values. For debugging purposes. Example: 0 1 2


descending

public DoubleMatrix1D descending(int size)
Constructs a matrix with cells having descending values. For debugging purposes. Example: 2 1 0


make

public DoubleMatrix1D make(double[] values)
Constructs a matrix with the given cell values. The values are copied. So subsequent changes in values are not reflected in the matrix, and vice-versa.

Parameters:
values - The values to be filled into the new matrix.

make

public DoubleMatrix1D make(DoubleMatrix1D[] parts)
Constructs a matrix which is the concatenation of all given parts. Cells are copied.


make

public DoubleMatrix1D make(int size)
Constructs a matrix with the given shape, each cell initialized with zero.


make

public DoubleMatrix1D make(int size,
                           double initialValue)
Constructs a matrix with the given shape, each cell initialized with the given value.


make

public DoubleMatrix1D make(AbstractDoubleList values)
Constructs a matrix from the values of the given list. The values are copied. So subsequent changes in values are not reflected in the matrix, and vice-versa.

Parameters:
values - The values to be filled into the new matrix.
Returns:
a new matrix.

random

public DoubleMatrix1D random(int size)
Constructs a matrix with uniformly distributed values in (0,1) (exclusive).


repeat

public DoubleMatrix1D repeat(DoubleMatrix1D A,
                             int repeat)
C = A||A||..||A; Constructs a new matrix which is concatenated repeat times. Example:
0 1
repeat(3) -->
0 1 0 1 0 1


sample

public DoubleMatrix1D sample(int size,
                             double value,
                             double nonZeroFraction)
Constructs a randomly sampled matrix with the given shape. Randomly picks exactly Math.round(size*nonZeroFraction) cells and initializes them to value, all the rest will be initialized to zero. Note that this is not the same as setting each cell with probability nonZeroFraction to value.

Throws:
java.lang.IllegalArgumentException - if nonZeroFraction < 0 || nonZeroFraction > 1.
See Also:
RandomSampler

toList

public DoubleArrayList toList(DoubleMatrix1D values)
Constructs a list from the given matrix. The values are copied. So subsequent changes in values are not reflected in the list, and vice-versa.

Parameters:
values - The values to be filled into the new list.
Returns:
a new list.