Statistiques
| Révision :

root / pobysoPythonSage / src / sageSLZ / sageSLZ-Notes.html @ 69

Historique | Voir | Annoter | Télécharger (14,32 ko)

1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2
    "http://www.w3.org/TR/html4/loose.dtd">
3
<html>
4
<head>
5
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
6
  <style type="text/css">
7
/* Mise ? jour 2010-12-20 */
8
/* La police proportionnelle de base est une Helvetica de 10 */
9
/* La police fixe de base est une Courrier de 10 */
10
/** Corps */
11
body           {background-color: #FFFFFF;
12
                font-family : helvetica, arial, sans-serif;
13
                font-size : 10pt;
14
                font-weight : normal;
15
                font-style : normal}
16
/*
17
*/
18
/** Page de couverture */
19
/*
20
          ---------------------------------------------------------------
21
          /                   ------------------------------------
22
          / table.coverHeader | td.coverHeaderLeft / td.coverHeaderRight |
23
          /                   ------------------------------------
24
          /
25
          /                    ------------------------------------
26
          /                    /                                  /
27
div.cover /                    /              p.coverTitle        /
28
          /                    /                                  /
29
          / div.coverTitle     ------------------------------------
30
          /                    /                                  /
31
          /                    /              p.coverSubTitle     /
32
          /                    /                                  /
33
          /                    ------------------------------------
34
          ---------------------------------------------------------------
35

    
36
*/
37
@media print   {div.cover {page-break-after:always}
38
                div.coverTitle {top : 250pt}}
39
div.cover      {margin-bottom : 100pt;
40
                text-align : center;}
41
table.coverHeader {position : relative;
42
                top : 0;
43
                width : 90%;
44
                font-size: 12pt; 
45
                font-family : helvetica, arial, sans-serif;
46
                font-weight: bold}
47
table.coverHeader td.coverHeaderLeft  {text-align : left}
48
table.coverHeader td.coverHeaderRight {text-align : right}
49
div.coverTitle {position : relative; 
50
                margin-top : 100pt;
51
                text-align : center;
52
                border : solid ;
53
                margin-left : 20%;
54
                margin-right : 20%}
55
/* Voir h1 */
56
p.coverTitle   {text-align : center ; 
57
                font-size : 20pt ; 
58
                font-weight : bold ; 
59
                font-family : helvetica, arial, sans-serif;
60
                text-indent : 0pt}
61
p.coverSubTitle{text-align : center ;
62
                font-size : 16pt ;
63
                font-weight : normal; 
64
                font-family : helvetica , arial , sans-serif;
65
                margin-top : 30pt;
66
                text-indent : 0pt}
67
/* ?l?ments "en ligne" */
68
abbr           {font-family : helvetica, arial, sans-serif;
69
                font-style : normal;
70
                font-weight : bold}
71
/* Identique ? <abbr> */
72
acronym        {font-family : helvetica, arial, sans-serif;
73
                font-style : normal;
74
                font-weight : bold}
75
address        {font-family : helvetica, arial, sans-serif;
76
                font-style : italic;
77
                margin-left : 20pt;
78
                margin-right : 20pt}
79
blocquote      {font-family : helvetica, arial, sans-serif;
80
                font-style : italic;
81
                margin-left : 20pt;
82
                margin-right : 20pt} 
83
cite           {font-family : helvetica, arial, sans-serif;
84
                font-style : italic;
85
                font-weight : normal}
86
/* ? utiliser dans une division de code pour les marges et dans un ?l?ment 
87
   "pre" pour pr?server l'indentation) : div.code->pre->code. */
88
code           {font-family : courier, monospace;
89
                font-style : normal;
90
                font-weight : normal}
91
div.code       {margin-left : 30pt;
92
                margin-right : 30pt}
93
del            {text-decoration : line-through}
94
dfn            {font-family: helvetica, arial, sans-serif;
95
                font-style: italic;
96
                font-weight: normal}
97
ins            {text-decoration : none;
98
                background-color : #FFFF00}
99
kbd            {font-family : times, serif;
100
                font-style : italic;
101
                font-weight : normal}
102
pre            {}
103
/* ? travailler pour ?viter les guillemets anglo-saxons. */
104
q              {}
105
/* On introduit un ?l?ment div.samp pour ajouter le retrait */
106
samp           {font-family : courier, monospace;
107
                font-style : normal;
108
                font-weight : normal}
109
div.samp       {margin-left : 30pt;
110
                margin-right : 30pt}
111
strong         {font-weight  : bold}
112
var            {font-family : courier, monospace;
113
                font-style : italic;
114
                font-weight: normal}
115
/* Span sp?cialis?s. */
116
/* Mot ou expression ?trang?re */
117
span.foreign {font-style : italic}
118
/* ?l?ments de langage :
119
   - nom de commande ou de programme ;
120
   - nom de variable, de fonction, de classe, de module ;
121
   - propri?t@?, param?tre, valeur, champ, objet, nom de balise ;
122
   - nom de cl? de registre ;
123
   - mot-cl? d'un langage ;
124
   . */
125
span.langElem {font-family : helvetica, arial, sans-serif;
126
               font-style : normal;
127
               font-weight : bold}
128
/* R?pertoires, fichiers, extensions de fichier (e. g. .jpeg) */
129
span.pathfile  {font-family: courier, monospace;
130
                font-style : italic;
131
                font-weight: normal}
132
span.urlAddress{font-family : courier monospace;
133
                font-style : italic;
134
                font-weight : bold }
135
/* ?l?ments "bloc" */
136
h1             {text-align : center ; 
137
                font-size : 20pt ; 
138
                font-weight : bold ; 
139
                font-family : helvetica, arial, sans-serif}
140
h2             {font-size : 16pt ; 
141
                font-weight : bold ;
142
                font-family : helvetica, arial, sans-serif}
143
h3             {font-size: 14pt ; 
144
                font-weight : normal;
145
                font-family : helvetica, arial, sans-serif;
146
                margin-left : 10pt}
147
h4             {font-size : 12pt; 
148
                font-family : helvetica, arial , sans-serif;
149
                font-weight: normal;
150
                margin-left : 15pt}
151
h5             {font-size : 12pt ;
152
                font-family : helvetica, arial, sans-serif;
153
                font-weight : normal;
154
                font-style : italic; 
155
                margin-left : 15pt}
156
h6             {font-size : 10pt;
157
                font-family : helvetica, arial, sans-serif;
158
                font-size : 8pt;
159
                font-weight : bold;
160
                font-style : normal; 
161
                margin-left : 15pt;
162
                text-align : right}
163
p              {font-size : 10pt; 
164
                font-family : helvetica, arial, sans-serif;
165
                margin-left : 20pt;
166
                margin-right : 20pt;
167
                text-align : justify ;
168
                text-indent : 2em}
169
/* Listes */
170
ul             {font-size: 10pt;
171
                font-family: helvetica, arial, sans-serif;
172
                text-align: justify;
173
                margin-left: 20pt;
174
                margin-right: 20pt}
175
ol             {font-size: 10pt;
176
                font-family: helvetica, arial, sans-serif;
177
                text-align: justify;
178
                margin-left: 20pt;
179
                margin-right: 20pt}
180
dl             {font-size: 10pt; 
181
                font-family: helvetica, arial, sans-serif;
182
                margin-left: 20pt;
183
                margin-right: 20pt}
184
dl dt          {font-weight: bold}
185
dd             {font-size: 10pt; 
186
                font-family: helvetica, arial, sans-serif;
187
                text-align: justify;
188
                margin-left: 10pt}
189
/* Tableaux */
190
p.tableCaption {text-align : center ;
191
                font-size : 12pt ; 
192
                font-weight : bold ; 
193
                font-family : helvetica, arial, sans-serif;
194
                text-ident : 0pt }
195
table          {margin-left: 20pt;
196
                margin-right: 20pt}
197
/* Deux options pour les cellules titres : soit un ?l?ment en-t?te (avec
198
   ligne et cellules), soit des ?l?ments cellule en-t?te. */
199
thead tr td    {text-align: center;
200
                text-indent : 0pt;
201
                font-size: 10pt;
202
                font-family: helvetica, arial, sans-serif;
203
                font-weight: bold}
204
th             {text-align: center;
205
                text-indent : 0pt;
206
                font-size: 10pt;
207
                font-family: helvetica, arial, sans-serif;
208
                font-weight: bold}
209

    
210
td             {font-size : 10pt ; 
211
                font-family : helvetica, arial, sans-serif;
212
                vertical-align: top;
213
                padding-left : 1em;
214
                padding-right : 1em}
215
td.numeric     {font-size : 10pt ; 
216
                font-family : Courier New, Courier, monospace;
217
                font-weight : bold;
218
                vertical-align: top;
219
                text-align : right;
220
                padding-right : 2em}
221
td.middle      {font-size : 10pt ; 
222
                font-family : helvetica, arial, sans-serif;
223
                vertical-align: middle}
224
/* Pour ?viter les marges dans les cellules de tableau */
225
td p           {font-size : 10pt; 
226
                font-family : helvetica, arial, sans-serif;
227
                margin-left : 0pt;
228
                margin-right : 0pt;
229
                text-indent : 0}
230
/* Introduction ? une (x*sous) section */
231
p.heading      {font-size : 10pt; 
232
                font-family : helvetica, arial, sans-serif;
233
                font-weight : bold;
234
                margin-left : 20pt;
235
                margin-right : 20pt;
236
                text-align : justify;
237
                text-indent : 0pt}
238
/* Conclusion d'une (*sous-) section */
239
p.footer       {font-size : 10pt; 
240
                font-family : helvetica, arial, sans-serif;
241
                font-weight : bold;
242
                margin-left : 20pt;
243
                margin-right : 20pt;
244
                text-align : justify;
245
                text-indent : 0pt}
246
/* Illustration */
247
div.illustration {text-align : center;
248
                  margin : 15pt}
249
/* Rien de bien d?fini encore pour ces mod?les (id?e :
250
   images avec texte ? gauche ou ? droite) */
251
img.right {}
252
img.left  {}
253
p.illustrationCaption {font-family : Helvetica, arial, sans-serif ;
254
                font-size : 12pt; 
255
                font-weight : bold; 
256
                text-align : center;
257
                text-indent : 0pt }
258
/* Sommaire */
259
ul.summary     {font-family : Helvetica , Arial , sans-serif;
260
                font-size : 12pt}
261
/* Filets horizontaux */
262
hr             {}
263
hr.fiftypc     {margin-left: 25%;
264
                margin-right: 25%;}
265
hr.twentypc    {margin-left: 40%;
266
                margin-right: 40%;}
267
/* Notes */
268
/* L'appel de note est r?alis? par un ?l?ment <a> de classe callNote */
269
a.callNote     {}
270
/* Le retour de note est r?alis? par un ?l?ment </a><a> de classe retFromNote */
271
a.retFromNote  {}
272
/* Liste des notes proprement dite */
273
ol.notes       {margin-left: 0%;
274
                margin-right: 0%}
275
/* ?lements de navigation */
276
table.navTable {border : none ;
277
                width : 100%}
278
table.navTable td {width : 20% ;
279
                border : none ;
280
                text-align : center ;
281
                vertical-align : middle}
282
/* ?l?ments divers (? trier)*/
283
/* ?l?ments pour la table des mati?res */
284
div.abstract   {font-size : 12pt ;
285
                font-style : italic ;
286
                font-family : Helvetica, Arial , sans-serif ;
287
                margin-left : 50pt ;
288
                margin-right : 50pt ;
289
                margin-top : 15pt ;
290
                margin-bottom : 10pt ;
291
                border : solid ;
292
                padding : 5pt}
293
div.abstract p {margin-left : 0pt;
294
                margin-right : 0pt;
295
                text-indent : 0pt}
296
div.toc        {margin-left : 50pt}
297
ul.toc         {font-size : 14pt ; 
298
                font-family : Helvetica , Arial , sans-serif}
299
</a></abbr></style>
300
  <title>sageSLZ Notes</title>
301
</head>
302

    
303
<body>
304
<h1>sageSLZ Notes</h1>
305

    
306
<h2>The approximation interval problem</h2>
307

    
308
<p>When Sollya computes an approximation polynomial for a given function,
309
degree and range, it also returns the approximation error (and the center of
310
the interval as well).</p>
311

    
312
<p>Very often we want to solve a slightly different problem: for a given
313
function, degree, lower bound and approximation error, computed the
314
approximation polynomial and the upper bound of the interval comprised between
315
it and the upper bound for which the approximation error stands.</p>
316

    
317
<p>Very often the idea is to break a given &ldquo;large&rdquo; into a
318
collection of smaller intervals because for the given function-degree-error the
319
initial interval is too large.</p>
320

    
321
<p>The naive approach is to:</p>
322
<ol>
323
  <li>give it a try with the initial data;</li>
324
  <li>when you get a too large error, reduce (e. g. divide by 2) the interval by
325
    lowering the upper bound until the computed error matches the target
326
    error;</li>
327
  <li>this upper bound becomes the lower bound of the next interval, always
328
    using the orginal upper bound and repeat the process until you can cover
329
    the all initial interval with the computed sub-interval.</li>
330
</ol>
331

    
332
<p>In step 2 you may have to compute several polynomials until the computed
333
error is below or equal to the expected error. You must not decrease the
334
interval width too agressively.  There is no point in getting a too small approximation error since it multiplies the number of interval (and
335
lengthens the subsequent manipulations that are made on each sub-interval).</p>
336

    
337
<p>In step 3 you probably inutily compute polynomials for too large intervals
338
and you could know it from the previous computations.</p>
339

    
340
<p>The whole idea is to reduce the number of polynomial computations and get the
341
maximum width (compatible with the expected approwimaiton error).</p>
342

    
343
<p>This process has different aspects:</p>
344
<ol>
345
  <li>for a given interval (be it too small or too large) and the given
346
    (computed) error, compute the new best upper bound;</li>
347
  <li>reuse the computation already done in previous steps.</li>
348
</ol>
349

    
350
<p>For point 1, can something be done with the derivative at the upper bound or
351
at the center point of the interval (also given by Sollya).</p>
352

    
353
<p>For point 2, can some type of data structure keep the informations (which
354
ones ?) and allow for an efficient reuse.</p>
355

    
356
<p>Adjacent question: is it possible, given a the result of a previous
357
computation, to forecast the effect on the approximation precision of a degree
358
in(de)crease?</p>
359
</body>
360
</html>