Define a matrix function with size as argument

*To*: mathgroup at smc.vnet.net*Subject*: [mg71358] Define a matrix function with size as argument*From*: "Simone Giannerini" <sgiannerini at gmail.com>*Date*: Wed, 15 Nov 2006 06:45:36 -0500 (EST)

Dear all, I am quite new to Mathematica and I have the following problem I could not find track of both in the Forum and in the documentation. I need to define a matrix function with size of the matrix as an argument. The function produces a tridiagonal matrix: Q[w_] := MatrixForm[SparseArray[ {i_, j_} /; Abs[i - j] <= 1 -> Which[i < j, a[i - 1]*(1 - (i - 1)/(2*w)), i > j, (a[-i + 2*w + 1]*(i - 1))/(2*w), i == j, (-(1 - (i - 1)/(2*w)))*a[i - 1] - (a[-i + 2*w + 1]*(i - 1))/(2*w) + 1], {2*w, 2*w}]] dum = Q[2] the problem is that dum is not recognized as a matrix so that operations like Inversion and the like do not work. Many thanks for your attention. Kind regards, ______________________________________________________ Simone Giannerini Dipartimento di Scienze Statistiche "Paolo Fortunati" Universita' di Bologna Via delle belle arti 41 - 40126 Bologna, ITALY Tel: +39 051 2098262 Fax: +39 051 232153 ______________________________________________________