Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Decompose function into one function for each variable

  • To: mathgroup at smc.vnet.net
  • Subject: [mg80855] Re: Decompose function into one function for each variable
  • From: tomfabtastic at hotmail.com
  • Date: Tue, 4 Sep 2007 03:46:50 -0400 (EDT)
  • References: <fbaqnl$qba$1@smc.twtelecom.net><fbdnd3$ppp$1@smc.twtelecom.net>

On Sep 2, 5:06 pm, Szabolcs <szhor... at gmail.com> wrote:
> tomfabtas... at hotmail.com wrote:
> > Hello,
>
> > I have a function :
>
> > k[lgd_, pd_] := A[lgd] * B[pd] * C[pd] - D[lgd] * E[pd] * C[pd]
>
> > and I woulud like to decompose the function into :
>
> > k[lgd_, pd_] = Y[lgd] + Z[pd]
>
> > Any ideas how I can make this decomposition ?
>
> > Thanks,
> > Tom
>
> It is generally (mathematically) impossible to rewrite a function of the
> form
> k(lgd, pd) = A(lgd)*B(pd)*C(pd) - D(lgd)*E(pd)*C(pd)
> to
> k(lgd, pd) = Y(lgd) + Z(pd)
>
> E.g. when you change the value of pd, the change in Y(lgd) + Z(pd) does
> not depend on the value of lgd.  This is not generally true for
> A(lgd)*B(pd)*C(pd) - D(lgd)*E(pd)*C(pd).
>
> But it is possible that I did not understand your question correctly
> (and its connection to Mathematica) ...
>
> Szabolcs

The function I am looking at is formula for the Basel II capital
ratio :
correl[pd_] :=> 0.12*(1-Exp[-50*pd])/(1-Exp[-50])+0.24*(1-(1-
Exp[-50*pd])/(1-Exp[-50]));
BB[pd_] :=(0.11852-0.05478*Log[pd])^2;
 baselCalc[pd_, lgd_, mat_] :=(lgd*CDF[NormalDistribution[0,> 1],
((InverseCDF[NormalDistribution[0,> 1],pd]
+Sqrt[correl[pd]]*InverseCDF[NormalDistribution[0,> 1],0.999])/Sqrt[1-
correl[pd]])]-(lgd*pd))*(1+(mat-2.5)*BB[pd])/(1-1.5*BB[pd])

correl and BB feed into the main equation, baselCalc. Setting
mat=1,baselCalc has only two parameters, pd and lgd.

I want to know what the impact of pd and lgd are in baselCalc.

For example baselCalc[0.0176, 0.45, 1.] = 0.073247. But how much of
the 0.073247 is due to pd and how much due to lgd ?

Thanks - not sure if this is possible,
Tom



  • Prev by Date: Re: is there a better way to do constraint logic programming in Mathematica?
  • Next by Date: Re: Interpretation of PrecisionGoal and AccuracyGoal
  • Previous by thread: Re: Decompose function into one function for each variable
  • Next by thread: Re: Decompose function into one function for each variable