# Is there any automatic method for rating function arguments importance?

If I have a function:

y = 2a + 5b + c


It can be easily seen that b is the most important parameter, next a and last c.

More explaination:

Lets say we have a function $f(a,b,c,\dots,z)$. It doesn't matter what is the body of the function, but we consider only basic mathematical functions.
And the question is:

How fast does $f(a,b,c,\dots,z)$ grow, when $a$ argument is growing?
How fast does $f(a,b,c,\dots,z)$ grows, when $b$ argument is growing?

It's easy to rate arguments when we do it manually, we know how different functions grow and we can pick the most important argument easily (in finite time).

Is there any automatic method to rate it?

• The alphabetic order could be useful. Rename your parameters so that the most important ones will have 'lower' letters. Oct 25, 2013 at 12:14
• No no, its only an example. Here is very easy to rate which one is most important. But lets say i have function with 100 parameters, used in many different ways (sin, exp, power). Its not easy then to rate it by hand (still possible, but time consuming). Oct 25, 2013 at 12:18
• Ah, now I get it. You want to rate the terms in term of their 'weight'. Do you have bounds for the values of the parameters? 5b can 'weight' less than c if b is bound to be less than .001 and c can be 1000. Oct 25, 2013 at 12:22
• Yeah. Probably i didnt make myself clear, im not really good at english ;) I meant 'weight'. In most basic case lets take that there are no bounds. Oct 25, 2013 at 12:27
• It sounds like the question might be about the order of growth as the variables tend to infinity. Even if that's correct I don't understand exactly what's being asked. E.g. Sin[a] Exp[b] + c^100. Usually b dominates the growth, but not when Sin[a] is zero. That's ignoring the independence of the variables b and c, which is another big issue. Oct 25, 2013 at 13:18

How fast does f(a,b,c,…,z) grow, when a argument is growing? How fast does f(a,b,c,…,z) grow, when b argument is growing?

These rates are given by the derivatives

D[f[a,b,c,...,z],a]
D[f[a,b,c,...,z],b]


This may give functions of the arguments a,b,...,z which just tells you that "which argument is more important" depends on the values of the arguments and the relationships between them.

parameters={a,b,c};
sgnList=D[f@@parameters,{parameters}]
absList=Abs/@D[f@@parameters,{parameters}]


The sgnList includes whether f increases or decreases as each parameter increases. The absList just includes tells how much f changes as each parameter changes.

Once you've decided on your ranking criteria, then you can use Sort on the appropriate list (assuming you have numerical values).

• ...and there's Grad[f @@ parameters, parameters]`. The same thing
– Rojo
Oct 25, 2013 at 19:30