diff --git a/main.tex b/main.tex index 0065588d181069e9c5a6b3ea9861c56916ca646d..1218309e0db4710c11f18ad4762a091d26824400 100644 --- a/main.tex +++ b/main.tex @@ -150,31 +150,31 @@ $\chern(F) = (R,C,D)$, and consider the possible Chern characters $\chern(E) = (r,c,d)$ of some semistabilizer $E$. \begin{sagesilent} - # Requires extra package: - #! sage -pip install "pseudowalls==0.0.3" --extra-index-url https://gitlab.com/api/v4/projects/43962374/packages/pypi/simple +# Requires extra package: +#! sage -pip install "pseudowalls==0.0.3" --extra-index-url https://gitlab.com/api/v4/projects/43962374/packages/pypi/simple - from pseudowalls import * +from pseudowalls import * - v = Chern_Char(*var("R C D", domain="real")) - u = Chern_Char(*var("r c d", domain="real")) +v = Chern_Char(*var("R C D", domain="real")) +u = Chern_Char(*var("r c d", domain="real")) - Δ = lambda v: v.Q_tilt() +Δ = lambda v: v.Q_tilt() \end{sagesilent} Recall [ref] that $\chern_1^{\beta_{-}}$ has fixed bounds in terms of $\chern(F)$, and so we can write: \begin{sagesilent} - ts = stability.Tilt - beta_min = var("beta", domain="real") +ts = stability.Tilt +beta_min = var("beta", domain="real") - c_lower_bound = -( - ts(beta=beta_min).rank(u) - /ts().alpha - ).expand() + c +c_lower_bound = -( + ts(beta=beta_min).rank(u) + /ts().alpha +).expand() + c - var("q", domain="real") - c_in_terms_of_q = c_lower_bound + q +var("q", domain="real") +c_in_terms_of_q = c_lower_bound + q \end{sagesilent} \begin{equation} @@ -195,8 +195,8 @@ and we shall be varying $\chern_0(E) = r$ to see when certain inequalities fail. This condition expressed in terms of $R,C,D,r,c,d$ looks as follows: \begin{sagesilent} - # First Bogomolov-Gieseker form expression that must be non-negative: - bgmlv1 = Δ(v) - Δ(u) - Δ(v-u) +# First Bogomolov-Gieseker form expression that must be non-negative: +bgmlv1 = Δ(v) - Δ(u) - Δ(v-u) \end{sagesilent} \begin{equation} @@ -209,11 +209,11 @@ Expressing $c$ in terms of $q$ as defined in (eqn \ref{eqn-cintermsofm}) we get the following: \begin{sagesilent} - bgmlv1_with_q = ( - bgmlv1 - .expand() - .subs(c == c_in_terms_of_q) - ) +bgmlv1_with_q = ( + bgmlv1 + .expand() + .subs(c == c_in_terms_of_q) +) \end{sagesilent} \begin{equation} @@ -225,17 +225,17 @@ we get the following: This can be rearranged to express a bound on $d$ as follows: \begin{sagesilent} - var("r_alt",domain="real") # r_alt = r - R/2 temporary substitution +var("r_alt",domain="real") # r_alt = r - R/2 temporary substitution - bgmlv1_with_q_reparam = (bgmlv1_with_q.subs(r == r_alt + R/2)/r_alt).expand() +bgmlv1_with_q_reparam = (bgmlv1_with_q.subs(r == r_alt + R/2)/r_alt).expand() - bgmlv1_d_ineq = ( - ((0 >= -bgmlv1_with_q_reparam)/4 + d) # Rearrange for d - .subs(r_alt == r - R/2) # Resubstitute r back in - .expand() - ) +bgmlv1_d_ineq = ( + ((0 >= -bgmlv1_with_q_reparam)/4 + d) # Rearrange for d + .subs(r_alt == r - R/2) # Resubstitute r back in + .expand() +) - bgmlv1_d_lowerbound = bgmlv1_d_ineq.rhs() # Keep hold of lower bound for d +bgmlv1_d_lowerbound = bgmlv1_d_ineq.rhs() # Keep hold of lower bound for d \end{sagesilent} \begin{dmath} @@ -244,35 +244,35 @@ This can be rearranged to express a bound on $d$ as follows: \end{dmath} \begin{sagesilent} - # Seperate out the terms of the lower bound for d - bgmlv1_d_lowerbound_without_hyp = bgmlv1_d_lowerbound.subs(1/(R-2*r) == 0) - - bgmlv1_d_lowerbound_exp_term = ( - bgmlv1_d_lowerbound - - bgmlv1_d_lowerbound_without_hyp - ).expand() - - bgmlv1_d_lowerbound_const_term = bgmlv1_d_lowerbound_without_hyp.subs(r==0) - - bgmlv1_d_lowerbound_linear_term = ( - bgmlv1_d_lowerbound_without_hyp - - bgmlv1_d_lowerbound_const_term - ).expand() - - # Verify the simplified forms of the terms that will be mentioned in text - assert bgmlv1_d_lowerbound_const_term == ( - v.twist(beta_min).ch[2]/2 - + beta_min*q - ) - - assert bgmlv1_d_lowerbound_exp_term == ( - ( - - R*v.twist(beta_min).ch[2]/2 - - R*beta_min*q - + C*q - - q^2 - )/(R-2*r) - ).expand() +# Separate out the terms of the lower bound for d +bgmlv1_d_lowerbound_without_hyp = bgmlv1_d_lowerbound.subs(1/(R-2*r) == 0) + +bgmlv1_d_lowerbound_exp_term = ( + bgmlv1_d_lowerbound + - bgmlv1_d_lowerbound_without_hyp +).expand() + +bgmlv1_d_lowerbound_const_term = bgmlv1_d_lowerbound_without_hyp.subs(r==0) + +bgmlv1_d_lowerbound_linear_term = ( + bgmlv1_d_lowerbound_without_hyp + - bgmlv1_d_lowerbound_const_term +).expand() + +# Verify the simplified forms of the terms that will be mentioned in text +assert bgmlv1_d_lowerbound_const_term == ( + v.twist(beta_min).ch[2]/2 + + beta_min*q +) + +assert bgmlv1_d_lowerbound_exp_term == ( + ( + - R*v.twist(beta_min).ch[2]/2 + - R*beta_min*q + + C*q + - q^2 + )/(R-2*r) +).expand() \end{sagesilent} @@ -295,8 +295,8 @@ so some of these expressions simplify. This condition expressed in terms of $R,C,D,r,c,d$ looks as follows: \begin{sagesilent} - # First Bogomolov-Gieseker form expression that must be non-negative: - bgmlv2 = Δ(u) +# First Bogomolov-Gieseker form expression that must be non-negative: +bgmlv2 = Δ(u) \end{sagesilent} \begin{equation} @@ -309,11 +309,11 @@ Expressing $c$ in terms of $q$ as defined in (eqn \ref{eqn-cintermsofm}) we get the following: \begin{sagesilent} - bgmlv2_with_q = ( - bgmlv2 - .expand() - .subs(c == c_in_terms_of_q) - ) +bgmlv2_with_q = ( + bgmlv2 + .expand() + .subs(c == c_in_terms_of_q) +) \end{sagesilent} \begin{equation} @@ -325,13 +325,13 @@ we get the following: This can be rearranged to express a bound on $d$ as follows: \begin{sagesilent} - bgmlv2_d_ineq = ( - (0 <= bgmlv2_with_q)/2/r # rescale assuming r > 0 - + d # Rearrange for d - ).expand() +bgmlv2_d_ineq = ( + (0 <= bgmlv2_with_q)/2/r # rescale assuming r > 0 + + d # Rearrange for d +).expand() - # Keep hold of lower bound for d - bgmlv2_d_lowerbound = bgmlv2_d_ineq.rhs() +# Keep hold of lower bound for d +bgmlv2_d_lowerbound = bgmlv2_d_ineq.rhs() \end{sagesilent} \begin{equation} @@ -340,17 +340,17 @@ This can be rearranged to express a bound on $d$ as follows: \end{equation} \begin{sagesilent} - # Seperate out the terms of the lower bound for d - bgmlv2_d_lowerbound_without_hyp = bgmlv2_d_lowerbound.subs(1/r == 0) - bgmlv2_d_lowerbound_const_term = bgmlv2_d_lowerbound_without_hyp.subs(r==0) - bgmlv2_d_lowerbound_linear_term = ( - bgmlv2_d_lowerbound_without_hyp - - bgmlv2_d_lowerbound_const_term - ).expand() - bgmlv2_d_lowerbound_exp_term = ( - bgmlv2_d_lowerbound - - bgmlv2_d_lowerbound_without_hyp - ).expand() +# Seperate out the terms of the lower bound for d +bgmlv2_d_lowerbound_without_hyp = bgmlv2_d_lowerbound.subs(1/r == 0) +bgmlv2_d_lowerbound_const_term = bgmlv2_d_lowerbound_without_hyp.subs(r==0) +bgmlv2_d_lowerbound_linear_term = ( + bgmlv2_d_lowerbound_without_hyp + - bgmlv2_d_lowerbound_const_term +).expand() +bgmlv2_d_lowerbound_exp_term = ( + bgmlv2_d_lowerbound + - bgmlv2_d_lowerbound_without_hyp +).expand() \end{sagesilent} Viewing equation \ref{eqn-bgmlv2_d_lowerbound} as a lower bound for $d$ in term @@ -370,8 +370,8 @@ for the bound found for $d$ in subsection \ref{subsect-d-bound-bgmlv1}. This condition expressed in terms of $R,C,D,r,c,d$ looks as follows: \begin{sagesilent} - # Third Bogomolov-Gieseker form expression that must be non-negative: - bgmlv3 = Δ(v-u) +# Third Bogomolov-Gieseker form expression that must be non-negative: +bgmlv3 = Δ(v-u) \end{sagesilent} \begin{equation} @@ -384,11 +384,11 @@ Expressing $c$ in terms of $q$ as defined in (eqn \ref{eqn-cintermsofm}) we get the following: \begin{sagesilent} - bgmlv3_with_q = ( - bgmlv3 - .expand() - .subs(c == c_in_terms_of_q) - ) +bgmlv3_with_q = ( + bgmlv3 + .expand() + .subs(c == c_in_terms_of_q) +) \end{sagesilent} \begin{equation} @@ -400,23 +400,23 @@ we get the following: This can be rearranged to express a bound on $d$ as follows: \begin{sagesilent} - var("r_alt",domain="real") # r_alt = r - R temporary substitution - - bgmlv3_with_q_reparam = ( - bgmlv3_with_q - .subs(r == r_alt + R) - /r_alt # This operation assumes r_alt > 0 - ).expand() - - bgmlv3_d_ineq = ( - ((0 <= bgmlv3_with_q_reparam)/2 + d) # Rearrange for d - .subs(r_alt == r - R) # Resubstitute r back in - .expand() - ) - - # Check that this equation represents a bound for d - assert bgmlv3_d_ineq.lhs() == d, f"Inequality is of the form: {bgmlv3_d_ineq}" - bgmlv3_d_upperbound = bgmlv3_d_ineq.rhs() # Keep hold of lower bound for d +var("r_alt",domain="real") # r_alt = r - R temporary substitution + +bgmlv3_with_q_reparam = ( + bgmlv3_with_q + .subs(r == r_alt + R) + /r_alt # This operation assumes r_alt > 0 +).expand() + +bgmlv3_d_ineq = ( + ((0 <= bgmlv3_with_q_reparam)/2 + d) # Rearrange for d + .subs(r_alt == r - R) # Resubstitute r back in + .expand() +) + +# Check that this equation represents a bound for d +assert bgmlv3_d_ineq.lhs() == d, f"Inequality is of the form: {bgmlv3_d_ineq}" +bgmlv3_d_upperbound = bgmlv3_d_ineq.rhs() # Keep hold of lower bound for d \end{sagesilent} \begin{dmath} @@ -425,35 +425,35 @@ This can be rearranged to express a bound on $d$ as follows: \end{dmath} \begin{sagesilent} - # Seperate out the terms of the lower bound for d +# Seperate out the terms of the lower bound for d - bgmlv3_d_upperbound_without_hyp = bgmlv3_d_upperbound.subs(1/(R-r) == 0) +bgmlv3_d_upperbound_without_hyp = bgmlv3_d_upperbound.subs(1/(R-r) == 0) - bgmlv3_d_upperbound_const_term = bgmlv3_d_upperbound_without_hyp.subs(r==0) +bgmlv3_d_upperbound_const_term = bgmlv3_d_upperbound_without_hyp.subs(r==0) - bgmlv3_d_upperbound_linear_term = ( - bgmlv3_d_upperbound_without_hyp - - bgmlv3_d_upperbound_const_term - ).expand() +bgmlv3_d_upperbound_linear_term = ( + bgmlv3_d_upperbound_without_hyp + - bgmlv3_d_upperbound_const_term +).expand() - bgmlv3_d_upperbound_exp_term = ( - bgmlv3_d_upperbound - - bgmlv3_d_upperbound_without_hyp - ).expand() +bgmlv3_d_upperbound_exp_term = ( + bgmlv3_d_upperbound + - bgmlv3_d_upperbound_without_hyp +).expand() - # Verify the simplified forms of the terms that will be mentioned in text +# Verify the simplified forms of the terms that will be mentioned in text - assert bgmlv3_d_upperbound_const_term == ( - v.twist(beta_min).ch[2] - + beta_min*q - ).expand() +assert bgmlv3_d_upperbound_const_term == ( + v.twist(beta_min).ch[2] + + beta_min*q +).expand() - assert bgmlv3_d_upperbound_exp_term == ( - R*v.twist(beta_min).ch[2] - + (C - q)^2/2 - + R*beta_min*q - - D*R - )/(r-R) +assert bgmlv3_d_upperbound_exp_term == ( + R*v.twist(beta_min).ch[2] + + (C - q)^2/2 + + R*beta_min*q + - D*R + )/(r-R) \end{sagesilent}