(行と列の式で書かれた行列を与える別法)(apply('matrix,)を利用する)

あまり見慣れない記号アポストロフ ' を使うしちょっとむずかしいかもしれません。 とりあえず例を載っけておきましょう。 makelist をうまく使うと良いと思います。

apply('matrix,makelist(makelist(f(i,j),i,1,3),j,2,5));
                         [ f(1, 2)  f(2, 2)  f(3, 2) ]
                         [                           ]
                         [ f(1, 3)  f(2, 3)  f(3, 3) ]
                         [                           ]
                         [ f(1, 4)  f(2, 4)  f(3, 4) ]
                         [                           ]
                         [ f(1, 5)  f(2, 5)  f(3, 5) ]

もちろん $f$ のところを具体的な関数に 変えれば色々できるところです。 たとえば $f$ として kron_delta(i,j) * a(i) を与えれば対角行列をこの方法で与えることもできます。