code: public void reshape( int width , int height ) {
  		int N = width*height;
  
  		if( data.length < N ) {
  			D tmp[] = new D[N];
  			System.arraycopy(data,0,tmp,0,data.length);
  			for( int i = data.length; i < N; i++ )
  				tmp[i] = new D();
  			data = tmp;
  		}
  		this.width = width;
  		this.height = height;
  	}
docs: Changes the shape to match the specified dimension. Memory will only be created/destroyed if the requested
  size is larger than any previously requested size
  @param width New image width
  @param height new image height