RLPark 1.0.0
Reinforcement Learning Framework in Java

VectorNull.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.math.vector.implementations;
00002 
00003 import rlpark.plugin.rltoys.math.vector.MutableVector;
00004 import rlpark.plugin.rltoys.math.vector.RealVector;
00005 import rlpark.plugin.rltoys.math.vector.SparseVector;
00006 
00007 public class VectorNull implements SparseVector {
00008   private static final long serialVersionUID = 1316689252364870190L;
00009   private final int size;
00010   private final int[] activeIndexes = new int[] {};
00011 
00012   public VectorNull(int size) {
00013     this.size = size;
00014   }
00015 
00016   @Override
00017   public int getDimension() {
00018     return size;
00019   }
00020 
00021   @Override
00022   public double getEntry(int i) {
00023     return 0;
00024   }
00025 
00026   @Override
00027   public double dotProduct(RealVector other) {
00028     return 0;
00029   }
00030 
00031   @Override
00032   public MutableVector mapMultiply(double d) {
00033     return copyAsMutable();
00034   }
00035 
00036   @Override
00037   public MutableVector subtract(RealVector other) {
00038     return other.copyAsMutable().mapMultiplyToSelf(-1);
00039   }
00040 
00041   @Override
00042   public MutableVector add(RealVector other) {
00043     return other.copyAsMutable();
00044   }
00045 
00046   @Override
00047   public MutableVector ebeMultiply(RealVector v) {
00048     return copyAsMutable();
00049   }
00050 
00051   @Override
00052   public MutableVector newInstance(int size) {
00053     return new SVector(size);
00054   }
00055 
00056   @Override
00057   public MutableVector copyAsMutable() {
00058     return new SVector(size);
00059   }
00060 
00061   @Override
00062   public RealVector copy() {
00063     return this;
00064   }
00065 
00066   @Override
00067   public double[] accessData() {
00068     return new double[size];
00069   }
00070 
00071   @Override
00072   public RealVector clear() {
00073     return this;
00074   }
00075 
00076   @Override
00077   public double dotProduct(double[] data) {
00078     return 0;
00079   }
00080 
00081   @Override
00082   public void addSelfTo(double[] data) {
00083   }
00084 
00085   @Override
00086   public void subtractSelfTo(double[] data) {
00087   }
00088 
00089   @Override
00090   public int nonZeroElements() {
00091     return 0;
00092   }
00093 
00094   @Override
00095   public int[] nonZeroIndexes() {
00096     return activeIndexes;
00097   }
00098 
00099   @Override
00100   public double sum() {
00101     return 0;
00102   }
00103 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark