1 Jul 2011 15:42
multivariable kron_delta
Barton Willis <willisb <at> unk.edu>
2011-07-01 13:42:47 GMT
2011-07-01 13:42:47 GMT
I suggest extending kron_delta from a two argument to an n-argument function. The change causes no errors with either the testsuite or the share testsuite. For one argument, kron_delta signals an error. Apparently, MMA defines kron_delta(x) = kron_delta(x,0). This, I think, will cause confusion. Since kron_delta(x) signals an error, a user can assume kron_delta(x0,...,xn) * kron_delta(y0,..., ym) = kron_delta(x0, ..., xn, y0, ..., ym) is an identity without checking the number of arguments (if kron_delta(x) = kron_delta(x,0), it is *not* an identity). The source code comment: ;; A n-ary Kronecker delta function: kron_delta(n0,n1, ..., nk) simplifies to 1 if ;; (meqp ni nj) is true for *all* pairs ni, nj in (n0,n1, ..., nk); it simplifies to 0 if ;; (mnqp ni nj) is true for *some* pair ni, nj in (n0,n1, ..., nk). Further kron_delta() --> 1 ;; and kron_delta(xxx) --> wrong number of arguments error. Thus ;; ;; kron_delta(x0,...,xn) * kron_delta(y0,..., ym) = kron_delta(x0, ..., xn, y0, ..., ym) ;; ;; is an identity. Examples: (%i4) kron_delta(1,1,1,1); (%o4) 1 (%i5) kron_delta(1,1,%pi); (%o5) 0(Continue reading)

RSS Feed