code: @Override
  	public void computeHessian(DMatrixSparseCSC jacLeft , DMatrixSparseCSC jacRight) {
  		A.reshape(jacLeft.numCols,jacLeft.numCols,1);
  		B.reshape(jacLeft.numCols,jacRight.numCols,1);
  		D.reshape(jacRight.numCols,jacRight.numCols,1);
  
  		// take advantage of the inner product's symmetry when possible to reduce
  		// the number of calculations
  		CommonOps_DSCC.innerProductLower(jacLeft,tmp0,gw,gx);
  		CommonOps_DSCC.symmLowerToFull(tmp0,A,gw);
  		CommonOps_DSCC.multTransA(jacLeft,jacRight,B,gw,gx);
  		CommonOps_DSCC.innerProductLower(jacRight,tmp0,gw,gx);
  		CommonOps_DSCC.symmLowerToFull(tmp0,D,gw);
  	}
docs: Compuets the Hessian in block form
  @param jacLeft (Input) Left side of Jacobian
  @param jacRight (Input) Right side of Jacobian