MathGroup Archive 2012

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

Search the Archive

Re: How to specify the gradient of this function?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg125058] Re: How to specify the gradient of this function?
  • From: Ray Koopman <koopman at sfu.ca>
  • Date: Mon, 20 Feb 2012 02:46:23 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <jhqmcf$f66$1@smc.vnet.net>

On Feb 19, 3:28 am, Sam Takoy <sam.ta... at yahoo.com> wrote:
> Hi,
>
> If I could ask you to take a look at this code:
>
> objF[x_, v_] := (x - 2)^4 + Norm[v]^2;
> FindMinimum[objF[x, v], {{x, 1}, {v, {1, 1, 1, 1}}}, StepMonitor :>
> Print[x, " ", v]]
>
> My objF takes a number and a vector. Is there a way to specify a
> gradient for a function with such a mix of inputs?
>
> Many thanks in advance,
>
> Sam

f[x_,v_] := (x-2)^4 + v.v

FindMinimum[f[x,v],{{x,1},{v,{1,1,1,1}}}]

{3.318844318129849*^-29, {x -> 2.0000000759008576,
  v -> {6.429098305538346*^-19, -1.2225510287673918*^-18,
        2.4867595862469272*^-18, -1.811816954191843*^-18}}}

g[x_,v_] := Flatten@{4(x-2)^3, 2v}

FindMinimum[f[x,v],{{x,1},{v,{1,1,1,1}}}, Gradient :> g[x,v]]

{6.993693241863676*^-29, {x -> 2.0000000914485123,
  v -> {8.970026517861784*^-20, 8.970026677061437*^-20,
        8.970026036695592*^-20, 8.970026835929654*^-20}}}



  • Prev by Date: Re: Why HoldForm[] shows this expression in red in notebook?
  • Next by Date: Re: FindRoot with a vector of unknowns
  • Previous by thread: How to specify the gradient of this function?
  • Next by thread: How to convert recurrence into generating function?