org.simBio.util.numerical.methods
Class BroydenMethod

java.lang.Object
  extended by org.simBio.util.numerical.methods.BroydenMethod

public final class BroydenMethod
extends java.lang.Object

This class provides Broyden's method to solve systems of nonlinear equations. Broyden's method is a quasi-Newton method.

Version:
$Revision: 1.1 $
Author:
SHIMAYOSHI Takao

Field Summary
static double DEFAULT_EPSILON
          A tiny value as tolerance.
 
Method Summary
static double solve(MathFunction[] functions, Node[] nodes)
          Solves the specified nonlinear equations for the specified variables.
static double solve(MathFunction[] functions, Node[] nodes, double epsilon, int iteration)
          Solves the specified nonlinear equations for the specified variables.
static double solve(MathMultivariableFunction[] functions, double[] values)
          Solves the specified nonlinear equations for the specified variables.
static double solve(MathMultivariableFunction[] functions, double[] values, double epsilon, int iteration)
          Solves the specified nonlinear equations for the specified variables.
static double solve(MathMultivariableFunction[] functions, Node[] nodes)
          Solves the specified nonlinear equations for the specified variables.
static double solve(MathMultivariableFunction[] functions, Node[] nodes, double epsilon, int iteration)
          Solves the specified nonlinear equations for the specified variables.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_EPSILON

public static final double DEFAULT_EPSILON
A tiny value as tolerance.

See Also:
Constant Field Values
Method Detail

solve

public static double solve(MathFunction[] functions,
                           Node[] nodes)
Solves the specified nonlinear equations for the specified variables. In this implementation of Broyden's method, Jacobian by numerical differentiation is used for initial B array, and damping is used on iterative computation.

Parameters:
functions - The equations to be solved. Their calculate methods are repeated called.
nodes - The variables to be solved. Their values are setted to the solution.
Returns:
The norm of the funcion values on the aproximate solution.

solve

public static double solve(MathFunction[] functions,
                           Node[] nodes,
                           double epsilon,
                           int iteration)
Solves the specified nonlinear equations for the specified variables. In this implementation of Broyden's method, Jacobian by numerical differentiation is used for initial B array, and damping is used on iterative computation.

Parameters:
functions - The equations to be solved. Their calculate methods are repeated called.
nodes - The variables to be solved. Their values are setted to the solution.
epsilon - The accuracy. The iteration are repeated until the norm of functions gets lower than this value.
iteration - The maximam iteration count.
Returns:
The norm of the funcion values on the aproximate solution.

solve

public static double solve(MathMultivariableFunction[] functions,
                           Node[] nodes)
Solves the specified nonlinear equations for the specified variables. In this implementation of Broyden's method, Jacobian by numerical differentiation is used for initial B array, and damping is used on iterative computation.

Parameters:
functions - The equations to be solved. Their calculate methods are repeated called.
nodes - The variables to be solved. Their values are setted to the solution.
Returns:
The norm of the funcion values on the aproximate solution.

solve

public static double solve(MathMultivariableFunction[] functions,
                           Node[] nodes,
                           double epsilon,
                           int iteration)
Solves the specified nonlinear equations for the specified variables. In this implementation of Broyden's method, Jacobian by numerical differentiation is used for initial B array, and damping is used on iterative computation.

Parameters:
functions - The equations to be solved. Their calculate methods are repeated called.
nodes - The variables to be solved. Their values are setted to the solution.
epsilon - The accuracy. The iteration are repeated until the norm of functions gets lower than this value.
iteration - The maximam iteration count.
Returns:
The norm of the funcion values on the aproximate solution.

solve

public static double solve(MathMultivariableFunction[] functions,
                           double[] values)
Solves the specified nonlinear equations for the specified variables. In this implementation of Broyden's method, Jacobian by numerical differentiation is used for initial B array, and damping is used on iterative computation.

Parameters:
functions - The equations to be solved. Their calculate methods are repeated called.
values - The values of the variables to be solved. The initial values should be setted on the method calling and the solution values is setted on the method returning.
Returns:
The norm of the funcion values on the aproximate solution.

solve

public static double solve(MathMultivariableFunction[] functions,
                           double[] values,
                           double epsilon,
                           int iteration)
Solves the specified nonlinear equations for the specified variables. In this implementation of Broyden's method, Jacobian by numerical differentiation is used for initial B array, and damping is used on iterative computation.

Parameters:
functions - The equations to be solved. Their calculate methods are repeated called.
values - The values of the variables to be solved. The initial values should be setted on the method calling and the solution values is setted on the method returning.
epsilon - The accuracy. The iteration are repeated until the norm of functions gets lower than this value.
iteration - The maximam iteration count.
Returns:
The norm of the funcion values on the aproximate solution.


Copyright © 2002-2008 Cell/Biodinamics simulation project. All Rights Reserved.