ÿþ<HTML> <HEAD> <TITLE>Carleson's Inequality program</TITLE> <META http-equiv=Content-Type content="text/html"> <style type="text/css"> v\:* { behavior: url(#default#VML); } </style> <script type="text/javascript" src=mathinc2.js> </script><!--9901312256--> <script type="text/javascript" src=complex2.js> </script><!--9901312332--> <script type="text/javascript" src=drawcod2.js> </script><!--9902011133--> <script lang="javascript"> <!-- //9904261710 include isAlpha(ch) to carleson.htm function isAlpha(ch) //9809151101 { if((ch>='a'&&ch<='z') ||(ch>='A'&&ch<='Z') ) return true; return false; } function isDigit(ch) //9809190819 { if((ch>='0'&&ch<='9')) return true; return false; } function initial0(linkNum, plotNum) { tuteLink(0); //9806231221 } //--> </script> <script src="http://freeman2.com/tutelink.js" language="javascript"></script><!--9806111210--> <script src="tutelink.js" language="javascript"></script><!--9806111211--> <script type="text/javascript" src=jsgraph2.js> </script><!--9808261915--> </HEAD> <body link="#FF0000" vlink="#0000FF" alink="#50A000" bgcolor="#ccfcfc" onload="javascript:initial0()" > <span id="gotoFM2msg"></span><!--9712091951--> <font size=+2> Carleson's Inequality program</a> </font> <br> <a href="#ezGraph1103"> program </a> &nbsp; <a href="#click1103"> click </a> &nbsp; <a href="#docA001"> Doc </a> &nbsp; Upload 2010-04-29 0 <br> <a href=http://www.structura.info/XYGraph/XYGraphDemo.htm> XYGraph v2.3 - web page graph </a> &nbsp; <!--9506231219 add link--> <a href=http://www.structura.info/XYGraph/Links.htm> && <!--##9756;##9758;--> </a> &nbsp; <!--9506231216 add link--> <a href=http://www.structura.info/XYGraph/Purchase.htm> donate<!--9801031950 use donate ##9829;##9835; e&k&--> </a> &nbsp; <a href="http://www.structura.info/XYGraph/XYGraph.zip"> get code</a> <!-- 2006-06-12-18-21 download http://www.structura.info/XYGraph/XYGraph.zip C:\$fm\js\xygraph\XYGraph.zip 2006-06-19-08-21 record --> <br> <a href=http://www-stat.wharton.upenn.edu/~steele/Publications/Books/CSMC/CSMC_index.html> The Cauchy-Schwarz Master Class </a> &nbsp; <a href=http://www-stat.wharton.upenn.edu/~steele/index.html> J. Michael</a> <a href=http://www.wharton.upenn.edu/faculty/steele.html> Steele</a> &nbsp; <a href=http://www.amazon.com/review/product/052154677X/ref=cm_cr_dp_all_helpful?%5Fencoding=UTF8&coliid=&showViewpoints=1&colid=&sortBy=bySubmissionDateDescending> &&&&& </a><!--9806081839 add link--> <br> <font color=red> This file is personal home work. No one <br> proofread. Cannot promise correctness. <br> If you suspect any view point wrong, <br> please ask a math expert near by. <br> Freeman 2009-06-19-10-46</font> <br> Please use MSIE browser to read this file. <br> Did not test other browser. This file is <br> <!--9806081846--> written under MSIE 6.0 <br> <span id="tuteLink1"></span> <br> <script src="http://freeman2.com/rocsitee.js" language="javascript"></script> <br> <pre><font size=+2> <a name="docA001">&lt;a name="docA001"&gt;</a> 2010-04-29-17-10 start Carleson's Convexity Inequality is </font></pre> <a name="ch11b003">&lt;a name="ch11b003"&gt;</a> <a href="http://freeman2.com/tute0041.htm#ch11b001">Problem 11.3</a> <a href="tute0041.htm#ch11b001">local</a> <TABLE WIDTH="460" id=T173L08a border=0 ><!--9904261237--> <TR> <TD> <TABLE WIDTH="320" border=0 id=T173L08b > <TR> <TD> I </TD> <TD> ÿ </TD> <TD> <CENTER><FONT SIZE=-1>x="</FONT></CENTER> <CENTER><FONT SIZE=+3>+"</FONT></CENTER> <CENTER><FONT SIZE=-1>x=0</FONT></CENTER> </TD> <TD> x<sup>±</sup> </TD> <TD> exp </TD> <TD> <FONT SIZE=+3>{</FONT> </TD> <TD> <CENTER> ÿÆ(x)</CENTER> <CENTER><hr color=black></CENTER> <CENTER>x</CENTER> </TD> <TD> <FONT SIZE=+3>}</FONT> </TD> <TD> dx </TD> </TR> <TR> <TD> f" </TD> <TD> e<sup>±+1</sup> </TD> <TD> <CENTER><FONT SIZE=-1>x="</FONT></CENTER> <CENTER><FONT SIZE=+3>+"</FONT></CENTER> <CENTER><FONT SIZE=-1>x=0</FONT></CENTER> </TD> <TD> x<sup>±</sup> </TD> <TD> exp </TD> <TD> { </TD> <TD> ÿÆ'(x) </TD> <TD> } </TD> <TD> dx </TD> </TR> </TABLE> </TD> <TD> <font color=red><b> Carleson's <br> Convexity <br> Inequality </b></font> <br> ---page 173 <br> ---line 8 <br> ---eqn.11.15 </TD> </TR> </TABLE> width of above equation <INPUT name=Button173L08a type="button" value="default" onclick="B173L08a.value=460,B173L08b.value=320,T173L08a.width=B173L08a.value,T173L08b.width=B173L08b.value"> <input id=B173L08a value=460 size=3 onchange=T173L08a.width=B173L08a.value /> <input id=B173L08b value=320 size=3 onchange=T173L08b.width=B173L08b.value /> <br> where, as usual, e=2.71828182845904... is the natural base. <pre><font size=+2><a name="docA002">&lt;a name="docA002"&gt;</a><a href="tute0041.htm#ch11b004">more document</a> Problem 11.3 has a fig. 11.1 This file carleson.htm draw figure 11.1. Please click <a href="#click1103">Draw B</a> button Red curve is Æ(x) in eqn.11.15 Key point is that red tangent always below red curve. Only exception is the tangent point 'A'. Red curve and red tangent coincide at 'A'. <a name="docA003">&lt;a name="docA003"&gt;</a> In 'Tangent at x=' box, user specify a number. Default is 0.6. Tangent at x=0.6 This number is 'y' in <a href="tute0041.htm#textbook">textbook</a>. In 'Multiplication' box, user specify a number. Default is 2.0 This number is 'p' in textbook <a name="docA004">&lt;a name="docA004"&gt;</a> Craw A / Draw B output point 'A' is tangent point. point 'A' is (x,Æ)= ( y, Æ(y)) point 'B' is (x,Æ)= (py, Æ(y)) point 'C' is (x,Æ)= (py, Æ(py)) point 'D' is (x,Æ)= ( y, Æ(py)) Above Æ(x) is red curve. Below t(p) is red tangent t(p)=Æ(y)+(py-y)*Æ'(y) ---<a href="tute0041.htm#ch11b019">eqn.BI008</a> point 'E' is (x,t)= (py, t(py)) <a name="docA005">&lt;a name="docA005"&gt;</a> Scale shifted differences in range Æ(py)-Æ(y) is line AD or BC Scale shifted differences in domain py-y is line AB or DC <a name="docA006">&lt;a name="docA006"&gt;</a> Convexity of Æ(y) is characterized by curve always above tangent line. <font color=red><b>point on curve is Æ(py) point on tangent is Æ(y)+(py-y)*Æ'(y) Convexity condition in mathematics form is Æ(py)g"Æ(y)+(py-y)*Æ'(y) ---<a href="tute0041.htm#ch11b025">eqn.11.16</a></b></font> <a name="docA007">&lt;a name="docA007"&gt;</a> User can define f(x) at [f(x) =] box. But remember three points. (1) require convex curve. Shape like p%o% If use sin(x), need specify domain bounds. (2) require Æ(0)=0 (3) click [Draw A] for user data [Draw B] delete user data. Have a nice explore trip. 2010-04-29-18-01 stop <a href="tute0041.htm#ch11b004">more document</a> </font></pre> <!--9904061530 create ezGraph1103--> <a name="ezGraph1103">&lt;a name="ezGraph1103"&gt;</a> <a href="#docA001"> Doc </a> <br> <a href='http://freeman2.com/tute0041.htm#ch11b001'>Problem 11.3</a> is where Carleson's Inequality start. <br> Click <a href='tute0041.htm#ch11b001'>local</a> if you saved a local copy of tute0041.htm <br> <font color=red><b> Program environment is MSIE 6.0, please use MSIE </b></font> <br> <!--9904091538--> x min: <INPUT id=QDboxXmin10 value="-1" size=3 > , x max: <INPUT id=QDboxXmax10 value="3" size=3 > ; y min: <INPUT id=QDboxYmin10 value="-1" size=3 > , y max: <INPUT id=QDboxYmax10 value="3" size=3 > ; <br> Drawing board size W: <INPUT id=QDboxWidth10 value="300" size=5 onchange="javascript:if(QDboxWidth10.value<100)QDboxWidth10.value=100; else if(QDboxWidth10.value>800)QDboxWidth10.value=800;" > H: <INPUT id=QDboxHeight10 value="300" size=5 onchange="javascript:if(QDboxHeight10.value<100)QDboxHeight10.value=100; else if(QDboxHeight10.value>800)QDboxHeight10.value=800;" > <br> domain left: <INPUT id=QDboxDleft10 value="0.0001" size=3 > , domain right: <INPUT id=QDboxDrite10 value="3" size=3 > ; steps: <INPUT id=QDboxStep10 value="60" size=3 ><!--9812072239--> <input onclick="QDboxDleft10.value=QDboxDrite10.value=QDboxStep10.value=''" type="button" value="dD" /> <br> domain left and domain right is where function defined. <br> if f(x)=x*log(x), do not set domain left=0, use 0.0001. <br> If steps=60, draw one curve by 60 short lines. <br> <a name="click1103"></a><!--9904271658--> Shift factors: Addition <INPUT id=QDboxAShift10 value="-0.2" size=3 > , Multiplication <INPUT id=QDboxMShift10 value="2.0" size=3 > <input onclick="QDboxAShift10.value=QDboxMShift10.value=''" type="button" value="dS" /> <br> Tangent at x= <INPUT id=QDboxXTang10 value="0.6" size=3 > , <input onclick="QDboxXTang10.value=''" type="button" value="dT" /> , Example<!--9904271200 start example button--> <input onclick=" QDboxfunc0x.value='x*log(x)' QDboxfunc1x.value='log(x)+1' QDboxfunc2x.value='1/x' QDboxMShift10.value=2.0 QDboxXTang10.value=0.6 QDspanAlert1103.innerHTML='Example [1] is [Draw B] default data.' QDboxXmin10.value=-1; QDboxXmax10.value=2; QDboxYmin10.value=-1; QDboxYmax10.value=2; QDboxDleft10.value=0.0001; QDboxDrite10.value=2; " type="button" value="1" /> <input onclick=" QDboxfunc0x.value='exp(0.8*x)-1' QDboxfunc1x.value='0.8*exp(0.8*x)' QDboxfunc2x.value='0.8*0.8*exp(0.8*x)' QDboxMShift10.value=2.5 QDboxXTang10.value=0.5 QDspanAlert1103.innerHTML='Click [Draw A] button, [Draw B] void example data.' QDboxXmin10.value=-1; QDboxXmax10.value=3; QDboxYmin10.value=-1; QDboxYmax10.value=3; " type="button" value="2" /> <input onclick=" QDboxfunc0x.value='pow(x,2)' QDboxfunc1x.value='2*pow(x,1)' QDboxfunc2x.value='2' QDboxMShift10.value=1.9 QDboxXTang10.value=0.8 QDspanAlert1103.innerHTML='Click [Draw A] button, [Draw B] void example data.' QDboxXmin10.value=-1; QDboxXmax10.value=3; QDboxYmin10.value=-1; QDboxYmax10.value=3; " type="button" value="3" /> <input onclick=" QDboxfunc0x.value='log(1+exp(x))-log(2)' QDboxfunc1x.value='exp(x)/(1+exp(x))' QDboxfunc2x.value='(exp(x)/(1+exp(x)))-(exp(x)/(1+exp(x)))*(exp(x)/(1+exp(x)))' QDboxMShift10.value=2.5 QDboxXTang10.value=0.8 QDspanAlert1103.innerHTML='Click [Draw A] button; Exercise 6.4 <a href=tute0024.htm#ch06c149>eqn.AR103</a> to eqn.AR105' QDboxXmin10.value=-1; QDboxXmax10.value=3; QDboxYmin10.value=-1; QDboxYmax10.value=3; " type="button" value="4" /><!--9904271240 done example button--> <!--9904291802 start example 5 button--> <input onclick=" QDboxfunc0x.value='-1.5*sin(x)' QDboxfunc1x.value='-1.5*cos(x)' QDboxfunc2x.value='+1.5*sin(x)' QDboxMShift10.value=2.8 QDboxXTang10.value=1.0 QDspanAlert1103.innerHTML='Click [Draw A] button; Sine need domain bounds.' QDboxXmin10.value=-1; QDboxXmax10.value=5; QDboxYmin10.value=-3; QDboxYmax10.value=3; QDboxDleft10.value=0; QDboxDrite10.value=3.141592653589793; QDboxStep10.value=50; " type="button" value="5" /><!--9904291807 done example 5 button--> <a href="#docA001"> Doc </a> <br> f(x) = <INPUT id=QDboxfunc0x value="x*log(x)"; size=60 > <input onclick="QDboxfunc0x.value=''" type="button" value="d" /> <br> f'(x) = <INPUT id=QDboxfunc1x value="log(x)+1"; size=60 > <input onclick="QDboxfunc1x.value=''" type="button" value="d" /> <br> f''(x)= <INPUT id=QDboxfunc2x value="1/x"; size=60 > <input onclick="QDboxfunc2x.value=''" type="button" value="d" /> <input onclick="QDboxfunc0x.value=QDboxfunc1x.value=QDboxfunc2x.value=''" type="button" value="dA" /> <br> <font color=red><b> Click [Draw A] for your data. [Draw B] erase your data. </b></font> <br> <input onclick=" javascript:prob1103a(1) " type="button" value="Shift curve prob1103" /> <input onclick=" javascript:prob1103b(1) " type="button" value="Draw A User Data" /> <input onclick=" QDboxfunc0x.value='x*log(x)' QDboxfunc1x.value='log(x)+1' QDboxfunc2x.value='1/x' QDboxMShift10.value=2.0 QDboxXTang10.value=0.6 QDboxXmin10.value=-1; QDboxXmax10.value=2; QDboxYmin10.value=-1; QDboxYmax10.value=2; QDboxDleft10.value=0.0001; QDboxDrite10.value=2; javascript:prob1103b(1) " type="button" value="Draw B Default" /> <input onclick=" QDdivGraph1103.innerHTML = QDspanEqnDoc1103.innerHTML = ''; QDspanAlert1103.innerHTML=''; " type="button" value="wipe" /> <br> <font color=red> <span id=QDspanAlert1103> </span> </font> <br> <div id=QDdivGraph1103></div> <br> <span id=QDspanEqnDoc1103> <!--990406--> </span> <script lang="javascript"> <!-- function prob1103b(Arg1) //9904261 { status=''; QDdivGraph1103.innerHTML= QDspanEqnDoc1103.innerHTML= QDspanAlert1103.innerHTML=''; var MyGraph = new XYGraph(); var MyLine1 = new XYLine(); var MyLine2 = new XYLine(); MyLine1.VMLpointshapetype="none"; MyLine2.VMLpointshapetype="none"; var MyLine3 = new XYLine(); //9904261642 var MyLine4 = new XYLine(); var MyLine5 = new XYLine(); MyLine3.VMLpointshapetype="none"; MyLine4.VMLpointshapetype="none"; MyLine5.VMLpointshapetype="none"; var MyLine6 = new XYLine(); //9904261912 MyLine6.VMLpointshapetype="none"; var MyLine7 = new XYLine(); //9904261922 MyLine7.VMLpointshapetype="none"; MyGraph.title= //9904271303 "Carleson's inequality. Page 174, fig.11.1"; //MyLine0 for tangent line var MyLine0 = new XYLine(); //9904262126 MyLine0.VMLpointshapetype="none"; MyGraph.ymax=QDboxYmax10.value; MyGraph.ymin=QDboxYmin10.value; MyGraph.xmax=QDboxXmax10.value; MyGraph.xmin=QDboxXmin10.value; MyGraph.gheight=QDboxHeight10.value; MyGraph.gwidth=QDboxWidth10.value; //var eqn00=eqn01=eqn02=eqn03=''; var func0=QDboxfunc0x.value; // f(x) var func1=QDboxfunc1x.value; // d[f(x)]/dx var func2=QDboxfunc2x.value; //dd[f(x)]/dx/dx if(func0.length==0) { QDspanAlert1103.innerHTML='' +'function f(x) is not defined.' return; } var drawf1=drawf2=0 if(func1.length>0)drawf1=1; if(func2.length>0)drawf2=1; //9904261442 var e0,e1,e2,e3; var xbgn,xinc,xend,x; var dbg0=dbg1=dbg2=dbg3=''; var x; var xjvalue=[0,0]; var dbg0=''; var sumpx=0; var sumpf=0; //9812110820 var shiftAdd=0; //9904261510 var shiftMul=1; var xTangent=-1; e1=parseFloat(QDboxAShift10.value); e2=parseFloat(QDboxMShift10.value); e3=parseFloat(QDboxXTang10.value); if(!isNaN(e1))shiftAdd=e1; if(!isNaN(e2))shiftMul=e2; //9904261512 if(!isNaN(e3))xTangent=e3; var dleft=parseFloat(QDboxDleft10.value); var drite=parseFloat(QDboxDrite10.value); //9812061752 if(isNaN(dleft)) { //9812061800 alert('domain left is Not a Number') return; } if(isNaN(drite)) { //9812061801 alert('domain right is Not a Number') return; } var step0=parseInt(QDboxStep10.value); //9812072240 if(isNaN(step0)||step0<10) step0=QDboxStep10.value=60 //9812072241 xbgn=dleft if(xbgn<MyGraph.xmin)xbgn=MyGraph.xmin; xbgn=parseFloat(xbgn); //9812062051 xend=drite if(xend>MyGraph.xmax)xend=MyGraph.xmax; xend=parseFloat(xend); //9812062052 xinc=(xend-xbgn)/step0; xinc=parseFloat(xinc); //9812062053 for(e0=0;e0<step0;e0++) { x=xbgn+e0*xinc; MyLine1.x[e0] =x; MyLine1.y[e0] =eval('with(Math){'+func0+'}'); //9812061854 } MyLine1.VMLstroke="weight='1pt'; color='red'; dashstyle='solid';"; MyGraph.Plot(MyLine1); if(drawf1) { for(e0=0;e0<step0;e0++) { x=xbgn+e0*xinc; MyLine4.x[e0] =x; MyLine4.y[e0] =eval('with(Math){'+func1+'}'); //9812061859 } MyLine4.VMLstroke="weight='1pt'; color='black'; dashstyle='dot';"; MyGraph.Plot(MyLine4); } if(drawf2) { for(e0=0;e0<step0;e0++) { x=xbgn+e0*xinc; MyLine5.x[e0] =x; MyLine5.y[e0] =eval('with(Math){'+func2+'}'); //9812061900 } MyLine5.VMLstroke="weight='1pt'; color='black'; dashstyle='dash';"; MyGraph.Plot(MyLine5); } /** //Shift factors: addition // shiftAdd for(e0=0;e0<step0;e0++) //9904261923 { x=xbgn+e0*xinc; MyLine7.x[e0] =x-shiftAdd; //9904261929 OK MyLine7.y[e0] =eval('with(Math){'+func0+'}'); //9904261746 } MyLine7.VMLstroke="weight='1pt'; color='purple'; dashstyle='solid';"; MyGraph.Plot(MyLine7); //Shift factors: Multiplication // shiftMul for(e0=0;e0<step0;e0++) //9904261914 { x=xbgn+e0*xinc; MyLine6.x[e0] =x/shiftMul; //9904261933 MyLine6.y[e0] =eval('with(Math){'+func0+'}'); //9904261933 result OK } MyLine6.VMLstroke="weight='1pt'; color='blue'; dashstyle='solid';"; MyGraph.Plot(MyLine6); /**/ //xTangent=0.8 var x0=xTangent; //9904262125 var x0slope=differentiatef1(func0,x0,1.e-6); //9903011106 use 'x', delete 't' x=xTangent; var y0=eval('with(Math){'+func0+'}'); var xBgn=xbgn; var xEnd=xend; MyLine0.x[0] =xBgn; MyLine0.y[0] =x0slope*(xBgn-x0)+y0; MyLine0.x[1] =xEnd; MyLine0.y[1] =x0slope*(xEnd-x0)+y0; /** (y2-y1)/(x2-x1)=slope (y -y0)/(x -x0)=slope y = slope*(x -x0)+y0 yEnd = x0slope*(xEnd-x0)+y0 yBgn = x0slope*(xBgn-x0)+y0 9902262027 /**/ MyLine0.VMLstroke="weight='1pt'; color='red'; dashstyle='solid';"; MyGraph.Plot(MyLine0); //9904262132 tangent MyLine0.x[0] =x0; MyLine0.y[0] =y0+(MyGraph.ymin-y0)/2; MyLine0.x[1] =x0; MyLine0.y[1] =y0+(MyGraph.ymax-y0)/2; MyLine0.VMLstroke="weight='1pt'; color='red'; dashstyle='dot';"; MyGraph.Plot(MyLine0); //9904262137 MyLine0.x[0] =x0+(MyGraph.xmin-x0)/2; MyLine0.y[0] =y0; MyLine0.x[1] =x0+(MyGraph.xmax-x0)/2; MyLine0.y[1] =y0; MyGraph.Plot(MyLine0); //9904262201 x1=x=xTangent*shiftMul; y1=eval('with(Math){'+func0+'}'); MyLine0.x[0] =x1; MyLine0.y[0] =y1+(MyGraph.ymin-y1)/2; MyLine0.x[1] =x1; MyLine0.y[1] =y1+(MyGraph.ymax-y1)/2; MyLine0.VMLstroke="weight='1pt'; color='red'; dashstyle='dash';"; MyGraph.Plot(MyLine0); //9904262137 MyLine0.x[0] =x1+(MyGraph.xmin-x1)/2; MyLine0.y[0] =y1; MyLine0.x[1] =x1+(MyGraph.xmax-x1)/2; MyLine0.y[1] =y1; MyGraph.Plot(MyLine0); //9904262202 /**/ //9904270811 include MyLabel code // draw intercept points var MyLabel = new Label(); MyLabel.labelsize = "10"; MyLabel.VMLpointshapetype="circle"; MyLabel.labelcolor="black"; if(x0slope>=0) //9904280625 use if MyLabel.rotation = +135; else MyLabel.rotation = 45; MyLabel.x =x0; MyLabel.y =y0; MyLabel.label = "A"; MyGraph.Drawlabel(MyLabel); MyLabel.x =x1; MyLabel.y =y0; MyLabel.label = "B"; MyGraph.Drawlabel(MyLabel); MyLabel.x =x1; //9904272323 MyLabel.y =x0slope*(x1-x0)+y0; MyLabel.label = "E"; MyGraph.Drawlabel(MyLabel); if(x0slope>=0) //9904280627 use if MyLabel.rotation = -45; else MyLabel.rotation = +45; MyLabel.x =x1; MyLabel.y =y1; MyLabel.label = "C"; MyGraph.Drawlabel(MyLabel); MyLabel.x =x0; MyLabel.y =y1; MyLabel.label = "D"; MyGraph.Drawlabel(MyLabel); QDdivGraph1103.innerHTML = MyGraph; QDspanEqnDoc1103.innerHTML = "" +"2010-04-28-13-52 start<br>" +"Carleson's trick: one considers the scale<br>" +"shifted differences Æ(py)-Æ(y). The convexity<br>" +"bound Æ(py)g"Æ(y)+(p-1)yÆ'(y) for pÿ1 tells<br>" +"us how Æ change under a scale shift. It also<br>" +"cooperates wonderfully with changes of <br>" +"variables, Holder's inequality, and the flop.<br>" +"2010-04-28-13-57 stop<br>" +"<font color=red><b><!--201004281120 start-->" +"Red curve is Æ(x), require to be convex,<br>" +"shape p%o%. <a href=tute0041.htm#ch11b016>x=py</a>; x and p are variables.<br>" +"[y,Æ(y)] is tangent point A, it is constant.<br>" +"Point on curve is Æ(py), <a href=tute0041.htm#ch11b015>pÿ1</a><br>" +"point on tangent is Æ(y)+(py-y)*Æ'(y)<br>" +"Convexity condition in mathematics form<br>" +"is: Æ(py)g"Æ(y)+(py-y)*Æ'(y) ---<a href=tute0041.htm#ch11b025>eqn.11.16</a><br>" +"y is constant, only p varies.</b></font><!--201004281145 stop--><br>" +"2010-04-26-19-48 start<br>" +"[Draw A prob1103] draw the following<br>" +"red curve: CONVEX function f(x) <br>" +"black dot: first derivative f'(x)<br>" +"black dot: is monotone increase<br>" +"for CONVEX function f(x) <br>" +"black dash second derivative f''(x)<br>" +"black dash positive for CONVEX f(x)<br>" +"2010-04-26-20-00 stop<br>" +"[Draw A] use user data, do not have default.<br>" +"[Draw B] use default data, delete user data.<br>" return; } //function prob1103b() 990426 //QDspanAlert1103.innerHTML='' /** 2010-04-26-21-23 include function differentiatef1(...) to tute0041.htm 99,02,09,22,09 eqn00='sin(x)*cos(x)' = function definition x0 =0.55 = evaluate point x0 dx =0.0001 = delta_x fx0 =20.2 = f(x0) program evaluate second function value at f(x0+dx) use two function values f(x0+dx)-f(x0) use two domain values x0+dx - x0 to find differentiate value at x=x0 d[f(x)]/dx = [f(x0+dx)-f(x0)] / dx 99,02,09,22,15 /**/ function differentiatef1(dfArg1,dfArg2,dfArg3,dfArg4) { var eqn00=dfArg1; var x0=parseFloat(dfArg2); var dx=parseFloat(dfArg3); var fx0=parseFloat(dfArg4); if(eqn00.length==0) return 'need define function equation.' if(isNaN(x0)) return 'x0 must be a number.' if(isNaN(dx)) return 'increment dx must be a number.' if(arguments.length>3&&isNaN(fx0)) return 'f(x0) must be a number.' var x=x0+dx; var fx1=eval('with(Math){'+eqn00+'}') if(arguments.length<=3) { x=x0; var fx0=eval('with(Math){'+eqn00+'}') } return (fx1-fx0)/dx; //9902092228 } function prob1103a(Arg1) //9904261430 { status=''; QDdivGraph1103.innerHTML= QDspanEqnDoc1103.innerHTML= QDspanAlert1103.innerHTML=''; var MyGraph = new XYGraph(); var MyLine1 = new XYLine(); var MyLine2 = new XYLine(); MyLine1.VMLpointshapetype="none"; MyLine2.VMLpointshapetype="none"; var MyLine3 = new XYLine(); //9904261642 var MyLine4 = new XYLine(); var MyLine5 = new XYLine(); MyLine3.VMLpointshapetype="none"; MyLine4.VMLpointshapetype="none"; MyLine5.VMLpointshapetype="none"; var MyLine6 = new XYLine(); //9904261912 MyLine6.VMLpointshapetype="none"; var MyLine7 = new XYLine(); //9904261922 MyLine7.VMLpointshapetype="none"; MyGraph.ymax=QDboxYmax10.value; MyGraph.ymin=QDboxYmin10.value; MyGraph.xmax=QDboxXmax10.value; MyGraph.xmin=QDboxXmin10.value; MyGraph.gheight=QDboxHeight10.value; MyGraph.gwidth=QDboxWidth10.value; //var eqn00=eqn01=eqn02=eqn03=''; var func0=QDboxfunc0x.value; // f(x) var func1=QDboxfunc1x.value; // d[f(x)]/dx var func2=QDboxfunc2x.value; //dd[f(x)]/dx/dx if(func0.length==0) { QDspanAlert1103.innerHTML='' +'function f(x) is not defined.' return; } var drawf1=drawf2=0 if(func1.length>0)drawf1=1; if(func2.length>0)drawf2=1; //9904261442 var e0,e1,e2,e3; var xbgn,xinc,xend,x; var dbg0=dbg1=dbg2=dbg3=''; var x; var xjvalue=[0,0]; var dbg0=''; var sumpx=0; var sumpf=0; //9812110820 var shiftAdd=0; //9904261510 var shiftMul=1; var xTangent=-1; e1=parseFloat(QDboxAShift10.value); e2=parseFloat(QDboxMShift10.value); e3=parseFloat(QDboxXTang10.value); if(!isNaN(e1))shiftAdd=e1; if(!isNaN(e2))shiftMul=e2; //9904261512 if(!isNaN(e3))xTangent=e3; var dleft=parseFloat(QDboxDleft10.value); var drite=parseFloat(QDboxDrite10.value); //9812061752 if(isNaN(dleft)) { //9812061800 alert('domain left is Not a Number') return; } if(isNaN(drite)) { //9812061801 alert('domain right is Not a Number') return; } var step0=parseInt(QDboxStep10.value); //9812072240 if(isNaN(step0)||step0<10) step0=QDboxStep10.value=60 //9812072241 xbgn=dleft if(xbgn<MyGraph.xmin)xbgn=MyGraph.xmin; xbgn=parseFloat(xbgn); //9812062051 xend=drite if(xend>MyGraph.xmax)xend=MyGraph.xmax; xend=parseFloat(xend); //9812062052 xinc=(xend-xbgn)/step0; xinc=parseFloat(xinc); //9812062053 for(e0=0;e0<step0;e0++) { x=xbgn+e0*xinc; MyLine1.x[e0] =x; MyLine1.y[e0] =eval('with(Math){'+func0+'}'); //9812061854 } MyLine1.VMLstroke="weight='1pt'; color='red'; dashstyle='solid';"; MyGraph.Plot(MyLine1); if(drawf1) { for(e0=0;e0<step0;e0++) { x=xbgn+e0*xinc; MyLine4.x[e0] =x; MyLine4.y[e0] =eval('with(Math){'+func1+'}'); //9812061859 } MyLine4.VMLstroke="weight='1pt'; color='black'; dashstyle='dot';"; MyGraph.Plot(MyLine4); } if(drawf2) { for(e0=0;e0<step0;e0++) { x=xbgn+e0*xinc; MyLine5.x[e0] =x; MyLine5.y[e0] =eval('with(Math){'+func2+'}'); //9812061900 } MyLine5.VMLstroke="weight='1pt'; color='black'; dashstyle='dash';"; MyGraph.Plot(MyLine5); } var f0ShiftAdd=''; //9904261712 var newStr='(x+('+shiftAdd+'))'; e0=0; e1=e2=0 while(e0<func0.length) { if(func0.charAt(e0)=='x' &&!isAlpha(func0.charAt(e0-1)) &&!isAlpha(func0.charAt(e0+1)) ) { f0ShiftAdd+='' +func0.substring(e1,e0) +newStr ; e1=e0+1; //9904261738 } else { f0ShiftAdd+='' +func0.charAt(e0); //9904261740 e1++; //9904261743 } e0++; } //9904261723 QDspanAlert1103.innerHTML='' +f0ShiftAdd //Shift factors: Add // shiftAdd for(e0=0;e0<step0;e0++) //9904261745 { x=xbgn+e0*xinc; MyLine2.x[e0] =x; MyLine2.y[e0] =eval('with(Math){'+f0ShiftAdd+'}'); //9904261746 } MyLine2.VMLstroke="weight='1pt'; color='purple'; dashstyle='solid';"; MyGraph.Plot(MyLine2); //Shift factors: addition // shiftAdd for(e0=0;e0<step0;e0++) //9904261923 { x=xbgn+e0*xinc; MyLine7.x[e0] =x-shiftAdd+0.01; //9904261929 OK MyLine7.y[e0] =eval('with(Math){'+func0+'}'); //9904261746 } MyLine7.VMLstroke="weight='1pt'; color='purple'; dashstyle='dash';"; MyGraph.Plot(MyLine7); var f0ShiftMul=''; //9904261749 var newStr='(x*('+shiftMul+'))'; e0=0; e1=e2=0 while(e0<func0.length) { if(func0.charAt(e0)=='x' &&!isAlpha(func0.charAt(e0-1)) &&!isAlpha(func0.charAt(e0+1)) ) { f0ShiftMul+='' +func0.substring(e1,e0) +newStr ; e1=e0+1; } else { f0ShiftMul+='' +func0.charAt(e0); e1++; } e0++; } //99042617 //Shift factors: Multiplication // shiftMul for(e0=0;e0<step0;e0++) //9904261753 { x=xbgn+e0*xinc; MyLine3.x[e0] =x; MyLine3.y[e0] =eval('with(Math){'+f0ShiftMul+'}'); //9904261755 } MyLine3.VMLstroke="weight='1pt'; color='blue'; dashstyle='solid';"; MyGraph.Plot(MyLine3); //Shift factors: Multiplication // shiftMul for(e0=0;e0<step0;e0++) //9904261914 { x=xbgn+e0*xinc; MyLine6.x[e0] =x/shiftMul; //9904261933 MyLine6.y[e0] =.02+eval('with(Math){'+func0+'}'); //9904261933 result OK } MyLine6.VMLstroke="weight='1pt'; color='blue'; dashstyle='dash';"; MyGraph.Plot(MyLine6); QDdivGraph1103.innerHTML = MyGraph; QDspanEqnDoc1103.innerHTML = "" +"2010-04-26-19-48 start<br>" +"[Shift curve prob1103] draw the following<br>" +"red curve: CONVEX function f(x) <br>" +"black dot: first derivative f'(x)<br>" +"black dot: is monotone increase<br>" +"for CONVEX function f(x) <br>" +"black dash second derivative f''(x)<br>" +"black dash positive for CONVEX f(x)<br>" +"<br>" +"purple additive shift f(x+t) <br>" +"solid change function definition at 9904261738<br>" +"dash use MyLine7.x[e0] =x-shiftAdd<br>" +"<br>" +"blue Multiplication shift f(x*s) <br>" +"solid change function definition at 9904261749<br>" +"dash use MyLine6.x[e0] =x/shiftMul;<br>" +"2010-04-26-20-00 stop<br>" return; } //function prob1103a() 9904262009 //QDspanAlert1103.innerHTML='' //--> </script> <hr><br> Javascript index <br> <a href=http://freeman2.com/jsindex2.htm> http://freeman2.com/jsindex2.htm </a> &nbsp; <a href=jsindex2.htm> local </a> <!--9810201450 add local link--> <br> Save graph code to same folder as htm files. <br> <a href=http://freeman2.com/jsgraph2.js> http://freeman2.com/jsgraph2.js </a> &nbsp; <a href=jsgraph2.js> local </a> <br> <script src="jslist1e.js" language="javascript"></script> <br> <br> This page, Carleson's Inequality program <br> <a href=http://freeman2.com/carleson.htm> http://freeman2.com/carleson.htm </a> <br> First Upload 2010-04-29 <br> carleson.htm was created while writing <a href=http://freeman2.com/tute0041.htm>tute0041.htm</a> <br> <br> Thank you for visiting Freeman's page.0 <br> Freeman 02010-04-29-10-18 <br> <br> <span id="tuteLink2"></span> </BODY> </HTML> <!-- 99,04,26,13,02 save as tute0041_graph1103.htm 99,04,27,15,35 move tute0041_graph1103.htm carleson.htm -->