\resetsteps      % Reset all the commands to create a blank worksheet  

% Define the operation to be computed

\renewcommand{\routinename}{ \left[ \alpha \right] := \mbox{\sc Apdot\_blk}( \alpha, x, y ) }

% Step 3: Loop-guard 

\renewcommand{\guard}{
  m( x_B ) < m( x )
}

% Step 4: Define Initialize 

\renewcommand{\partitionings}{
  $
  x \rightarrow
  \FlaTwoByOne{x_{T}}
              {x_{B}}
  $
,
  $
  y \rightarrow
  \FlaTwoByOne{y_{T}}
              {y_{B}}
  $
}

\renewcommand{\partitionsizes}{
$ x_{B} $ has $ 0 $ rows,
$ y_{B} $ has $ 0 $ rows
}

% Step 5a: Repartition the operands 

\renewcommand{\blocksize}{b}

\renewcommand{\repartitionings}{
$
  \FlaTwoByOne{ x_T }
              { x_B }
\rightarrow
  \FlaThreeByOneT{x_0}
                 {x_1}
                 {x_2}
$
,
$
  \FlaTwoByOne{ y_T }
              { y_B }
\rightarrow
  \FlaThreeByOneT{y_0}
                 {y_1}
                 {y_2}
$
}

\renewcommand{\repartitionsizes}{
$ x_1 $ has $ b $ rows,
$ y_1 $ has $ b $ rows}

% Step 5b: Move the double lines 

\renewcommand{\moveboundaries}{
$
  \FlaTwoByOne{ x_T }
              { x_B }
\leftarrow
  \FlaThreeByOneB{x_0}
                 {x_1}
                 {x_2}
$
,
$
  \FlaTwoByOne{ y_T }
              { y_B }
\leftarrow
  \FlaThreeByOneB{y_0}
                 {y_1}
                 {y_2}
$
}

% Step 8: Insert the updates required to change the 
%         state from that given in Step 6 to that given in Step 7
% Note: The below needs editing!!!

\renewcommand{\update}{
$
  \begin{array}{l}
    \alpha = x_1^T y_1 + \alpha
  \end{array}
$
}

\footnotesize

\FlaAlgorithmNarrow   % this command generates the algorithm

LinearAlgebraWiki: Apdot/Algorithms/BlkVar2 (last edited 2007-05-24 21:56:37 by MarthaGanser)