mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -04:00 
			
		
		
		
	
		
			
	
	
		
			43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | [/============================================================================ | ||
|  |   Boost.odeint | ||
|  | 
 | ||
|  |   Copyright 2011 Mario Mulansky | ||
|  |   Copyright 2011-2012 Karsten Ahnert | ||
|  | 
 | ||
|  |   Use, modification and distribution is subject to the Boost Software License, | ||
|  |   Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at | ||
|  |   http://www.boost.org/LICENSE_1_0.txt) | ||
|  | =============================================================================/] | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | [section Implicit System] | ||
|  | 
 | ||
|  | [heading Description] | ||
|  | 
 | ||
|  | This concept describes how to define a ODE that can be solved by an implicit routine. | ||
|  | Implicit routines need not only the function /f(x,t)/ but also the Jacobian /df/dx = A(x,t)/. | ||
|  | /A/ is a matrix and implicit routines need to solve the linear problem /Ax = b/. | ||
|  | In odeint this is implemented with use of __ublas, therefore, the ['state_type] implicit routines is ['ublas::vector] and the matrix is defined as ['ublas::matrix]. | ||
|  | 
 | ||
|  | [heading Notation] | ||
|  | 
 | ||
|  | [variablelist | ||
|  |   [[`System`] [A type that is a model of `Implicit System`]] | ||
|  |   [[`Time`] [A type representing the time of the ODE]] | ||
|  |   [[`sys`] [An object of type `System`]] | ||
|  |   [[`x`] [Object of type ublas::vector]] | ||
|  |   [[`dxdt`] [Object of type ublas::vector]] | ||
|  |   [[`jacobi`] [Object of type ublas::matrix]] | ||
|  |   [[`t`] [Object of type `Time`]] | ||
|  | ] | ||
|  | 
 | ||
|  | [heading Valid Expressions] | ||
|  | 
 | ||
|  | [table | ||
|  |   [[Name] [Expression] [Type] [Semantics]] | ||
|  |   [[Calculate ['dx/dt := f(x,t)]] [`sys.first( x , dxdt , t )`] [`void`] [Calculates `f(x,t)`, the result is stored into dxdt] ] | ||
|  |   [[Calculate ['A := df/dx (x,t)]] [`sys.second( x , jacobi , t )`] [`void`] [Calculates the Jacobian of /f/ at /x/,/t/, the result is stored into `jacobi`] ] | ||
|  | ] | ||
|  | 
 | ||
|  | [endsect] |