Riccati equation
Riccati equation |
General Riccati equation The Riccati equation is one of the most interesting first-order nonlinear differential equations. It is written in the form: ![]() where a ( x ) , b ( x ) , c ( x ) are continuous functions depending on the variable x . The Riccati equation is encountered in various fields of mathematics (for example, in algebraic geometry and in the theory of conformal mappings) and physics. It also frequently arises in applied mathematical problems. The above equation is called the general Riccati equation. Its solution is based on the following theorem: Theorem: If a particular solution y 1 of the Riccati equation is known, then its general solution is determined by the formula ![]() Indeed, substituting the solution y = y 1 + u into the Riccati equation, we have: ![]() The underlined terms on the left and right sides can be canceled because y 1 is a particular solution satisfying the equation. As a result, we obtain the differential equation for the function u ( x ) : ![]() which is the Bernoulli equation. Substituting z = 1/ u transforms this Bernoulli equation into a linear differential equation that admits integration. In addition to the general Riccati equation, there are many special cases of the Riccati equation with coefficients a ( x ) , b ( x ) , c ( x ) of a certain form. Many of these special cases have integrable solutions. Returning to the general Riccati equation, we see that the general solution can be constructed if some special solution is known. Unfortunately, there is no rigorous algorithm for finding a special solution, which depends significantly on the form of the functions a ( x ) , b ( x ) and c ( x ) . Below we consider some well-known special cases of the Riccati equation. Special case 1: Coefficients a, b, c are constants. If the coefficients in a Riccati equation are constant, then such an equation can be reduced to an equation with separable variables. In this case, the general solution is described by the integral of a rational function with a quadratic trinomial in the denominator: ![]() This integral is easily calculated for any values of a, b, and c (See more details on the page ” Integration of rational functions “). Special case 2: Equation of the form y’ = by 2 + cx n Consider the Riccati equation of the form y’ = by 2 + cx n, when the function a ( x ) in the linear term is zero, the coefficient b of y^2 is a constant, and c ( x ) is a power function: ![]() This case of the Riccati equation has remarkable solutions! First, note that if n = 0, then we again arrive at case 1, in which the variables are separated, and the equation can be integrated. If n = −2, then the Riccati equation is transformed into a homogeneous equation by substituting y = 1/ z and can then also be integrated. This differential equation can also be solved for
Here, the general solution is expressed in terms of cylindrical functions. For all other values of the exponent n, the solution to the Riccati equation can be expressed in terms of integrals of elementary functions. This fact was established by the French mathematician Joseph Liouville (1809-1882) in 1841. Many other special cases of the Riccati equation are presented on the EqWorld website. |
Example 1 |
Solve the differential equation y’ = y + y 2 + 1. Solution. This equation is the simplest Riccati equation with constant coefficients. The variables x and y are easily separated here, so the general solution of the equation is determined as follows: ![]() |
Example 2 |
Solve the Riccati equation Solution. We will look for a particular solution in the form: ![]() Substituting this into the equation, we find: ![]() We obtain a quadratic equation for c : ![]() We can choose any value of c. For example, let c = 2. Now that the particular solution is known, let’s make the substitution: ![]() Let’s substitute this back into the original Riccati equation: ![]() As you can see, we have obtained the Bernoulli equation with parameter m = 2. Let’s make one more substitution: ![]() Let us divide the Bernoulli equation by z 2 (assuming that z ≠ 0 ) and write it in terms of the variable v : The last equation is linear and can be easily solved using an integrating factor: ![]() The function determines the general solution of a linear equation. ![]() Now we will sequentially return to the previous variables. Since z = 1/ v, the general solution for z is written as follows: ![]() Hence, ![]() You can rename the constant: 3 C = C 1 and write the answer as ![]() where C 1 is an arbitrary real number. |
Example 3 |
Find the general solution of the differential equation x 3 y’ + x 2 y − y 2 = 2 x 4. Solution. Let’s bring the equation to standard form: ![]() We’re dealing with the Riccati equation. Let’s try to find a particular solution in the form y 1 = cx 2. Substituting this into the differential equation, we can determine the coefficient c : ![]() Solving the quadratic equation, we find the value of c : ![]() So, we’ve obtained two particular solutions. Since it’s sufficient to know only one, we’ll choose, for example, y 1 = x 2. As a result, we can write the general solution to the Riccati equation in the form: ![]() For the new function u (x), we obtain the following differential equation: ![]() which is the Bernoulli equation. Substitution ![]() To solve this linear equation, we calculate the integrating factor: ![]() We can take the function v ( x ) = x as an integrating factor. Indeed, we can verify that after multiplying by v ( x ) = x, the left-hand side of the equation becomes the derivative of the product z ( x ) v ( x ). The general solution of the linear differential equation is: ![]() Since z = 1/ u , the function u ( x ) is defined by the formula ![]() Therefore, the general solution of the original Riccati equation is expressed by the function. ![]() where C is an arbitrary constant. |
Example 4 |
Solve the equation Solution. It is clear that this equation is a special case of the Riccati equation of the form y’ = by 2 + cx n with degree n = −2. By making the substitution y = 1/ z, we can transform this equation into a homogeneous one and then integrate it. ![]() To solve the homogeneous equation, we make one more substitution: z = tx , z ‘ = t ‘ x + t . Therefore, ![]() The trinomial in the denominator of the fraction on the left side can be expanded as follows: ![]() and then the rational fraction in the integrand can be decomposed into a sum of simple fractions using the method of undetermined coefficients: ![]() As a result, we get: ![]() Let us redesignate the constant: ![]() Let us remember that ![]() Returning to the variable y, which is related to z by the relation ![]() The last expression represents the general solution of the given Riccati equation in implicit form. Here, the constant C is any real number. Indeed, substituting C = 0, we see that this value also satisfies the differential equation: Hence, ![]() |
Explore More IT Terms
#
- Using an integrating factor
- Equations in total differentials
- Equations not resolved with respect to the derivative
- Bernoulli's equation
- Linear differential equations of the first order
- 50 Terms Every Programmer Should Know
- 7 Levels of Using the Zip Function in Python
- 7 Python Code Bugs You Need to Fix
- 70+ Free Resources for Learning Programming
A
- A Guide to SQL Query Formatting
- A/B testing
- AES Encryption Algorithm: How It Works and Where It's Used
- Agile
- Algorithm
- Algorithm complexity in 5 minutes
- Algorithms and Data Structures in C#
- An overview of the C # programming language
- An overview of the Python programming language
- Anaconda Python
- Android
- Android App Bundle
- Android SDK
- Angular
- Ansible
- Apache
- Apache Airflow
- Apache Kafka
- Apache Tomcat
- App Store
- AppCode
- Applications of microcontrollers: From simple circuits in electronics to complex systems
- Applications of the derivative
- Arduino: How to Program It: Basics for Beginners
- Array-based stack
- ArrayList
- ASCII
- ASP.NET
- Assembly Language Lessons
B
C
D
- Data Analytics: applications of data analysis in companies
- Data Engineer - Who is it, what does a data engineer do, and an overview of the profession
- Data modeling: what it is, types, and process steps.
- Data preprocessing: a complete guide for beginners and professionals.
- Data structure
- Database Tests with Answers
- Deep Learning
- Defining Aliases
- Defining Arrays
- Deque
- Developing a Website from Scratch
- Differential Equations
- Differentiation of functions
- Digital data: understand the importance of this asset for businesses.
- Double integrals
- Doubly linked lists
E
F
H
- Handling errors and exceptions
- Heads or Tails? How Probability Theory Is Used in IT
- History of the development of computer science
- Homogeneous equations
- How to effectively organize your workflow
- How to Learn Java: Tips for Beginner Developers
- How to Learn PHP: A Beginner's Guide
- How to Use S3 Storage in Kubernetes with CSI
- HTML
- HTML and CSS: Definition, Application, and Operating Principles
- HTML and CSS. Layout from Scratch: What to Learn, Where to Learn, and How Long Will It Take?
- HTML Frame Structure
- HTML Link Formatting
I
- if..else construction
- Infinite sequences and series
- Information properties
- Inheritance in Java: A Complete Guide to Principles and Implementation
- Inserting an Image
- Integration of functions
- Interactive Python Tutorial – Learn Programming from Scratch
- Interpreter
- Interview Problem: Finding a Deleted Element in O(N)
- Interview Scare: The FizzBuzz Challenge
- Introduction to C++
- Introduction to Machine Learning
- Introduction to Networking | Network Fundamentals Part 1
- Introduction to Number Systems (Binary, Octal, Hexadecimal) | Math for CS Foundations #1
- IT Specialist Resume (CV)
J
K
M
- Machine Learning
- Machine Learning Basic Tool: NumPy
- Machine Learning Basic Tool: Pandas
- Machine Learning Mathematics
- Mathematics for programmers: what is really needed?
- MD5 encryption algorithm: What is it and why is it needed?
- Microcontroller and Microprocessor - what's the difference?
- ML Engineer: Who They Are, What They Do, How Much They Earn, and How to Become a Neural Network Specialist
- Monte Carlo Simulation: How It Works and What It's For
O
P
- PHP lessons
- Private DNS server and its configuration
- Program code
- Programmer's Dictionary
- Programming
- Programming with pseudocode
- Python Code Formatting Guide: PEP8
- Python for data analysis: how to do it and main libraries
- Python Lessons
- Python Superstar: 5 Ways to Use the * Operator
- Python vs. Julia: Should You Replace Python with Julia?
R
S
- SFML Graphics Library Tutorials
- Sorting Algorithms in Programming: Types, Descriptions, and Comparisons
- SQL commands: see what they are, what the main ones are + examples
- SQL Interview Questions and Tasks
- SQL Lessons
- SQL Stored Procedures
- SQL Syntactic Sugar: The COALESCE Function
- Stack
- Start in analytics: Python or R
- Statistical analysis: importance for decision making.
- String formatting in Python
- Structure of computer science
- Swift Lessons
- switch/match construct
- Syntax
T
- Terms in programming
- Text and paragraph formatting tags
- The concept of information and its transmission
- The Future of Python: Key Trends and Insights from Global Researc
- The Infrastructure of Code: A Complete Guide to Repositories for Languages, Frameworks, and Compilers
- The pip package manager in Python
- The role of informatization in the development of society
- Transfers
- Tutorials / Articles
- TypeScript: What It Is and Why Developers Need It
W
- What are databases, and why do they need DBMS and SQL?
- What do Linux distributions consist of?
- What is .NET and what is it used for?
- What is a GPU in a computer, in simple terms?
- What is a quantum computer: 100,500 problems in one second
- What is Arduino: How it Works and the Platform's Capabilities
- What is Big Data? Introduction, Types, Characteristics, and Examples
- What is Golang and what is it used for?
- What is Haskell and what is it used for?
- What is Kotlin and what is it used for?
- What is Linux? The History of Linux
- What is machine learning, and how does it work?
- What is Power BI: everything about the data analytics software
- What is the C++ programming language?
- What is the OSI Model: A Complete Explanation of the Seven Layers and Their Role in Networking
- What's the difference between x86 and ARM processors?
- Where to start learning the C programming language?
- Which Linux distribution should you choose? A Linux distribution overview












































