# Symbolic Parameters and Inexact Quantities

The differential equations that arise in practice are of two types.

- Equations in which the only variables are the independent and dependent variables. Thus, all the variables that appear in the first argument to DSolve are also in the second or third arguments.

- Equations in which there are other symbolic quantities, such as mass or the spring constant. The solution in this case depends on the independent variables, the dependent variables, and the additional symbolic parameters.

In[1]:= |

Out[1]= |

In[2]:= |

Out[2]= |

DSolve is equipped to deal with both types of equations. It is extremely useful to have the solution available for all possible values of the parameters in the second type of equation.

In[3]:= |

Out[3]= |

It should be noted that the presence of symbolic parameters can lead to fairly complicated output.

In[4]:= |

In[5]:= |

Out[5]= |

However, for some special values of the parameters, the solution might be significantly simpler.

In[6]:= |

Out[6]= |

Occasionally, a solution is valid for most, but not all, values of the parameters.

In[7]:= |

Out[7]= |

In[8]:= |

Out[8]= |

In summary, the ability to solve differential equations with symbolic parameters is a *powerful and essential feature* of any symbolic solver such as DSolve. However, the following points should be noted.

- The solution might be easy to verify symbolically for some special values of the parameters, but in the general case a numerical verification method is preferable.

Numerical quantities in the Wolfram Language can be of three types: infinite precision, machine precision, or arbitrary precision. The first type of number is referred to as "exact", while the remaining two types represent incomplete information and are therefore called "inexact".

In[9]:= |

In[10]:= |

Out[10]= |

In[12]:= |

Out[12]= |

In[13]:= |

Out[13]= |

In[14]:= |

Out[14]= |

Since DSolve is a symbolic solver, the algorithms used by it are primarily based on the assumption of exact input. However, equations that contain inexact quantities are handled by DSolve in the usual way.

In[15]:= |

Out[15]= |

In[16]:= |

Out[16]= |

Inexact input could arise, for example, when the coefficients in the equations are derived from a previous calculation and are known only approximately. In such cases, it might not be practical to convert the equations to exact form, as this could slow down the calculation significantly.

In[17]:= |

Out[17]= |

In[18]:= |

Out[18]= |

In[19]:= |

Out[19]= |

In[20]:= |

Out[20]= |

In[21]:= |

Out[21]= |

In[22]:= |

Out[22]= |

Thus, it is often desirable to continue working with inexact quantities even within a symbolic function such as DSolve. However, it should be noted that the solution obtained in such cases could have a certain amount of numerical error and should be checked carefully. It is therefore recommended that if the problem size is not too large (for instance, if there are fewer than five equations), the input should be converted to exact form using the Rationalize function.

In[23]:= |

Out[23]= |

In[24]:= |

Out[24]= |