Message Boards Message Boards

Mathematica-3DPlots and Laurent series of Multivariable functions

Posted 2 years ago

Dear all, I hope you are doing well.

Previously, I have tried to submit this question, however, I forgot to include my attempts which now I do so. Attached below, you may find my notebook with my doubts. It should be remarked that I have also read Mathematica's documentation. However, this latter did not help me with the Taylor and Laurent series expansion of multivariable functions.

With that said, suppose that we have the following multivariable function

$\displaystyle \psi(x,y)=\frac{-((2 (132 + 56 x^4 - 382 y + 394 y^2 - 171 y^3 + 26 y^4 + 6 x^3 (-47 + 31 y) + x^2 (608 - 782 y + 240 y^2) + x (-602 + 1130 y - 716 y^2 + 153 y^3)))}{((16 + 4 x^2 + 8 x (-2 + y) - 16 y + 5 y^2)^2 (5 x^2 + (3 - 2 y)^2 + x (-6 + 4 y))^2))}$

Based on the above, I ask the following questions:

  1. How may I construct a 3D plot of $\psi(x,y)$ so that positive and negative values are represented by red and blue colors, respectively? As one can readily see from the notebook attached below, I have considered the ColorFunction command to represent the positive and negative values of $\psi(x,y)$. However, I am not quite sure whether this is correct. As we may observe, $\psi(x,y)$ is a negative function. Hence, should not we observe a predominantly blue color in the 3D plot of $\psi$?
  2. Is there a way to determine whether or not $\psi(x,y)$ is symmetric using Mathematica?
  3. I have read Mathematica's documentation, however, I did not find a proper approach to performing series expansion of multivariable functions like $\psi$. Consequently, How may one perform the Taylor or Laurent series of this function in the neighborhood of the point $\displaystyle (x,y)=(2,1)$ through Mathematica?

Thanks once more and I look forward to hearing from you.

3 Replies

Hi, use ColorFunctionScaling->False as an option for Plot3D

POSTED BY: Martijn Froeling

For taking a series expansion there are two standard ways. One is variable-by-variable.

lpoly = (-2*(132 + 56*x^4 - 382*y + 394*y^2 - 171*y^3 + 26*y^4 + 6*x^3*(-47 + 31*y) +
        x^2*(608 - 782*y + 240*y^2) + x*(-602 + 1130*y - 716*y^2 + 153*y^3)))/
    ((16 + 4*x^2 + 8*x*(-2 + y) - 16*y + 5*y^2)^2*(5*x^2 + (3 - 2*y)^2 + x*(-6 + 4*y))^2);
series1 = Normal[Series[lpoly, {x, 2, 2}, {y, 1, 2}]]

(* Out[29]= -(642/7225) + (-2 + x)^2 (-(17783536/52200625) + (
    1232131808 (-1 + y))/887410625 - (56201508164 (-1 + y)^2)/
    15085980625) + (-2 + x) (142454/614125 - (8151394 (-1 + y))/
    10440125 + (313983542 (-1 + y)^2)/177482125) + (
 28698 (-1 + y))/122825 - (900162 (-1 + y)^2)/2088025 *)

The other is to take a series based on total degree, by using an auxiliary variable. We do some forward and backward transformations to center at the origin and then reverse this.

series2 = Normal[Series[lpoly /. {x -> x + 2, y -> y + 1} /. {x -> t*x, y -> t*y},
    {t, 0, 2}]] /. t -> 1 /. {x -> x - 2, y -> y - 1}

(* Out[26]= -(642/7225) + (
 2 (71227 (-2 + x) + 71745 (-1 + y)))/614125 - (
 2 (8891768 (-2 + x)^2 + 20378485 (-2 + x) (-1 + y) + 
    11252025 (-1 + y)^2))/52200625 *)
POSTED BY: Daniel Lichtblau

Hi Daniel Lichtblau. I hope you are doing well. Your answer is perfect! That's exactly what I was thinking. Thank you so much!!!!

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract