Help with conditional rules

• To: mathgroup at christensen.Cybernetics.NET (mathgroup )
• Subject: Help with conditional rules
• From: leboeuf at ere.umontreal.ca (Leboeuf Martin)
• Date: Tue, 25 Oct 1994 13:58:57 -0400 (EDT)

```Hello mathgroupers,

Let me first thank Steve for his excellent work with mathgroup,
and I can only be forever thankfull to him for maintaining
such a valuable forum.

Here is now my problem. I generate functions of the type:

FUNC[2,2,2,0,3,1]

In other words, functions all with the same Head FUNC and
with 6 Integer arguments. Now, depending upon the value of those
arguments, I want to substitute the Head. For example:

FUNC[2,2,2,0,3,1] /. FUNC :> F1 /; FUNC[2,2,2,0,3,1][[1]] +
FUNC[2,2,2,0,3,1][[2]] +
FUNC[2,2,2,0,3,1][[3]] == 6

and I get:

F1[2,2,2,0,3,1]

which would be OK for me. But I have hundreds of FUNC's, so I would
like the above rule to work for any given FUNC. I tried

FUNC[2,2,2,0,3,1] /. FUNC :> F1 /; FUNC[i_,j_,k_,l_,m_,n_][[1]] +
FUNC[i_,j_,k_,l_,m_,n_][[2]] +
FUNC[i_,j_,k_,l_,m_,n_][[3]] == 6

and other similar things, but obviously without success.

To be more general, how can one define a rule (or whatever) to
extract the nth argument of a function with a fixed (or undefined)
number of arguments?

Thanx, martin

leboeuf at ere.umontreal.ca

```

• Prev by Date: Re: matrix of coefficients?
• Next by Date: RE: function definition
• Previous by thread: Re: a problem with an array