A quick question regarding expectation rules
- To: mathgroup at smc.vnet.net
- Subject: [mg63878] A quick question regarding expectation rules
- From: "Mark Morrissey" <mmorriss at ou.edu>
- Date: Fri, 20 Jan 2006 04:32:32 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Hi Folks - A couple of months ago a lot of you helped me out with designing a set of rules to apply to expectation operator given 'variables' and 'constants'. Below is a set of rules that work quite well. However, the rules below expect 'x' or any one single default variable. How might one go about adjusting these rules so that the variables 'x, y, and z' (i.e. multiple variables) can be accounted for? For example: E[a x + b y] //. rules[?]= a E[x] + b E[y] ??? PLEASE note that I'm using a double stuck 'E' in the notebook (not to be confused with the exponential function) What I have now: (* Expectation Rules*) (* x, y, z, are assumed to be random variables and a, b, c are assumed to constants *) Clear[E,rules]; rules[x_Symbol:x] := { E[expr_?(FreeQ[#,x]&)] |expr, E[expr1_?(FreeQ[#,x]&) expr2_?(!FreeQ[#,x]&)]| expr1 * E[expr2], E[expr1_?(FreeQ[#,x]&)+expr2_?(!FreeQ[#,x]&)]|expr1+ E[expr2], E[E[expr_?(!FreeQ[#,x]&)]]| E[expr] }; In[1]:{E[f[ x]],E[a x], E[b + f[x]], E[a + E[b y]],E[a + E[b y]]} //. rules[] (* using the default {rules[x],rules[y]} where 'x' or 'y' are assumed to be variables *) Out[1] {E[f[x]],a E[x],b+E[f[x]],a+b y,a+b y} Thank you very much. Regards - Mark Mark Morrissey Associate Professor, Meteorology University of Oklahoma EVAC, 3200 Marshall Ave., Suite 150 Norman, Oklahoma