Skip to content
Snippets Groups Projects
Commit bc1ed2aa authored by Luke Naylor's avatar Luke Naylor
Browse files

Neaten up Sage code

parent 7e8de853
No related branches found
No related tags found
No related merge requests found
......@@ -141,16 +141,18 @@ def charact_curves(v):
alpha = stability.Tilt().alpha
beta = stability.Tilt().beta
coords_range = (beta, -4, 5), (alpha, 0, 4)
text_args = {"fontsize":"x-large", "clip":True}
black_text_args = {"rgbcolor": "black", **text_args}
p = (
implicit_plot(stability.Tilt().degree(v), *coords_range )
+ line([(mu(v),0),(mu(v),5)], linestyle = "dashed")
+ text(r"$ch_2^{\alpha, \beta}(v)=0$",[3.5, 2], rotation=45, fontsize="x-large", clip=True)
+ text(r"$ch_1^{\alpha, \beta}(v)=0$", [0.45, 1.5], rotation=90, fontsize="x-large", clip=True)
+ text(r"$ch_2^{\alpha, \beta}(v)=0$", [-2, 2], rotation=-45, fontsize="x-large", clip=True)
+ text(r"$\nu_{\alpha, \beta}(v)>0$", [-3, 1], rgbcolor="black", fontsize="x-large", clip=True)
+ text(r"$\nu_{\alpha, \beta}(v)<0$", [-1, 3], rgbcolor="black", fontsize="x-large", clip=True)
+ text(r"$\nu_{\alpha, \beta}(-v)>0$", [2, 3], rgbcolor="black", fontsize="x-large", clip=True)
+ text(r"$\nu_{\alpha, \beta}(-v)<0$", [4, 1], rgbcolor="black", fontsize="x-large", clip=True)
+ text(r"$ch_2^{\alpha, \beta}(v)=0$",[3.5, 2], rotation=45, **text_args)
+ text(r"$ch_1^{\alpha, \beta}(v)=0$", [0.45, 1.5], rotation=90, **text_args)
+ text(r"$ch_2^{\alpha, \beta}(v)=0$", [-2, 2], rotation=-45, **text_args)
+ text(r"$\nu_{\alpha, \beta}(v)>0$", [-3, 1], **black_text_args)
+ text(r"$\nu_{\alpha, \beta}(v)<0$", [-1, 3], **black_text_args)
+ text(r"$\nu_{\alpha, \beta}(-v)>0$", [2, 3], **black_text_args)
+ text(r"$\nu_{\alpha, \beta}(-v)<0$", [4, 1], **black_text_args)
)
p.xmax(5)
p.xmin(-4)
......@@ -287,24 +289,30 @@ Recalling how the sign of $\nu_{\alpha,\beta}(\pm u)$ changes
def hyperbola_intersection_plot():
var("alpha beta", domain="real")
coords_range = (beta, -3, -1/2), (alpha, 0, 2.5)
delta1 = -sqrt(2)+1/100
delta2 = 1/2
pbeta=-1.5
text_args = {"fontsize":"large", "clip":True}
black_text_args = {"rgbcolor":"black", **text_args}
p = (
implicit_plot(beta^2 - alpha^2 == 2, *coords_range , rgbcolor = "black", legend_label=r"a")
+ implicit_plot((beta+4)^2 - (alpha)^2 == 2, *coords_range , rgbcolor = "red")
+ implicit_plot((beta+delta1)^2 - alpha^2 == (delta1-2)^2-2, *coords_range , rgbcolor = "blue")
+ implicit_plot((beta+delta2)^2 - alpha^2 == (delta2-2)^2-2, *coords_range , rgbcolor = "green")
implicit_plot( beta^2 - alpha^2 == 2,
*coords_range , rgbcolor = "black", legend_label=r"a")
+ implicit_plot( (beta+4)^2 - (alpha)^2 == 2,
*coords_range , rgbcolor = "red")
+ implicit_plot( (beta+delta1)^2 - alpha^2 == (delta1-2)^2-2,
*coords_range , rgbcolor = "blue")
+ implicit_plot( (beta+delta2)^2 - alpha^2 == (delta2-2)^2-2,
*coords_range , rgbcolor = "green")
+ point([-2, sqrt(2)], size=50, rgbcolor="black", zorder=50)
+ text("Q",[-2, sqrt(2)+0.1], rgbcolor="black", fontsize="large", clip=true)
+ text("Q",[-2, sqrt(2)+0.1], **black_text_args)
+ point([pbeta, sqrt(pbeta^2-2)], size=50, rgbcolor="black", zorder=50)
+ text("P",[pbeta+0.1, sqrt(pbeta^2-2)], rgbcolor="black", fontsize="large", clip=true)
+ text("P",[pbeta+0.1, sqrt(pbeta^2-2)], **black_text_args)
+ circle((-2,0),sqrt(2), linestyle="dashed", rgbcolor="purple")
# dummy lines to add legends (circumvent bug in implicit_plot)
+ line([(2,0),(2,0)] , rgbcolor = "purple", linestyle="dotted", legend_label=r"pseudo-wall")
+ line([(2,0),(2,0)] , rgbcolor = "black", legend_label=r"$ch_2^{\alpha,\beta}(v)=0$")
+ line([(2,0),(2,0)] , rgbcolor = "purple", linestyle="dotted",
legend_label=r"pseudo-wall")
+ line([(2,0),(2,0)] , rgbcolor = "black",
legend_label=r"$ch_2^{\alpha,\beta}(v)=0$")
+ line([(2,0),(2,0)] , rgbcolor = "red", legend_label=r"case 1")
+ line([(2,0),(2,0)] , rgbcolor = "blue", legend_label=r"case 2")
+ line([(2,0),(2,0)] , rgbcolor = "green", legend_label=r"case 3")
......@@ -313,36 +321,46 @@ def hyperbola_intersection_plot():
p.xmin(coords_range[0][1])
p.ymax(coords_range[1][2])
p.ymin(coords_range[1][1])
p.axes_labels([r"$\beta$",
r"$\alpha$"])
p.axes_labels([r"$\beta$", r"$\alpha$"])
return p
def correct_hyperbola_intersection_plot():
var("alpha beta", domain="real")
coords_range = (beta, -2.5, 0.5), (alpha, 0, 3)
delta2 = 1/2
pbeta=-1.5
text_args = {"fontsize":"large", "clip":True}
black_text_args = {"rgbcolor":"black", **text_args}
p = (
implicit_plot(beta^2 - alpha^2 == 2, *coords_range , rgbcolor = "black", legend_label=r"a")
+ implicit_plot((beta+delta2)^2 - alpha^2 == (delta2-2)^2-2, *coords_range , rgbcolor = "green")
implicit_plot( beta^2 - alpha^2 == 2,
*coords_range , rgbcolor = "black", legend_label=r"a")
+ implicit_plot((beta+delta2)^2 - alpha^2 == (delta2-2)^2-2,
*coords_range , rgbcolor = "green")
+ point([-2, sqrt(2)], size=50, rgbcolor="black", zorder=50)
+ text("Q",[-2, sqrt(2)+0.1], rgbcolor="black", fontsize="large", clip=true)
+ text("Q",[-2, sqrt(2)+0.1], **black_text_args)
+ point([pbeta, sqrt(pbeta^2-2)], size=50, rgbcolor="black", zorder=50)
+ text("P",[pbeta+0.1, sqrt(pbeta^2-2)], rgbcolor="black", fontsize="large", clip=true)
+ text("P",[pbeta+0.1, sqrt(pbeta^2-2)], **black_text_args)
+ circle((-2,0),sqrt(2), linestyle="dashed", rgbcolor="purple")
# dummy lines to add legends (circumvent bug in implicit_plot)
+ line([(2,0),(2,0)] , rgbcolor = "purple", linestyle="dotted", legend_label=r"pseudo-wall")
+ line([(2,0),(2,0)] , rgbcolor = "black", legend_label=r"$ch_2^{\alpha,\beta}(v)=0$")
+ line([(2,0),(2,0)] , rgbcolor = "green", legend_label=r"$ch_2^{\alpha,\beta}(u)=0$")
+ line([(2,0),(2,0)] , rgbcolor = "purple", linestyle="dotted",
legend_label=r"pseudo-wall")
+ line([(2,0),(2,0)] , rgbcolor = "black",
legend_label=r"$ch_2^{\alpha,\beta}(v)=0$")
+ line([(2,0),(2,0)] , rgbcolor = "green",
legend_label=r"$ch_2^{\alpha,\beta}(u)=0$")
# vertical characteristic lines
+line([(0,0),(0,coords_range[1][2])], rgbcolor="black", linestyle="dashed", legend_label=r"$ch_1^{\alpha,\beta}(v)=0$")
+line([(-delta2,0),(-delta2,coords_range[1][2])], rgbcolor="green", linestyle="dashed", legend_label=r"$ch_1^{\alpha,\beta}(u)=0$")
+line([(0,0),(-coords_range[1][2],coords_range[1][2])], rgbcolor="black", linestyle="dotted", legend_label=r"assymptote for $ch_2^{\alpha,\beta}(v)=0$")
+line([(-delta2,0),(-delta2-coords_range[1][2],coords_range[1][2])], rgbcolor="green", linestyle="dotted", legend_label=r"assymptote for $ch_1^{\alpha,\beta}(u)=0$")
+ line([(0,0),(0,coords_range[1][2])],
rgbcolor="black", linestyle="dashed",
legend_label=r"$ch_1^{\alpha,\beta}(v)=0$")
+ line([(-delta2,0),(-delta2,coords_range[1][2])],
rgbcolor="green", linestyle="dashed",
legend_label=r"$ch_1^{\alpha,\beta}(u)=0$")
+ line([(0,0),(-coords_range[1][2],coords_range[1][2])],
rgbcolor="black", linestyle="dotted",
legend_label=r"assymptote for $ch_2^{\alpha,\beta}(v)=0$")
+ line([(-delta2,0),(-delta2-coords_range[1][2],coords_range[1][2])],
rgbcolor="green", linestyle="dotted",
legend_label=r"assymptote for $ch_1^{\alpha,\beta}(u)=0$")
)
p.set_legend_options(loc="upper right")
p.xmax(coords_range[0][2])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment