#include <analytic_heuristic.hpp>
Definition at line 74 of file analytic_heuristic.hpp.
| heuristic_analytic_rep | ( | const polynomial< C > & | p2 | ) | [inline] |
Definition at line 115 of file analytic_heuristic.hpp.
References heuristic_analytic_rep< C, V >::initialize().
00115 : 00116 Analytic_rep (CF(p2)), 00117 previous (NULL), 00118 p (p2), 00119 phi (radial (Analytic ((Polynomial (promote (1, CF(p2)), (nat) 1))))), 00120 t (promote (0, CF(p2))), 00121 u (promote (0, CF(p2))) { initialize (); } heuristic_analytic_rep (const Heuristic_rep* previous2, const Polynomial& p2,
| heuristic_analytic_rep | ( | const heuristic_analytic_rep< C, V > * | previous2, | |
| const polynomial< C > & | p2, | |||
| const analytic< C, V > & | phi2, | |||
| const C & | t2, | |||
| const C & | u2 | |||
| ) | [inline] |
Definition at line 122 of file analytic_heuristic.hpp.
References heuristic_analytic_rep< C, V >::initialize().
00123 : 00124 Analytic_rep (CF(p2)), 00125 previous (previous2), 00126 p (p2), 00127 phi (phi2), 00128 t (t2), 00129 u (u2) { initialize (); } syntactic expression (const syntactic& z) const {
| Abs_type | ( | C | ) | const |
| Abs_type | ( | C | ) | const [inline] |
Definition at line 134 of file analytic_heuristic.hpp.
References mmx::R.
00134 { 00135 ERROR ("not yet implemented"); 00136 return R (0); }
| Abs_type | ( | C | ) | [protected] |
Definition at line 109 of file analytic_heuristic.hpp.
References mmx::C, heuristic_analytic_rep< C, V >::phi_at_u, mmx::radial_eval(), and heuristic_analytic_rep< C, V >::u.
Referenced by heuristic_analytic_rep< C, V >::Move(), and heuristic_analytic_rep< C, V >::Radial_eval().
00109 { 00110 C v2= radial_eval (phi_at_u, z-u); 00111 return abs (v2) < alpha * r; 00112 }
Definition at line 140 of file analytic_heuristic.hpp.
References heuristic_analytic_rep< C, V >::p, heuristic_analytic_rep< C, V >::phi, heuristic_analytic_rep< C, V >::previous, heuristic_analytic_rep< C, V >::t, and heuristic_analytic_rep< C, V >::u.
Referenced by heuristic_analytic_rep< C, V >::Move().
| nat depth | ( | ) | const [inline, protected] |
Definition at line 104 of file analytic_heuristic.hpp.
References heuristic_analytic_rep< C, V >::previous.
Referenced by heuristic_analytic_rep< C, V >::Move().
Definition at line 167 of file analytic_heuristic.hpp.
References Analytic.
00167 { 00168 ERROR ("not yet implemented"); 00169 return Analytic (0, this->tfm ()); }
| series<C> Expand | ( | ) | const [inline] |
Definition at line 132 of file analytic_heuristic.hpp.
References mmx::compose(), heuristic_analytic_rep< C, V >::p, and heuristic_analytic_rep< C, V >::phi_at_u.
Referenced by heuristic_analytic_rep< C, V >::expression().
| syntactic expression | ( | const syntactic & | z | ) | const [inline] |
Definition at line 130 of file analytic_heuristic.hpp.
References heuristic_analytic_rep< C, V >::Expand(), and mmx::flatten().
| void initialize | ( | ) | [inline, protected] |
Definition at line 87 of file analytic_heuristic.hpp.
References Analytic, heuristic_analytic_rep< C, V >::fp, mmx::mmx_order_ratio, mmx::move(), heuristic_analytic_rep< C, V >::order, heuristic_analytic_rep< C, V >::p, heuristic_analytic_rep< C, V >::phi, heuristic_analytic_rep< C, V >::phi_at_u, heuristic_analytic_rep< C, V >::prev, heuristic_analytic_rep< C, V >::previous, mmx::radial_move(), heuristic_analytic_rep< C, V >::t, heuristic_analytic_rep< C, V >::u, and heuristic_analytic_rep< C, V >::u_path.
Referenced by heuristic_analytic_rep< C, V >::heuristic_analytic_rep().
00087 { 00088 nat order= (nat) (mmx_order_ratio * ((double) precision ((double) 0.0))); 00089 fp= fast (p); 00090 r = heuristic_radius (p, order); 00091 if (previous == NULL) { 00092 u_path= vec<C> (u); 00093 phi_at_u= radial_move (phi, u); 00094 } 00095 else { 00096 prev= Analytic (previous, true); // keep reference counter up to date 00097 u_path= copy (previous->u_path); 00098 u_path[N(u_path) - 1]= t - previous->t; 00099 u_path << (u - t); 00100 phi_at_u= move (phi, u_path); 00101 } 00102 }
Definition at line 142 of file analytic_heuristic.hpp.
References Analytic, mmx::C, heuristic_analytic_rep< C, V >::check(), mmx::compose(), heuristic_analytic_rep< C, V >::Default_move(), heuristic_analytic_rep< C, V >::depth(), mmx::heuristic_change(), mmx::mmx_order_ratio, mmx::move(), heuristic_analytic_rep< C, V >::order, heuristic_analytic_rep< C, V >::p, heuristic_analytic_rep< C, V >::phi, heuristic_analytic_rep< C, V >::phi_at_u, Polynomial, heuristic_analytic_rep< C, V >::previous, mmx::R, mmx::radial_eval(), mmx::radial_move(), mmx::shrink(), heuristic_analytic_rep< C, V >::u, and heuristic_analytic_rep< C, V >::u_path.
00142 { 00143 C u2= u + z; 00144 //mmout << u_path << ", " << z << "\n"; 00145 R rr= shrink (promote (1, as<R> (abs (u2)))); 00146 if (previous != NULL && previous->check (u2, rr)) 00147 return previous->Move (u2 - previous->u); 00148 if (depth () >= 3 || check (u2, rr)) 00149 return Default_move (z); 00150 C v = phi_at_u[0]; 00151 C v2= radial_eval (phi_at_u, z); 00152 Analytic phi_post, psi_post; 00153 Analytic phi2; 00154 heuristic_change (phi_post, psi_post, phi2, phi, v, v2, r); 00155 Polynomial p2= compose (p, psi_post); 00156 //Analytic phi2= compose (phi, phi_post); 00157 Analytic phi2_at_u = move (phi2, u_path); 00158 Analytic phi2_at_u2= radial_move (phi2_at_u, u2 - u); 00159 nat order= (nat) (mmx_order_ratio * ((double) precision ((double) 0.0))); 00160 C w2= phi2_at_u2[0]; 00161 R r2= heuristic_radius (p2, order); 00162 if (abs (w2) >= r2) return Default_move (z); 00163 //R d1= radial_distance (phi_at_u , u2 - u, r); 00164 //R d2= radial_distance (phi2_at_u, u2 - u, r2); 00165 //if (d1 >= d2) return Default_move (z); 00166 return heuristic<C,V> (this, p2, phi2, u2, u2); }
Definition at line 170 of file analytic_heuristic.hpp.
References mmx::C, heuristic_analytic_rep< C, V >::check(), mmx::eval(), heuristic_analytic_rep< C, V >::fp, heuristic_analytic_rep< C, V >::phi_at_u, mmx::radial_eval(), and heuristic_analytic_rep< C, V >::u.
Definition at line 79 of file analytic_heuristic.hpp.
Referenced by heuristic_analytic_rep< C, V >::initialize(), and heuristic_analytic_rep< C, V >::Radial_eval().
| nat order |
Definition at line 137 of file analytic_heuristic.hpp.
Referenced by heuristic_analytic_rep< C, V >::initialize(), and heuristic_analytic_rep< C, V >::Move().
Definition at line 78 of file analytic_heuristic.hpp.
Referenced by heuristic_analytic_rep< C, V >::Default_move(), heuristic_analytic_rep< C, V >::Expand(), heuristic_analytic_rep< C, V >::initialize(), and heuristic_analytic_rep< C, V >::Move().
Definition at line 81 of file analytic_heuristic.hpp.
Referenced by heuristic_analytic_rep< C, V >::Default_move(), heuristic_analytic_rep< C, V >::initialize(), and heuristic_analytic_rep< C, V >::Move().
Definition at line 77 of file analytic_heuristic.hpp.
Referenced by heuristic_analytic_rep< C, V >::initialize().
const heuristic_analytic_rep<C,V>* previous [protected] |
Definition at line 76 of file analytic_heuristic.hpp.
Referenced by heuristic_analytic_rep< C, V >::Default_move(), heuristic_analytic_rep< C, V >::depth(), heuristic_analytic_rep< C, V >::initialize(), and heuristic_analytic_rep< C, V >::Move().
Definition at line 82 of file analytic_heuristic.hpp.
Referenced by heuristic_analytic_rep< C, V >::Default_move(), and heuristic_analytic_rep< C, V >::initialize().
Definition at line 84 of file analytic_heuristic.hpp.
Referenced by heuristic_analytic_rep< C, V >::initialize(), and heuristic_analytic_rep< C, V >::Move().
1.6.1