#!/usr/bin/env pyscript # $Id: bifurcate.py,v 1.2 2006/02/14 14:23:08 paultcochrane Exp $ """ bifurcate.py - a bifurcation diagram As lambda increases to some critical value the function becomes multivalued and bifurcates giving the fork structure after \lambda_c. """ # import the pyscript objects from pyscript import * # define the default units to use defaults.units = UNITS['cm'] render( # define the axes Arrow( P(0,0), P(0,4) ), Arrow( P(0,0), P(5,0) ), # dashed vertical line at lambda_c Path( P(2,3.8), P(2,0), dash=Dash(2), fg=Color(.5) ), # solid line before bifurcation point Path( P(.5,2), P(2,2), linewidth=1 ), # multi-valued part of function after bifurcation Path( P(4,3.7), C(P(3,3.5), P(2,3)), P(2,2), C(P(2,1), P(3,.5)), P(4,.3), linewidth=1), # dashed horizontal line after lambda_c Path( P(2,2), P(4,2), dash=Dash(3), linewidth=1 ), # axes labels TeX(r'$\bar{\lambda}_c$', n=P(2,-.1)), TeX(r'$\bar{\lambda}$', ne=P(4.8,-.1)), # the output file file="bifurcate.eps", ) # vim: expandtab shiftwidth=4: