📄 blitz_4.html
字号:
distance of <CODE>h</CODE>. A 2nd-order accurate operator has error term <EM>O(h^2)</EM>; a 4th-order accurate operator has error term <EM>O(h^4)</EM>.</P><P>All of the stencils have factors associated with them. For example, the<CODE>central12</CODE> operator is a discrete first derivative which is 2nd-orderaccurate. Its factor is 2h; this means that to get the first derivative ofan array A, you need to use <CODE>central12(A,firstDim)</CODE><EM>/(2h)</EM>.Typically when designing stencils, one factors out all of the <EM>h</EM> termsfor efficiency.</P><P>The factor terms always consist of an integer multiplier (often 1) and apower of <EM>h</EM>. For ease of use, all of the operators listed below areprovided in a second "normalized" version in which the integer multiplieris 1. The normalized versions have an <CODE>n</CODE> appended to the name, forexample <CODE>central12n</CODE> is the normalized version of <CODE>central12</CODE>, andhas factor <EM>h</EM> instead of <EM>2h</EM>.</P><P>These operators are defined in <CODE>blitz/array/stencilops.h</CODE> if you wishto see the implementation.</P><P><HR SIZE="6"><A NAME="SEC109"></A><TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0><TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC108"> < </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC110"> > </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC119"> << </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC108"> Up </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC119"> >> </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz.html#SEC_Top">Top</A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_toc.html#SEC_Contents">Contents</A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_abt.html#SEC_About"> ? </A>]</TD></TR></TABLE><H3> 4.4.1 Central differences </H3><!--docid::SEC109::--><P><DL COMPACT><DT><CODE>central12(A,dimension)</CODE><DD>1st derivative, 2nd order accurate. Factor: <EM>2h</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-1</td><td>0</td><td>1</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">-1</font></td><td></td><td bgcolor="#000000"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>central22(A,dimension)</CODE><DD>2nd derivative, 2nd order accurate. Factor: <EM>h^2</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-1</td><td>0</td><td>1</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">1</font></td><td bgcolor="#000060"><font color="#ffffff">-2</font></td><td bgcolor="#000000"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>central32(A,dimension)</CODE><DD>3rd derivative, 2nd order accurate. Factor: <EM>2h^3</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-2</td><td>-1</td><td>0</td><td>1</td><td>2</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">-1</font></td><td bgcolor="#000000"><font color="#ffffff">2</font></td><td></td><td bgcolor="#000000"><font color="#ffffff">-2</font></td><td bgcolor="#000000"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>central42(A,dimension)</CODE><DD>4th derivative, 2nd order accurate. Factor: <EM>h^4</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-2</td><td>-1</td><td>0</td><td>1</td><td>2</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">1</font></td><td bgcolor="#000000"><font color="#ffffff">-4</font></td><td bgcolor="#000060"><font color="#ffffff">6</font></td><td bgcolor="#000000"><font color="#ffffff">-4</font></td><td bgcolor="#000000"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>central14(A,dimension)</CODE><DD>1st derivative, 4th order accurate. Factor: <EM>12h</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-2</td><td>-1</td><td>0</td><td>1</td><td>2</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">1</font></td><td bgcolor="#000000"><font color="#ffffff">-8</font></td><td></td><td bgcolor="#000000"><font color="#ffffff">8</font></td><td bgcolor="#000000"><font color="#ffffff">-1</font></td></tr></table><P><DT><CODE>central24(A,dimension)</CODE><DD>2nd derivative, 4th order accurate. Factor: <EM>12h^2</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-2</td><td>-1</td><td>0</td><td>1</td><td>2</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">-1</font></td><td bgcolor="#000000"><font color="#ffffff">16</font></td><td bgcolor="#000060"><font color="#ffffff">-30</font></td><td bgcolor="#000000"><font color="#ffffff">16</font></td><td bgcolor="#000000"><font color="#ffffff">-1</font></td></tr></table><P><DT><CODE>central34(A,dimension)</CODE><DD>3rd derivative, 4th order accurate. Factor: <EM>8h^3</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-2</td><td>-1</td><td>0</td><td>1</td><td>2</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">-8</font></td><td bgcolor="#000000"><font color="#ffffff">13</font></td><td></td><td bgcolor="#000000"><font color="#ffffff">-13</font></td><td bgcolor="#000000"><font color="#ffffff">8</font></td></tr></table><P><DT><CODE>central44(A,dimension)</CODE><DD>4th derivative, 4th order accurate. Factor: <EM>6h^4</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-2</td><td>-1</td><td>0</td><td>1</td><td>2</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">12</font></td><td bgcolor="#000000"><font color="#ffffff">-39</font></td><td bgcolor="#000060"><font color="#ffffff">56</font></td><td bgcolor="#000000"><font color="#ffffff">-39</font></td><td bgcolor="#000000"><font color="#ffffff">12</font></td></tr></table></DL><P>Note that the above are available in normalized versions <CODE>central12n</CODE>,<CODE>central22n</CODE>, ..., <CODE>central44n</CODE> which have factors of <EM>h</EM>,<EM>h^2</EM>, <EM>h^3</EM>, or <EM>h^4</EM> as appropriate. </P><P>These are available in multicomponent versions: for example,<CODE>central12(A,component,dimension)</CODE> gives the central12 operator for thespecified component (Components are numbered 0, 1, ... N-1). </P><P><HR SIZE="6"><A NAME="SEC110"></A><TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0><TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC109"> < </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC111"> > </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC111"> << </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC108"> Up </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC119"> >> </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz.html#SEC_Top">Top</A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_toc.html#SEC_Contents">Contents</A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_abt.html#SEC_About"> ? </A>]</TD></TR></TABLE><H3> 4.4.2 Forward differences </H3><!--docid::SEC110::--><P><DL COMPACT><DT><CODE>forward11(A,dimension)</CODE><DD>1st derivative, 1st order accurate. Factor: <EM>h</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>0</td><td>1</td></tr><tr align=right><td></td><td bgcolor="#000060"><font color="#ffffff">-1</font></td><td bgcolor="#000000"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>forward21(A,dimension)</CODE><DD>2nd derivative, 1st order accurate. Factor: <EM>h^2</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>0</td><td>1</td><td>2</td></tr><tr align=right><td></td><td bgcolor="#000060"><font color="#ffffff">1</font></td><td bgcolor="#000000"><font color="#ffffff">-2</font></td><td bgcolor="#000000"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>forward31(A,dimension)</CODE><DD>3rd derivative, 1st order accurate. Factor: <EM>h^3</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>0</td><td>1</td><td>2</td><td>3</td></tr><tr align=right><td></td><td bgcolor="#000060"><font color="#ffffff">-1</font></td><td bgcolor="#000000"><font color="#ffffff">3</font></td><td bgcolor="#000000"><font color="#ffffff">-3</font></td><td bgcolor="#000000"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>forward41(A,dimension)</CODE><DD>4th derivative, 1st order accurate. Factor: <EM>h^4</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td></tr><tr align=right><td></td><td bgcolor="#000060"><font color="#ffffff">1</font></td><td bgcolor="#000000"><font color="#ffffff">-4</font></td><td bgcolor="#000000"><font color="#ffffff">6</font></td><td bgcolor="#000000"><font color="#ffffff">-4</font></td><td bgcolor="#000000"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>forward12(A,dimension)</CODE><DD>1st derivative, 2nd order accurate. Factor: <EM>2h</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>0</td><td>1</td><td>2</td></tr><tr align=right><td></td><td bgcolor="#000060"><font color="#ffffff">-3</font></td><td bgcolor="#000000"><font color="#ffffff">4</font></td><td bgcolor="#000000"><font color="#ffffff">-1</font></td></tr></table><P><DT><CODE>forward22(A,dimension)</CODE><DD>2nd derivative, 2nd order accurate. Factor: <EM>h^2</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>0</td><td>1</td><td>2</td><td>3</td></tr><tr align=right><td></td><td bgcolor="#000060"><font color="#ffffff">2</font></td><td bgcolor="#000000"><font color="#ffffff">-5</font></td><td bgcolor="#000000"><font color="#ffffff">4</font></td><td bgcolor="#000000"><font color="#ffffff">-1</font></td></tr></table><P><DT><CODE>forward32(A,dimension)</CODE><DD>3rd derivative, 2nd order accurate. Factor: <EM>2h^3</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td></tr><tr align=right><td></td><td bgcolor="#000060"><font color="#ffffff">-5</font></td><td bgcolor="#000000"><font color="#ffffff">18</font></td><td bgcolor="#000000"><font color="#ffffff">-24</font></td><td bgcolor="#000000"><font color="#ffffff">14</font></td><td bgcolor="#000000"><font color="#ffffff">-3</font></td></tr></table><P><DT><CODE>forward42(A,dimension)</CODE><DD>4th derivative, 2nd order accurate. Factor: <EM>h^4</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td></tr><tr align=right><td></td><td bgcolor="#000060"><font color="#ffffff">3</font></td><td bgcolor="#000000"><font color="#ffffff">-14</font></td><td bgcolor="#000000"><font color="#ffffff">26</font></td><td bgcolor="#000000"><font color="#ffffff">-24</font></td><td bgcolor="#000000"><font color="#ffffff">11</font></td><td bgcolor="#000000"><font color="#ffffff">-2</font></td></tr></table></DL><P>Note that the above are available in normalized versions <CODE>forward11n</CODE>,<CODE>forward21n</CODE>, ..., <CODE>forward42n</CODE> which have factors of <EM>h</EM>,<EM>h^2</EM>, <EM>h^3</EM>, or <EM>h^4</EM> as appropriate. </P><P>These are available in multicomponent versions: for example,<CODE>forward11(A,component,dimension)</CODE> gives the forward11 operator for thespecified component (Components are numbered 0, 1, ... N-1).</P><P><HR SIZE="6"><A NAME="SEC111"></A><TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0><TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC110"> < </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC112"> > </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC112"> << </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC108"> Up </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_4.html#SEC119"> >> </A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz.html#SEC_Top">Top</A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_toc.html#SEC_Contents">Contents</A>]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="blitz_abt.html#SEC_About"> ? </A>]</TD></TR></TABLE><H3> 4.4.3 Backward differences </H3><!--docid::SEC111::--><P><DL COMPACT><DT><CODE>backward11(A,dimension)</CODE><DD>1st derivative, 1st order accurate. Factor: <EM>h</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-1</td><td>0</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">-1</font></td><td bgcolor="#000060"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>backward21(A,dimension)</CODE><DD>2nd derivative, 1st order accurate. Factor: <EM>h^2</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-2</td><td>-1</td><td>0</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">1</font></td><td bgcolor="#000000"><font color="#ffffff">-2</font></td><td bgcolor="#000060"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>backward31(A,dimension)</CODE><DD>3rd derivative, 1st order accurate. Factor: <EM>h^3</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-3</td><td>-2</td><td>-1</td><td>0</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">-1</font></td><td bgcolor="#000000"><font color="#ffffff">3</font></td><td bgcolor="#000000"><font color="#ffffff">-3</font></td><td bgcolor="#000060"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>backward41(A,dimension)</CODE><DD>4th derivative, 1st order accurate. Factor: <EM>h^4</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-4</td><td>-3</td><td>-2</td><td>-1</td><td>0</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">1</font></td><td bgcolor="#000000"><font color="#ffffff">-4</font></td><td bgcolor="#000000"><font color="#ffffff">6</font></td><td bgcolor="#000000"><font color="#ffffff">-4</font></td><td bgcolor="#000060"><font color="#ffffff">1</font></td></tr></table><P><DT><CODE>backward12(A,dimension)</CODE><DD>1st derivative, 2nd order accurate. Factor: <EM>2h</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-2</td><td>-1</td><td>0</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">1</font></td><td bgcolor="#000000"><font color="#ffffff">-4</font></td><td bgcolor="#000060"><font color="#ffffff">3</font></td></tr></table><P><DT><CODE>backward22(A,dimension)</CODE><DD>2nd derivative, 2nd order accurate. Factor: <EM>h^2</EM><table cellpadding=2 rules=all><tr align=right><td></td><td>-3</td><td>-2</td><td>-1</td><td>0</td></tr><tr align=right><td></td><td bgcolor="#000000"><font color="#ffffff">-1</font></td><td bgcolor="#000000"><font color="#ffffff">4</font></td><td bgcolor="#000000"><font color="#ffffff">-5</font></td><td bgcolor="#000060"><font color="#ffffff">2</font></td></tr></table>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -