code: @Override
  	public double innerVectorHessian( DMatrixRMaj v ) {
  		int M = A.getNumRows();
  
  		double sum = 0;
  		sum += innerProduct(v.data, 0, A, v.data, 0);
  		sum += 2*innerProduct(v.data, 0, B, v.data, M);
  		sum += innerProduct(v.data, M, D, v.data, M);
  
  		return sum;
  	}
docs: Vector matrix inner product of Hessian in block format.
  
  <p>
  [A B;C D]*[x;y] = [c;d]<br>
  A*x + B*y = c<br>
  C*x + D*y = d<br>
  [x;y]<sup>T</sup>[A B;C D]*[x;y] = [x;y]<sup>T</sup>*[c;d]<br>
  </p>
  @param v row vector
  @return v'*H*v = v'*[A B;C D]*v