sage: f = function('f', t,r)
but for "huge" matrices it is boring and make no sense.
f11 = function('f11', t,r)
f12 = function('f12', t,r)
f21 = function('f21', t,r)
f22 = function('f22', t,r)
M = matrix(2,2, [[f11, f12], [f21, f22]])
I'd like to obtain something like
f11 = function('f11', t,r)
f12 = function('f12', t,r)
f21 = function('f21', t,r)
f22 = function('f22', t,r)
M = matrix(2,2, [[f11, f12], [f21, f22]])
sage: var("t r")
(t, r)
sage: matrix(5, 5, lambda x,y : function("f%s%s" % (x,y), t, r))
[f00(t, r) f01(t, r) f02(t, r) f03(t, r) f04(t, r)]
[f10(t, r) f11(t, r) f12(t, r) f13(t, r) f14(t, r)]
[f20(t, r) f21(t, r) f22(t, r) f23(t, r) f24(t, r)]
[f30(t, r) f31(t, r) f32(t, r) f33(t, r) f34(t, r)]
[f40(t, r) f41(t, r) f42(t, r) f43(t, r) f44(t, r)]