[texhax] iterative construction of matrices - error at insertion of alignment characters or end line command

Matteo Gattanini matteo.gattanini at libero.it
Tue Feb 3 09:14:55 CET 2004


In writings dealing with linear algebra, in which it is continually
necessary to visualize a lot of matrices of different order, is extremely
comfortable provide a command that directly create the matrices after
having declared the number of rows and columns and the name of the elements.
The following code tries to build the bases of such macro; the problem is
the insertion of the alignment character &' or end line command \
\'  which causes an error. Anyone can help?
The code:

\NeedsTeXFormat{LaTeX2e}
\documentclass{article}
\usepackage{amsmath}% for bmatrix' environment

\newcommand{\TAB}{\&} % should be &'
\newcommand{\ENDROW}{\backslash\backslash}% should be \\'

\newcommand{\MatrStrut}{\newcount\ir\ir=1\newcount\ic\ic=1 % rows & column
counters
\loop{% rows
\loop{% columns
a_{\the\ir\the\ic}}% write element
character &'
\repeat
\ENDROW}%  line-end command \\'
\begin{document} %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%

The second matrix should be obtained with iterative code.
$\begin{bmatrix}a_{11}&a_{12}&a_{13}\\ a_{21}&a_{22}&a_{23}\\ a_{31}&a_{32}&a_{33}\\\end{bmatrix} = \begin{bmatrix}\MatrStrut\end{bmatrix}$

\end{document} %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%

% with multido.sty'
\multido{\ir=1+1}{3}{\multido{\ic=1+1}{3}{%
a_{\ir\ic}\ifnum\ic=3\ENDROW\else\TAB\fi}}