# [om] odesoln1.ocd

Bill Naylor Bill.Naylor at mcs.vuw.ac.nz
Wed Jul 16 07:41:05 CEST 2003

Hi James,

I have constructed a content dictionary for ODE solutions as per your idea
at Linz, I attach it. Could you let me know whether this is what you
intended, and if so I shall submit it to the OpenMath submission site.

cheers,

Bill.
-------------- next part --------------
<?xml version="1.0"?>

<CD>
<CDName> odesoln1 </CDName>
<CDURL> http://www.openmath.org/CDs/odesoln1.ocd </CDURL>
<CDDate> 16/7/2001 </CDDate>
<CDReviewDate> 1/1/5000 </CDReviewDate>
<CDVersion> 1 </CDVersion>
<CDRevision> 0 </CDRevision>
<CDStatus> experimental </CDStatus>
<CDUses>
<CDName> alg1 </CDName>
<CDName> arith1 </CDName>
<CDName> calculus1 </CDName>
<CDName> fns1 </CDName>
<CDName> list1 </CDName>
<CDName> relation1 </CDName>
</CDUses>

<Description>
this content dictionary contains a symbol for specifying solutions
of ordinary differential equations (ODEs). It is especially useful
in the definition of special function symbols.
</Description>

<CDDefinition>
<Name> ODEsolution </Name>
<Description>
This symbol should be used for specifying solutions to ordinary
differential equations (ODEs). The symbol should be used inside a binder
element. There should be two OpenMath variables inside the OMBVAR
child, the first should be a label for the unknown function (appearing
in the defining expression) and the second should be a label for the
argument to this function, in the rest of this description we shall
refer to these as $f$ and $x$ respectively.
The first argument to the symbol (the third child to the inclosing
OMBIND element) should be an expression in $f$ and $x$ which defines
the left hand side of the ODE (implicitly = 0).
The second argument should be a list of expressions in $f$ representing
initial/boundary conditions.
The returned value should be the function which is a solution to the
ODE specified in the first argument, with initial conditions specified
in the second argument.
</Description>
<Example>
Specification of the solution to the ordinary differential equation:

$$f^\prime(x)-f(x)+x = 0$$

with initial conditions:

$$f(0) = 1$$

namely $f(x)=x+1$

<OMOBJ>
<OMA>
<OMS cd="relation1" name="eq"/>
<OMBIND>
<OMS cd="odesoln1" name="ODEsolution"/>
<OMBVAR>
<OMV name="f"/>
<OMV name="x"/>
</OMBVAR>
<OMA>
<OMS cd="arith1" name="plus"/>
<OMA>
<OMS cd="arith1" name="minus"/>
<OMA>
<OMS cd="calculus1" name="diff"/>
<OMBIND>
<OMS cd="fns1" name="lambda"/>
<OMBVAR>
<OMV name="x"/>
</OMBVAR>
<OMA>
<OMV name="f"/>
<OMV name="x"/>
<OMComment> N.B. this 'x' is from the inner 'lambda' binding </OMComment>
</OMA>
</OMBIND>
</OMA>
<OMBIND>
<OMS cd="fns1" name="lambda"/>
<OMBVAR>
<OMV name="x"/>
</OMBVAR>
<OMA>
<OMV name="f"/>
<OMV name="x"/>
<OMComment> see above coment </OMComment>
</OMA>
</OMBIND>
</OMA>
<OMV name="x"/>
<OMComment> this 'x' is from the outer 'ODEsolution' binding </OMComment>
</OMA>
<OMA>
<OMS cd="list1" name="list"/>
<OMA>
<OMS cd="relation1" name="eq"/>
<OMA>
<OMV name="f"/>
<OMI> 0 </OMI>
</OMA>
<OMI> 1 </OMI>
</OMA>
<OMComment>
in this case there is only 1 element in the list of conditions,
however in general there will be $n$ elements where $n$ is the degree
of the ODE
</OMComment>
</OMA>
</OMBIND>
<OMBIND>
<OMS cd="fns1" name="lambda"/>
<OMBVAR>
<OMV name="x"/>
</OMBVAR>
<OMA>
<OMS cd="arith1" name="plus"/>
<OMV name="x"/>
<OMS cd="alg1" name="one"/>
</OMA>
</OMBIND>
</OMA>
</OMOBJ>
</Example>
</CDDefinition>
</CD>
-------------- next part --------------
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>odesoln1</title>
<body>
<a name="top"></a><h1>OpenMath Content Dictionary: odesoln1</h1>
<dl>
<dt><span class="dt">Canonical URL:</span></dt>
<dd><a href="http://www.openmath.org/CDs/odesoln1.ocd">http://www.openmath.org/CDs/odesoln1.ocd</a></dd>
<dt><span class="dt">CD File:</span></dt>
<dd><a href="../../cd/odesoln1.ocd">odesoln1.ocd
</a></dd>
<dt><span class="dt">CD as XML Encoded OpenMath:</span></dt>
<dd><a href="../../omcd/odesoln1.omcd">odesoln1.omcd
</a></dd>
<dt><span class="dt">Defines:</span></dt>
<dd><a href="#ODEsolution">ODEsolution</a></dd>
<dt><span class="dt">Date:</span></dt>
<dd> 16/7/2001 </dd>
<dt><span class="dt">Version:</span></dt>
<dd> 1 </dd>
<dt><span class="dt">Review Date:</span></dt>
<dd> 1/1/5000 </dd>
<dt><span class="dt">Status:</span></dt>
<dd> experimental </dd>
<dt><span class="dt">Uses CD:</span></dt>
<dd>
<a href="alg1.html">alg1</a>, <a href="arith1.html">arith1</a>, <a href="calculus1.html">calculus1</a>, <a href="fns1.html">fns1</a>, <a href="list1.html">list1</a>, <a href="relation1.html">relation1</a>
</dd>
</dl>
<hr>

<p>
this content dictionary contains a symbol for specifying solutions
of ordinary differential equations (ODEs). It is especially useful
in the definition of special function symbols.
</p>

<hr>
<h2><a name="ODEsolution"> ODEsolution </a></h2>
<p>
This symbol should be used for specifying solutions to ordinary
differential equations (ODEs). The symbol should be used inside a binder
element. There should be two OpenMath variables inside the OMBVAR
child, the first should be a label for the unknown function (appearing
in the defining expression) and the second should be a label for the
argument to this function, in the rest of this description we shall
refer to these as $f$ and $x$ respectively.
The first argument to the symbol (the third child to the inclosing
OMBIND element) should be an expression in $f$ and $x$ which defines
the left hand side of the ODE (implicitly = 0).
The second argument should be a list of expressions in $f$ representing
initial/boundary conditions.
The returned value should be the function which is a solution to the
ODE specified in the first argument, with initial conditions specified
in the second argument.
</p>
<dl>
<dt><span class="dt">Example:</span></dt>
<dd>
Specification of the solution to the ordinary differential equation:

$$f^\prime(x)-f(x)+x = 0$$

with initial conditions:

$$f(0) = 1$$

namely $f(x)=x+1$

<pre>&lt;OMOBJ&gt;
&lt;OMA&gt;
&lt;OMS cd=&quot;relation1&quot; name=&quot;eq&quot;/&gt;
&lt;OMBIND&gt;
&lt;OMS cd=&quot;odesoln1&quot; name=&quot;ODEsolution&quot;/&gt;
&lt;OMBVAR&gt;
&lt;OMV name=&quot;f&quot;/&gt;
&lt;OMV name=&quot;x&quot;/&gt;
&lt;/OMBVAR&gt;
&lt;OMA&gt;
&lt;OMS cd=&quot;arith1&quot; name=&quot;plus&quot;/&gt;
&lt;OMA&gt;
&lt;OMS cd=&quot;arith1&quot; name=&quot;minus&quot;/&gt;
&lt;OMA&gt;
&lt;OMS cd=&quot;calculus1&quot; name=&quot;diff&quot;/&gt;
&lt;OMBIND&gt;
&lt;OMS cd=&quot;fns1&quot; name=&quot;lambda&quot;/&gt;
&lt;OMBVAR&gt;
&lt;OMV name=&quot;x&quot;/&gt;
&lt;/OMBVAR&gt;
&lt;OMA&gt;
&lt;OMV name=&quot;f&quot;/&gt;
&lt;OMV name=&quot;x&quot;/&gt;
&lt;OMComment&gt; N.B. this 'x' is from the inner 'lambda' binding &lt;/OMComment&gt;
&lt;/OMA&gt;
&lt;/OMBIND&gt;
&lt;/OMA&gt;
&lt;OMBIND&gt;
&lt;OMS cd=&quot;fns1&quot; name=&quot;lambda&quot;/&gt;
&lt;OMBVAR&gt;
&lt;OMV name=&quot;x&quot;/&gt;
&lt;/OMBVAR&gt;
&lt;OMA&gt;
&lt;OMV name=&quot;f&quot;/&gt;
&lt;OMV name=&quot;x&quot;/&gt;
&lt;OMComment&gt; see above coment &lt;/OMComment&gt;
&lt;/OMA&gt;
&lt;/OMBIND&gt;
&lt;/OMA&gt;
&lt;OMV name=&quot;x&quot;/&gt;
&lt;OMComment&gt; this 'x' is from the outer 'ODEsolution' binding &lt;/OMComment&gt;
&lt;/OMA&gt;
&lt;OMA&gt;
&lt;OMS cd=&quot;list1&quot; name=&quot;list&quot;/&gt;
&lt;OMA&gt;
&lt;OMS cd=&quot;relation1&quot; name=&quot;eq&quot;/&gt;
&lt;OMA&gt;
&lt;OMV name=&quot;f&quot;/&gt;
&lt;OMI&gt; 0 &lt;/OMI&gt;
&lt;/OMA&gt;
&lt;OMI&gt; 1 &lt;/OMI&gt;
&lt;/OMA&gt;
&lt;OMComment&gt;
in this case there is only 1 element in the list of conditions,
however in general there will be $n$ elements where $n$ is the degree
of the ODE
&lt;/OMComment&gt;
&lt;/OMA&gt;
&lt;/OMBIND&gt;
&lt;OMBIND&gt;
&lt;OMS cd=&quot;fns1&quot; name=&quot;lambda&quot;/&gt;
&lt;OMBVAR&gt;
&lt;OMV name=&quot;x&quot;/&gt;
&lt;/OMBVAR&gt;
&lt;OMA&gt;
&lt;OMS cd=&quot;arith1&quot; name=&quot;plus&quot;/&gt;
&lt;OMV name=&quot;x&quot;/&gt;
&lt;OMS cd=&quot;alg1&quot; name=&quot;one&quot;/&gt;
&lt;/OMA&gt;
&lt;/OMBIND&gt;
&lt;/OMA&gt;
&lt;/OMOBJ&gt;</pre>
<p>
<a href="relation1.html#eq">eq</a>
(<a href="odesoln1.html#ODEsolution">ODEsolution</a>
[
<i>f</i>
<i>x</i>
] .
(<a href="arith1.html#plus">plus</a>
(<a href="arith1.html#minus">minus</a>
(<a href="calculus1.html#diff">diff</a>
(<a href="fns1.html#lambda">lambda</a>
[
<i>x</i>
] .
( <i>f</i>
( <i>x</i>,  N.B. this 'x' is from the inner 'lambda' binding )
)
)
, <a href="fns1.html#lambda">lambda</a>
[
<i>x</i>
] .
( <i>f</i>
( <i>x</i>,  see above coment )
)
)
,  <i>x</i>,  this 'x' is from the outer 'ODEsolution' binding )
<a href="list1.html#list">list</a>
(<a href="relation1.html#eq">eq</a>
( <i>f</i>
( 0 )
,  1 )
,
in this case there is only 1 element in the list of conditions,
however in general there will be $n$ elements where $n$ is the degree
of the ODE
)
)
, <a href="fns1.html#lambda">lambda</a>
[
<i>x</i>
] .
(<a href="arith1.html#plus">plus</a>
( <i>x</i>, <a href="alg1.html#one">one</a>)
)
)

</p>
</dd>
</dl>
<dl>
<dt><span class="dt">Signatures:</span></dt>
<dd><a href="../sts/odesoln1.html#ODEsolution">
sts
</a></dd>
</dl>
<p></p>
<hr>
<table width="100%"><tr><td align="right"><font size="-1">
[First: <a href="#ODEsolution">ODEsolution</a>]

[Last: <a href="#ODEsolution">ODEsolution</a>]

[<a href="#top">Top</a>]</font></td></tr></table>
</body>
</html>