2
$\begingroup$

For a given expression, such as:

exp=p[x]+p'[x]+p''[x]...Derivative[n][p][x]

I want to replace all the derivatives of p[x] to a constant 1. But the following rule:

rule=Derivative[_][p][x]:>1

works for the derivatives when n>=1, except `p[x]. That is:

p'[x]/.rule
(* output: 1 *)

p''[x]/.rule
(* output: 1 *)

p[x]/.rule
(* output: p[x] *)

I wonder what is the correct rule to replace all the Derivative[n][p][x] to 1, including p[x].

Thank you.

$\endgroup$
6
  • 1
    $\begingroup$ It's not elegant, but works: rule={Derivative[_][p][x] :> 1, p[x] :> 1} $\endgroup$
    – Oscillon
    Apr 26, 2019 at 15:56
  • $\begingroup$ @Oscillon there are almost 15 rules... so this solution will double the input work. Oh... we do need some solution to reduce our labour. $\endgroup$
    – PureLine
    Apr 26, 2019 at 15:59
  • 1
    $\begingroup$ Try rule = p[x] | Derivative[_][p][x] :> 1. $\endgroup$
    – Somos
    Apr 26, 2019 at 16:55
  • 1
    $\begingroup$ If you need it to be more general (i.e. you need to set every derivative to 1), then you can use a variation of @Somos's suggestion: rule = _[x] | Derivative[_][_][x] :> 1 or something there-abouts. $\endgroup$
    – march
    Apr 26, 2019 at 17:01
  • $\begingroup$ Duplicate of mathematica.stackexchange.com/q/194099 ? $\endgroup$
    – Roman
    Apr 26, 2019 at 17:15

1 Answer 1

2
$\begingroup$

Given such an expression:

exp = Sum[Derivative[i][p][x], {i, 0, 7}]

A nice way would be to replace it by a pure function:

exp /. {p :> (1 &)}
(* 1 *)

which replaces all derivatives and the original function.

$\endgroup$
1
  • 1
    $\begingroup$ I believe the desired output of replacing all the derivatives should be 8, not 1. Here's a cute way to use a pure function: exp /. p -> (Exp[# - x] &). Works only if the argument to the derivatives of p is x. $\endgroup$
    – Michael E2
    Aug 10, 2022 at 14:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.