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>