#include <AIntersection.h>
Inheritance diagram for AIntersection:


Public Member Functions | |
| AIntersection (Implicit *f, Implicit *g, int cont=2) | |
| Constructor. | |
| int | rf_sign () |
| double | h (double f, double g) |
| Evaluates the R-function on the two function values. | |
| double | hf (double f, double g) |
| Evaluates the partial derivative with respect to f on the two function values. | |
| double | hg (double f, double g) |
| Evaluates the partial derivative with respect to g on the two function values. | |
| double | hff (double f, double g) |
| Evaluates the 2nd partial derivative with respect to f and f on the two function values. | |
| double | hgg (double f, double g) |
| Return the 2nd partial derivative with respect to g and g on the two function values. | |
| double | hfg (double f, double g) |
| Evaluate the 2nd partial derivative with respect to f and g on the two function values. | |
| Intervald | h (Intervald f, Intervald g) |
| Intervald | hf (Intervald f, Intervald g) |
| Intervald | hg (Intervald f, Intervald g) |
| Intervald | hff (Intervald f, Intervald g) |
| Intervald | hgg (Intervald f, Intervald g) |
| Intervald | hfg (Intervald f, Intervald g) |
|
||||||||||||||||
|
Constructor.
Definition at line 11 of file AIntersection.cpp. References RFunction::m_cont, BinaryOp::m_f, BinaryOp::m_g, Blend::m_r1, and Blend::m_r2. |
|
||||||||||||
|
Reimplemented from RFunction. Definition at line 29 of file AIntersection.cpp. References RFunction::h(), Intervald, Blend::m_r1, Blend::m_r2, and Interval< Type >::squared(). |
|
||||||||||||
|
Evaluates the R-function on the two function values.
Reimplemented from RFunction. Definition at line 20 of file AIntersection.cpp. References RFunction::h(), Blend::m_r1, and Blend::m_r2. |
|
||||||||||||
|
Reimplemented from RFunction. Definition at line 51 of file AIntersection.cpp. References RFunction::hf(), Intervald, Blend::m_r1, Blend::m_r2, and Interval< Type >::squared(). |
|
||||||||||||
|
Evaluates the partial derivative with respect to f on the two function values. h = (f + g + m_sign*(sqrt(f^2+g^2)))*(f^2+g^2)^(m_cont/2). hf = (f^2+g^2)^(m_cont/2)*d(f + g + m_sign*(sqrt(f^2+g^2)))/df + (f + g + m_sign*(sqrt(f^2+g^2)))*d(f^2+g^2)^(m_cont/2)/df = (f^2+g^2)^(m_cont/2)*(1 + m_sign*f/sqrt(f^2+g^2)) + (f + g + m_sign*(sqrt(f^2+g^2)))*m_cont*f*(f^2+g^2)^(m_cont/2 - 1).
Reimplemented from RFunction. Definition at line 43 of file AIntersection.cpp. References RFunction::hf(), Blend::m_r1, and Blend::m_r2. |
|
||||||||||||
|
Reimplemented from RFunction. Definition at line 91 of file AIntersection.cpp. References RFunction::hff(), Intervald, Blend::m_r1, Blend::m_r2, and Interval< Type >::squared(). |
|
||||||||||||
|
Evaluates the 2nd partial derivative with respect to f and f on the two function values. fg = sqrt(f^2 + g^2) dfg/df = f/fg hf = fg^m_cont*(1 + m_sign*f/fg) + (f + g + m_sign*fg)*m_cont*f*fg^(m_cont - 2) = fg^m_cont + m_sign*f*fg^(m_cont-1) + (f + g + m_sign*fg)*m_cont*f*fg^(m_cont - 2) hff = m_cont*fg^(m_cont-1)*dfg/df + m_sign*f*(m_cont-1)*fg^(m_cont-2)*dfg/df + m_sign*fg^(m_cont-1) + (1 + m_sign*dfg/df)*m_cont*f*fg^(m_cont - 2) + (f + g + m_sign*fg)*m_cont*(f*(m_cont - 2)*fg^(m_cont - 3)*dfg/df + fg^(m_cont - 2)) = m_cont*f*fg^(m_cont-2) + m_sign*(m_cont-1)*f^2*fg^(m_cont-3) + m_sign*fg^(m_cont-1) + m_cont*f*fg^(m_cont - 2) + m_cont*m_sign*f^2*fg^(m_cont - 3) + m_cont*(f + g + m_sign*fg)*((m_cont - 2)*f^2*fg^(m_cont - 4) + fg^(m_cont - 2))
Reimplemented from RFunction. Definition at line 83 of file AIntersection.cpp. References RFunction::hff(), Blend::m_r1, and Blend::m_r2. |
|
||||||||||||
|
Reimplemented from RFunction. Definition at line 129 of file AIntersection.cpp. References RFunction::hfg(), Intervald, Blend::m_r1, and Blend::m_r2. |
|
||||||||||||
|
Evaluate the 2nd partial derivative with respect to f and g on the two function values. fg = sqrt(f^2 + g^2) dfg/dg = g/fg hf = fg^m_cont*(1 + m_sign*f/fg) + (f + g + m_sign*fg)*m_cont*f*fg^(m_cont - 2) = fg^m_cont + m_sign*f*fg^(m_cont-1) + (f + g + m_sign*fg)*m_cont*f*fg^(m_cont - 2) hfg = m_cont*fg^(m_cont-1)*dfg/dg + m_sign*f*(m_cont-1)*fg^(m_cont-2)*dfg/dg + m_sign*fg^(m_cont-1) + (1 + m_sign*dfg/dg)*m_cont*f*fg^(m_cont - 2) + (f + g + m_sign*fg)*m_cont*(f*(m_cont - 2)*fg^(m_cont - 3)*dfg/dg + fg^(m_cont - 2)) = m_cont*g*fg^(m_cont-2) + m_sign*(m_cont-1)*f*g*fg^(m_cont-3) + m_sign*fg^(m_cont-1) + m_cont*f*fg^(m_cont - 2) + m_cont*m_sign*f*g*fg^(m_cont - 3) + m_cont*(f + g + m_sign*fg)*((m_cont - 2)*f*g*fg^(m_cont - 4) + fg^(m_cont - 2))
Reimplemented from RFunction. Definition at line 121 of file AIntersection.cpp. References RFunction::hfg(), Blend::m_r1, and Blend::m_r2. |
|
||||||||||||
|
Reimplemented from RFunction. Definition at line 71 of file AIntersection.cpp. References RFunction::hg(), Intervald, Blend::m_r1, Blend::m_r2, and Interval< Type >::squared(). |
|
||||||||||||
|
Evaluates the partial derivative with respect to g on the two function values. h = (f + g + m_sign*(sqrt(f^2+g^2)))*(f^2+g^2)^(m_cont/2). hg = (f^2+g^2)^(m_cont/2)*d(f + g + m_sign*(sqrt(f^2+g^2)))/dg + (f + g + m_sign*(sqrt(f^2+g^2)))*d(f^2+g^2)^(m_cont/2)/dg = (f^2+g^2)^(m_cont/2)*(1 + m_sign*g/sqrt(f^2+g^2)) + (f + g + m_sign*(sqrt(f^2+g^2)))*m_cont*g*(f^2+g^2)^(m_cont/2 - 1).
Reimplemented from RFunction. Definition at line 63 of file AIntersection.cpp. References RFunction::hg(), Blend::m_r1, and Blend::m_r2. |
|
||||||||||||
|
Reimplemented from RFunction. Definition at line 110 of file AIntersection.cpp. References RFunction::hgg(), Intervald, Blend::m_r1, Blend::m_r2, and Interval< Type >::squared(). |
|
||||||||||||
|
Return the 2nd partial derivative with respect to g and g on the two function values. fg = sqrt(f^2 + g^2) dfg/dg = g/fg hg = fg^m_cont*(1 + m_sign*g/fg) + (f + g + m_sign*fg)*m_cont*g*fg^(m_cont - 2) = fg^m_cont + m_sign*g*fg^(m_cont-1) + (f + g + m_sign*fg)*m_cont*g*fg^(m_cont - 2) hgg = m_cont*fg^(m_cont-1)*dfg/dg + m_sign*g*(m_cont-1)*fg^(m_cont-2)*dfg/dg + m_sign*fg^(m_cont-1) + (1 + m_sign*dfg/dg)*m_cont*g*fg^(m_cont - 2) + (f + g + m_sign*fg)*m_cont*(g*(m_cont - 2)*fg^(m_cont - 3)*dfg/dg + fg^(m_cont - 2)) = m_cont*g*fg^(m_cont-2) + m_sign*(m_cont-1)*g^2*fg^(m_cont-3) + m_sign*fg^(m_cont-1) + m_cont*g*fg^(m_cont - 2) + m_cont*m_sign*g^2*fg^(m_cont - 3) + m_cont*(f + g + m_sign*fg)*((m_cont - 2)*g^2*fg^(m_cont - 4) + fg^(m_cont - 2))
Reimplemented from RFunction. Definition at line 102 of file AIntersection.cpp. References RFunction::hgg(), Blend::m_r1, and Blend::m_r2. |
|
|
Definition at line 20 of file AIntersection.h. |
1.3.4