MathGroup Archive 2011

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

Search the Archive

Re: Making a function out of repeated hyperbola integrations?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg122071] Re: Making a function out of repeated hyperbola integrations?
  • From: Nathan McKenzie <kenzidelx at gmail.com>
  • Date: Wed, 12 Oct 2011 03:42:40 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201110110824.EAA00824@smc.vnet.net>

Wow - you folks really are a helpful bunch.  I've learned a ton about
mathematica from this thread.

I think I've got my bases covered now, so thanks.  Just to add one final
solution that was e-mailed to me but not the list (but is doing exactly what
I want), there is

f[0] = n - a;

f[m_Integer?Positive] :=
 f[m] = Assuming[{Element[{a, n}, Reals], a > 0, n > a^2},
   FullSimplify[Integrate[f[m - 1] /. n -> n/x, {x, a, n/a}]]]


Table[{m, f[m]}, {m, 0, 3}] // Grid

?? f

And it is indeed getting much slower as my iterations are getting larger.

Nathan

On Tue, Oct 11, 2011 at 11:48 AM, DrMajorBob <btreat1 at austin.rr.com> wrote:

> I don't get your first result, and ignoring that, I'm not sure which of the
> two following solutions is what you want. The second is slow.
>
> Leaving out Assumptions makes all of it REALLY slow, and the results would
> be ConditionalExpression instances.
>
> ClearAll[f, n, k]
> f[1, n_] =
>  Integrate[n/x - a, {x, a, n/a}, Assumptions -> {n > a^2, a > 0}]
> f[k_, n_] =
>  Integrate[n/x^k - a, {x, a, n/a},
>  Assumptions -> {n > a^2, a > 0, k \[Element] Integers, k > 0}]
>
> a^2 - n + n Log[n/a^2]
>
> a^2 - n - ((a^(1 - k) - (a/n)^(-1 + k)) n)/(1 - k)
>
> ClearAll[f, n, k]
> f[1, n_] =
>  Integrate[n/x - a, {x, a, n/a}, Assumptions -> {n > a^2, a > 0}];
> f[k_, n_] /; k > 1 :=
>  f[k, n] =
>  FullSimplify[
>   Integrate[f[k - 1, n/x], {x, a, n/a},
>    Assumptions -> {a > 0, n > a^2}], {a > 0, n > a^2}]
> Table[f[k, n], {k, 1, 3}]
>
> {a^2 - n + n Log[n/a^2], -a^3 + a n +
>  Log[a^2/n] (n + 2 n Log[a] - 1/2 n Log[n]), (1/(
>  2 a^2))(a^2 - n) (2 ((-2 + a) a^3 + 3 n - 2 a n) + 8 n Log[a] -
>    2 n Log[n] + a (-a^2 + n) Log[n/a^2])}
>
> Bobby
>
>
> On Tue, 11 Oct 2011 03:24:30 -0500, Nathan McKenzie <kenzidelx at gmail.com>
> wrote:
>
>  I'm working with the following repeated integrals.  Is there any way
>> to automate what I'm doing here?
>>
>> I start with this:
>>
>> Integrate[ n/x - a, {x, a, n/a}]
>>
>> The result of that (after a bit of text editing) is a^2 - n Log[a] + n
>> (-1 + Log[n/a]). That's the first result I want to work with.  Then, I
>> currently manually edit that result by swapping out n with (n/x), and
>> have
>>
>> Integrate[ a^2 - (n/x) Log[a] + (n/x) (-1 + Log[(n/x)/a]), {x, a, n/
>> a}]
>>
>> And that resolves to -a^3 + n Log[a] + n Log[a]^2 + 1/2 n Log[n/a^2]^2
>> +  n (a - (1 + Log[a]) Log[n/a]).  Which is the second result I want
>> to work with.  The, I manually swap out n with (n/x) and integrate
>> again on {x, a, n/a}, and repeat this process ad nauseum.  It doesn't
>> take long before the number of n's for me to edit becomes really
>> unwieldy and error prone... and ideally I would like to do this many
>> times in a row (say, up 30 or 40) and have the results around for
>> random use in other contexts.
>>
>> What I would really like to be able to do is just have some sort of
>> function where I can type F[n,a,s], where s is the number of times
>> integration is performed, and then n and a (which will be actual
>> numbers) will get evaluated.  I feel like the step where I swap out n
>> with (n/x) points at something problematic, though.  Is there any way
>> in Mathematica for me to construct such a function and get my results
>> automatically?
>>
>>
>
> --
> DrMajorBob at yahoo.com
>


  • Prev by Date: Re: Making a function out of repeated hyperbola integrations?
  • Next by Date: Re: Interesting problem looking for a solution.
  • Previous by thread: Re: Making a function out of repeated hyperbola integrations?
  • Next by thread: Re: Making a function out of repeated hyperbola integrations?