Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Any Mathematica whizzes?

  1. Aug 13, 2008 #1
    Hi all,

    I'm currently trying to implement some code to compute the Frechet derivative of a system of PDEs, and the associated formal adjoint. The code I'm using to compute derivative is:

    Code (Text):
    FrechetD[support_List, dependVar_List,
    independVar_List, testfunction_List] :=
    Block[{indep, frechet, deriv, \[Epsilon], r0, x1, x2},
    r0 = Function[indep, x1 + \[Epsilon] x2];
    frechet = {}; Do[deriv = {};
    Do[AppendTo[deriv, \!\(
    \*SubscriptBox[\(\[PartialD]\), \(\[Epsilon]\)]\ \((support[[
    j]] /. \[IndentingNewLine]dependVar[[
    i]] -> \((r0 /. \[IndentingNewLine]{indep ->
    independVar, \[IndentingNewLine]x1 ->
    dependVar[[i]] @@ independVar, \[IndentingNewLine]x2 ->
    testfunction[[i]] @@
    independVar})\))\)\) /. \[Epsilon] -> 0],
    {i, 1, Length[support]}];
    AppendTo[frechet, deriv],
    {j, 1, Length[support]}];
    This works an absolute charm. Then to compute the associated adjoint, I use:

    Code (Text):
    AdjointFrechetD[support_List, dependVar_List,
    independVar_List, testfunction_List] :=
    Block[{subrule, $testf, frechet, n, b},
    subrule = b_. ($testf^(n__)) @@ independVar :>
    (-1)^Plus @@ {n} \!\(
    \*SubscriptBox[\(\[PartialD]\), \(Delete[Thread[{independVar, {n}}],
    0]\)]\((b\ $testf @@ independVar)\)\);
    frechet = FrechetD[support, dependVar,
    independVar , testfunction];
    Do[frechet =
    frechet /.
    (subrule /. $testf -> testfunction[[i]]),
    {i, 1, Length[testfunction]}];
    frechet = Transpose[frechet]]
    This doesn't work, sadly. All it seems to do is give me the transpose of the original Frechet derivative matrix. The code originally came from a book I've looked at, so it can't be too far wrong. Sadly, my mathematica skills are pretty much non-existent, so I haven't a clue what the problem is! If anyone could give me some pointers it would be much appreciated!

    Many thanks,
  2. jcsd
  3. Aug 13, 2008 #2
    Ant, I wish I could help you but I'm a novice myself. While I look forward to a response to this, if anyone would advise me on the best book to purchase to learn Mathematica 6, any opinions would be appreciated.

Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Similar Threads for Mathematica whizzes Date
Mathematica Storing Mathematica output Mar 30, 2018
Mathematica Mathematica to MATLAB Mar 25, 2018
Mathematica Cannot do the integral of the Hyper-geometric function? Mar 11, 2018
Mathematica Cannot Plot This Function in Mathematica Feb 26, 2018