code: public static boolean cs_happly(DZcs V, int i, double beta, DZcsa x)
  	{
  		int p, Vp[], Vi[] ;
  		DZcsa Vx = new DZcsa() ;
  		double[] tau = cs_czero() ;
  		if (!CS_CSC (V) || x == null) return (false) ;	/* check inputs */
  		Vp = V.p ; Vi = V.i ; Vx.x = V.x ;
  		for (p = Vp [i] ; p < Vp [i+1] ; p++)		/* tau = v'*x */
  		{
  		    tau = cs_cplus(tau, cs_cmult(cs_conj(Vx.get(p)), x.get(Vi [p]))) ;
  		}
  		tau = cs_cmult(tau, beta) ;			/* tau = beta*(v'*x) */
  		for (p = Vp [i] ; p < Vp [i+1] ; p++) 		/* x = x - v*tau */
  		{
  			x.set(Vi [p], cs_cminus(x.get(Vi [p]), cs_cmult(Vx.get(p), tau))) ;
  		}
  		return (true) ;
  	}
docs: Applies a Householder reflection to a dense vector, x = (I -
  beta*v*v')*x.
  
  @param V
  column-compressed matrix of Householder vectors
  @param i
  v = V(:,i), the ith column of V
  @param beta
  scalar beta
  @param x
  vector x of size m
  @return true if successful, false on error