Boundary Value Problem and FullSimplifyI failed to solve a set of one-dimension fluid mechanics PDEs with NDSolveDSolve gives complex function although the solution is a real oneNumerical solution of coupled ODEs with boundary conditionsNDSolve and strange “nonlinear coefficients problem”Reaction-diffusion PDE with NDSolve: either very slow or very inaccurateSolution of nonlinear system with boundary conditionsDSolve, NDSolve with WhenEvent Give Incorrect Solution for Simple ODEInhomogeneous Neumann boundary conditions for diffusion equationAnalyitic and numerical solutions plots of PDE are different!Not sure how to set up the Laplacian/Poisson Equation

Avoiding estate tax by giving multiple gifts

What is the difference between "behavior" and "behaviour"?

How can I kill an app using Terminal?

Is there a problem with hiding "forgot password" until it's needed?

What can we do to stop prior company from asking us questions?

Tiptoe or tiphoof? Adjusting words to better fit fantasy races

How do I find the solutions of the following equation?

What is paid subscription needed for in Mortal Kombat 11?

How do I rename a Linux host without needing to reboot for the rename to take effect?

How do I extract a value from a time formatted value in excel?

Why are there no referendums in the US?

Is exact Kanji stroke length important?

How does Loki do this?

What is the intuitive meaning of having a linear relationship between the logs of two variables?

How does the UK government determine the size of a mandate?

Do the temporary hit points from the Battlerager barbarian's Reckless Abandon stack if I make multiple attacks on my turn?

Why not increase contact surface when reentering the atmosphere?

India just shot down a satellite from the ground. At what altitude range is the resulting debris field?

Anatomically Correct Strange Women In Ponds Distributing Swords

Hostile work environment after whistle-blowing on coworker and our boss. What do I do?

Is HostGator storing my password in plaintext?

Arithmetic mean geometric mean inequality unclear

How to pronounce the slash sign

Inappropriate reference requests from Journal reviewers



Boundary Value Problem and FullSimplify


I failed to solve a set of one-dimension fluid mechanics PDEs with NDSolveDSolve gives complex function although the solution is a real oneNumerical solution of coupled ODEs with boundary conditionsNDSolve and strange “nonlinear coefficients problem”Reaction-diffusion PDE with NDSolve: either very slow or very inaccurateSolution of nonlinear system with boundary conditionsDSolve, NDSolve with WhenEvent Give Incorrect Solution for Simple ODEInhomogeneous Neumann boundary conditions for diffusion equationAnalyitic and numerical solutions plots of PDE are different!Not sure how to set up the Laplacian/Poisson Equation













3












$begingroup$


I'm confused about the output Mathematica is giving me when solving a boundary value problem of the form:



eq = ϵ y''[t] + 2 y'[t] + 2 y[t] == 0;
bc1 = y[0] == 0;
bc2 = y[1] == 1;

aSol = y[t] /. DSolve[eq, bc1, bc2, y[t], t][[1]][[1]]


This yields the correct answer, and produces plots like this for ep=1, ep=0.1, and ep=0.01.



Plot[
aSol /. ϵ -> 1,
aSol /. ϵ -> 0.1,
aSol /. ϵ -> 0.01,
t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]


enter image description here



So far, so good!



However, if I simply ask Mathematica to FullSimplify[aSol], the resulting solution is no longer correct, and it does not satisfy one of the boundary conditions:



aSolSimpl = FullSimplify[aSol]

Plot[
aSol /. ϵ -> 0.05,
aSolSimpl /. ϵ -> 0.05
, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]


enter image description here



What's going wrong here?










share|improve this question











$endgroup$











  • $begingroup$
    i think because you assign Epsilon different values. i used Full Simplify and it was fine with me use it as follow to check aSol = y[t] /. DSolve[eq, bc1, bc2, y[t], t] /. [Epsilon] -> 1 aSolSimpl = FullSimplify[aSol] /. [Epsilon] -> 1 Plot[aSol, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"] Plot[aSolSimpl, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]
    $endgroup$
    – Alrubaie
    Mar 21 at 15:19







  • 1




    $begingroup$
    @dpholmes Plotting Plot3D[Evaluate[aSol, FullSimplify[aSol, [Epsilon] > 0]], t, 0, 1, [Epsilon], 0, 1] reveals that it might be a precision problem.
    $endgroup$
    – Henrik Schumacher
    Mar 21 at 15:20















3












$begingroup$


I'm confused about the output Mathematica is giving me when solving a boundary value problem of the form:



eq = ϵ y''[t] + 2 y'[t] + 2 y[t] == 0;
bc1 = y[0] == 0;
bc2 = y[1] == 1;

aSol = y[t] /. DSolve[eq, bc1, bc2, y[t], t][[1]][[1]]


This yields the correct answer, and produces plots like this for ep=1, ep=0.1, and ep=0.01.



Plot[
aSol /. ϵ -> 1,
aSol /. ϵ -> 0.1,
aSol /. ϵ -> 0.01,
t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]


enter image description here



So far, so good!



However, if I simply ask Mathematica to FullSimplify[aSol], the resulting solution is no longer correct, and it does not satisfy one of the boundary conditions:



aSolSimpl = FullSimplify[aSol]

Plot[
aSol /. ϵ -> 0.05,
aSolSimpl /. ϵ -> 0.05
, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]


enter image description here



What's going wrong here?










share|improve this question











$endgroup$











  • $begingroup$
    i think because you assign Epsilon different values. i used Full Simplify and it was fine with me use it as follow to check aSol = y[t] /. DSolve[eq, bc1, bc2, y[t], t] /. [Epsilon] -> 1 aSolSimpl = FullSimplify[aSol] /. [Epsilon] -> 1 Plot[aSol, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"] Plot[aSolSimpl, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]
    $endgroup$
    – Alrubaie
    Mar 21 at 15:19







  • 1




    $begingroup$
    @dpholmes Plotting Plot3D[Evaluate[aSol, FullSimplify[aSol, [Epsilon] > 0]], t, 0, 1, [Epsilon], 0, 1] reveals that it might be a precision problem.
    $endgroup$
    – Henrik Schumacher
    Mar 21 at 15:20













3












3








3





$begingroup$


I'm confused about the output Mathematica is giving me when solving a boundary value problem of the form:



eq = ϵ y''[t] + 2 y'[t] + 2 y[t] == 0;
bc1 = y[0] == 0;
bc2 = y[1] == 1;

aSol = y[t] /. DSolve[eq, bc1, bc2, y[t], t][[1]][[1]]


This yields the correct answer, and produces plots like this for ep=1, ep=0.1, and ep=0.01.



Plot[
aSol /. ϵ -> 1,
aSol /. ϵ -> 0.1,
aSol /. ϵ -> 0.01,
t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]


enter image description here



So far, so good!



However, if I simply ask Mathematica to FullSimplify[aSol], the resulting solution is no longer correct, and it does not satisfy one of the boundary conditions:



aSolSimpl = FullSimplify[aSol]

Plot[
aSol /. ϵ -> 0.05,
aSolSimpl /. ϵ -> 0.05
, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]


enter image description here



What's going wrong here?










share|improve this question











$endgroup$




I'm confused about the output Mathematica is giving me when solving a boundary value problem of the form:



eq = ϵ y''[t] + 2 y'[t] + 2 y[t] == 0;
bc1 = y[0] == 0;
bc2 = y[1] == 1;

aSol = y[t] /. DSolve[eq, bc1, bc2, y[t], t][[1]][[1]]


This yields the correct answer, and produces plots like this for ep=1, ep=0.1, and ep=0.01.



Plot[
aSol /. ϵ -> 1,
aSol /. ϵ -> 0.1,
aSol /. ϵ -> 0.01,
t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]


enter image description here



So far, so good!



However, if I simply ask Mathematica to FullSimplify[aSol], the resulting solution is no longer correct, and it does not satisfy one of the boundary conditions:



aSolSimpl = FullSimplify[aSol]

Plot[
aSol /. ϵ -> 0.05,
aSolSimpl /. ϵ -> 0.05
, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]


enter image description here



What's going wrong here?







differential-equations simplifying-expressions






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 21 at 15:41









MarcoB

37.9k556114




37.9k556114










asked Mar 21 at 14:57









dpholmesdpholmes

350111




350111











  • $begingroup$
    i think because you assign Epsilon different values. i used Full Simplify and it was fine with me use it as follow to check aSol = y[t] /. DSolve[eq, bc1, bc2, y[t], t] /. [Epsilon] -> 1 aSolSimpl = FullSimplify[aSol] /. [Epsilon] -> 1 Plot[aSol, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"] Plot[aSolSimpl, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]
    $endgroup$
    – Alrubaie
    Mar 21 at 15:19







  • 1




    $begingroup$
    @dpholmes Plotting Plot3D[Evaluate[aSol, FullSimplify[aSol, [Epsilon] > 0]], t, 0, 1, [Epsilon], 0, 1] reveals that it might be a precision problem.
    $endgroup$
    – Henrik Schumacher
    Mar 21 at 15:20
















  • $begingroup$
    i think because you assign Epsilon different values. i used Full Simplify and it was fine with me use it as follow to check aSol = y[t] /. DSolve[eq, bc1, bc2, y[t], t] /. [Epsilon] -> 1 aSolSimpl = FullSimplify[aSol] /. [Epsilon] -> 1 Plot[aSol, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"] Plot[aSolSimpl, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]
    $endgroup$
    – Alrubaie
    Mar 21 at 15:19







  • 1




    $begingroup$
    @dpholmes Plotting Plot3D[Evaluate[aSol, FullSimplify[aSol, [Epsilon] > 0]], t, 0, 1, [Epsilon], 0, 1] reveals that it might be a precision problem.
    $endgroup$
    – Henrik Schumacher
    Mar 21 at 15:20















$begingroup$
i think because you assign Epsilon different values. i used Full Simplify and it was fine with me use it as follow to check aSol = y[t] /. DSolve[eq, bc1, bc2, y[t], t] /. [Epsilon] -> 1 aSolSimpl = FullSimplify[aSol] /. [Epsilon] -> 1 Plot[aSol, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"] Plot[aSolSimpl, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]
$endgroup$
– Alrubaie
Mar 21 at 15:19





$begingroup$
i think because you assign Epsilon different values. i used Full Simplify and it was fine with me use it as follow to check aSol = y[t] /. DSolve[eq, bc1, bc2, y[t], t] /. [Epsilon] -> 1 aSolSimpl = FullSimplify[aSol] /. [Epsilon] -> 1 Plot[aSol, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"] Plot[aSolSimpl, t, 0, 1, Frame -> True, FrameLabel -> "t", "y(t)"]
$endgroup$
– Alrubaie
Mar 21 at 15:19





1




1




$begingroup$
@dpholmes Plotting Plot3D[Evaluate[aSol, FullSimplify[aSol, [Epsilon] > 0]], t, 0, 1, [Epsilon], 0, 1] reveals that it might be a precision problem.
$endgroup$
– Henrik Schumacher
Mar 21 at 15:20




$begingroup$
@dpholmes Plotting Plot3D[Evaluate[aSol, FullSimplify[aSol, [Epsilon] > 0]], t, 0, 1, [Epsilon], 0, 1] reveals that it might be a precision problem.
$endgroup$
– Henrik Schumacher
Mar 21 at 15:20










1 Answer
1






active

oldest

votes


















5












$begingroup$

This behavior seems due to precision problems, as Henrik suggested in comments:



aSol = DSolveValue[eq, bc1, bc2, y[t], t];
aSolSimpl = FullSimplify[aSol];

Plot[Evaluate[aSol /. ϵ -> 1, 1/10, 1/100], t, 0, 1]

Plot[
Evaluate[aSolSimpl /. ϵ -> 1, 1/10, 1/100], t, 0, 1,
WorkingPrecision -> $MachinePrecision
]


Mathematica graphics






share|improve this answer









$endgroup$












    Your Answer





    StackExchange.ifUsing("editor", function ()
    return StackExchange.using("mathjaxEditing", function ()
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    );
    );
    , "mathjax-editing");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "387"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f193714%2fboundary-value-problem-and-fullsimplify%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    5












    $begingroup$

    This behavior seems due to precision problems, as Henrik suggested in comments:



    aSol = DSolveValue[eq, bc1, bc2, y[t], t];
    aSolSimpl = FullSimplify[aSol];

    Plot[Evaluate[aSol /. ϵ -> 1, 1/10, 1/100], t, 0, 1]

    Plot[
    Evaluate[aSolSimpl /. ϵ -> 1, 1/10, 1/100], t, 0, 1,
    WorkingPrecision -> $MachinePrecision
    ]


    Mathematica graphics






    share|improve this answer









    $endgroup$

















      5












      $begingroup$

      This behavior seems due to precision problems, as Henrik suggested in comments:



      aSol = DSolveValue[eq, bc1, bc2, y[t], t];
      aSolSimpl = FullSimplify[aSol];

      Plot[Evaluate[aSol /. ϵ -> 1, 1/10, 1/100], t, 0, 1]

      Plot[
      Evaluate[aSolSimpl /. ϵ -> 1, 1/10, 1/100], t, 0, 1,
      WorkingPrecision -> $MachinePrecision
      ]


      Mathematica graphics






      share|improve this answer









      $endgroup$















        5












        5








        5





        $begingroup$

        This behavior seems due to precision problems, as Henrik suggested in comments:



        aSol = DSolveValue[eq, bc1, bc2, y[t], t];
        aSolSimpl = FullSimplify[aSol];

        Plot[Evaluate[aSol /. ϵ -> 1, 1/10, 1/100], t, 0, 1]

        Plot[
        Evaluate[aSolSimpl /. ϵ -> 1, 1/10, 1/100], t, 0, 1,
        WorkingPrecision -> $MachinePrecision
        ]


        Mathematica graphics






        share|improve this answer









        $endgroup$



        This behavior seems due to precision problems, as Henrik suggested in comments:



        aSol = DSolveValue[eq, bc1, bc2, y[t], t];
        aSolSimpl = FullSimplify[aSol];

        Plot[Evaluate[aSol /. ϵ -> 1, 1/10, 1/100], t, 0, 1]

        Plot[
        Evaluate[aSolSimpl /. ϵ -> 1, 1/10, 1/100], t, 0, 1,
        WorkingPrecision -> $MachinePrecision
        ]


        Mathematica graphics







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 21 at 15:53









        MarcoBMarcoB

        37.9k556114




        37.9k556114



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Mathematica Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f193714%2fboundary-value-problem-and-fullsimplify%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Marja Vauras Lähteet | Aiheesta muualla | NavigointivalikkoMarja Vauras Turun yliopiston tutkimusportaalissaInfobox OKSuomalaisen Tiedeakatemian varsinaiset jäsenetKasvatustieteiden tiedekunnan dekaanit ja muu johtoMarja VaurasKoulutusvienti on kestävyys- ja ketteryyslaji (2.5.2017)laajentamallaWorldCat Identities0000 0001 0855 9405n86069603utb201588738523620927

            Which is better: GPT or RelGAN for text generation?2019 Community Moderator ElectionWhat is the difference between TextGAN and LM for text generation?GANs (generative adversarial networks) possible for text as well?Generator loss not decreasing- text to image synthesisChoosing a right algorithm for template-based text generationHow should I format input and output for text generation with LSTMsGumbel Softmax vs Vanilla Softmax for GAN trainingWhich neural network to choose for classification from text/speech?NLP text autoencoder that generates text in poetic meterWhat is the interpretation of the expectation notation in the GAN formulation?What is the difference between TextGAN and LM for text generation?How to prepare the data for text generation task

            Is flight data recorder erased after every flight?When are black boxes used?What protects the location beacon (pinger) of a flight data recorder?Is there anywhere I can pick up raw flight data recorder information?Who legally owns the Flight Data Recorder?Constructing flight recorder dataWhy are FDRs and CVRs still two separate physical devices?What are the data elements shown on the GE235 flight data recorder (FDR) plot?Are CVR and FDR reset after every flight?What is the format of data stored by a Flight Data Recorder?How much data is stored in the flight data recorder per hour in a typical flight of an A380?Is a smart flight data recorder possible?