Warning: Declaration of action_plugin_syntaxhighlighter3_action::register(Doku_Event_Handler &$controller) should be compatible with DokuWiki_Action_Plugin::register(Doku_Event_Handler$controller) in /s/chopin/e/proj/AlphaZ/public_html/wiki/lib/plugins/syntaxhighlighter3/action/action.php on line 112
caveat [AlphaZ]

AlphaZ

Site Tools

caveat

Warning: Declaration of syntax_plugin_latex::handle($match,$state, $pos) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state,$pos, Doku_Handler $handler) in /s/chopin/e/proj/AlphaZ/public_html/wiki/lib/plugins/latex/syntax.php on line 18 Warning: Declaration of syntax_plugin_latex::render($mode, &$renderer,$data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer$renderer, $data) in /s/chopin/e/proj/AlphaZ/public_html/wiki/lib/plugins/latex/syntax.php on line 18 Warning: Declaration of syntax_plugin_syntaxhighlighter3_syntax::handle($match, $state,$pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state,$pos, Doku_Handler $handler) in /s/chopin/e/proj/AlphaZ/public_html/wiki/lib/plugins/syntaxhighlighter3/syntax/syntax.php on line 147 Warning: Declaration of syntax_plugin_syntaxhighlighter3_syntax::render($mode, &$renderer,$data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer$renderer, \$data) in /s/chopin/e/proj/AlphaZ/public_html/wiki/lib/plugins/syntaxhighlighter3/syntax/syntax.php on line 147

You may have noticed that in the original, mathematical equation at the top of the page, there were bounds on the summation, . In the Alphabets program we wrote, we did not include these bounds. In this equation, this is safe, for a rather subtle reason (which will be clearer when you know more about Alpha). In general, it is always safe to include these bounds explicitly in your program by making the reduction body a RestrictExpression to explicitly specify the range of indices where the expression inside the reduction is defined, as shown below.

U[i,j] = case
{|1==i} : A[i,j];
{|1<i} : A[i,j] - reduce(+, [k], {|1<=k<i} : L[i,k]*U[k,j]);
esac;