supressing argument evaluation by function Part
- To: mathgroup at yoda.ncsa.uiuc.edu
- Subject: supressing argument evaluation by function Part
- From: uunet!splash.Princeton.EDU!rsarava (R Saravanan)
- Date: Tue, 13 Mar 90 12:46:20 EST
I have been trying to define a formula using the variable "lamsq", which is
a list to be defined later. When I give the following input lines to
Mathematica-
lhs = { { -(k^2 + lamsq[[n]]), lamsq[[n]] },
{ lamsq[[n]], -(k^2 + lamsq[[n]]) } }
rhs = { { -(k^2 + lamsq[[n]]) u1[[n]], lamsq[[n]] u1[[n]] },
{ lamsq[[n]] u2[[n]], -(k^2 + lamsq[[n]]) u2[[n]] } }
cmatrix[k_,n_] = Inverse[lhs] . rhs
I get the following error messages-
Part::selectform:
Part specification n is neither an integer nor a list of
nonzero integers.
Part::selectform:
Part specification n is neither an integer nor a list of
nonzero integers.
Part::selectform:
Part specification n is neither an integer nor a list of
nonzero integers.
General::stop:
Further output of Part::selectform
will be suppressed during this calculation.
Although the end result (i.e. "cmatrix") turns out to be what I want, I would
like to avoid these error messages. Basically, I would like to prevent the
function "Part" from evaluating the argument "n". One way out may be
to define "lamsq" to be a function, rather than a list. But in my problem,
"lamsq" actually happens to be a list of 33 numbers, and I would like
to avoid defining auxiliary functions, unless I really have to. Does
anybody have any comments/suggestions?
Saravanan <rsarava at splash.princeton.edu>