{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " " -1 256 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE " " -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 266 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE " " -1 272 "" 1 12 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 273 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 274 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 275 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE " " -1 276 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 277 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 278 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 0 14 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE " " -1 280 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 281 "" 1 14 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 282 "" 0 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 283 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 284 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 285 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 286 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 287 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 288 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE " " -1 289 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 290 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 291 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 292 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE " " -1 293 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 294 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 295 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 296 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 297 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 298 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 299 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 300 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 301 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 302 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 303 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 304 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 305 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 306 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 307 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 308 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 309 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 310 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 311 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 312 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 313 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 314 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 315 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 316 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 317 "" 0 14 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 318 "" 0 14 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 319 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 320 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 321 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 322 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 323 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 324 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 325 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 326 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 327 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 328 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 329 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 330 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 331 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 332 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 333 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE " " -1 334 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 335 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 336 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 337 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE " " -1 338 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 339 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 340 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 341 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 342 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 343 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 344 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 345 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 346 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 347 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 348 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 349 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 350 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE " " -1 351 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 352 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 353 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 354 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE " " -1 355 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 356 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 357 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 358 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 359 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 360 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 361 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 362 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 363 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 364 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 365 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 366 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 367 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 368 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 369 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 370 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 371 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 372 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 373 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 374 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 375 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 376 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 377 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 378 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 379 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 380 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 381 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 382 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 } {CSTYLE "" -1 383 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 384 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 385 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 386 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 } {CSTYLE "" -1 387 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 388 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 389 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 390 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 391 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 392 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 393 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 394 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 } {CSTYLE "" -1 395 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 396 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 398 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 399 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 } {CSTYLE "" -1 400 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 401 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 402 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 403 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 404 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 405 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 406 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 407 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 408 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 409 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 410 "" 0 14 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 411 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 412 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 413 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 414 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 416 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 417 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE " " -1 418 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 419 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 420 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 421 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 422 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Co urier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Title" 0 18 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 1 0 0 0 0 0 0 }3 0 0 -1 12 12 0 0 0 0 0 0 19 0 }{PSTYLE "Author" 0 19 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 8 8 0 0 0 0 0 0 -1 0 }{PSTYLE " " 0 256 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 257 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 258 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 259 1 {CSTYLE "" -1 -1 "" 0 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 260 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 261 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 262 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 263 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 264 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 265 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 266 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 267 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 268 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 269 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 270 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 271 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 272 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 273 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 274 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 275 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 276 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 277 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 278 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 279 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 280 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 281 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 282 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 283 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 284 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 285 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 286 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 287 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 288 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 289 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 290 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 291 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 292 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 293 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 294 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 295 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 296 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 297 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 298 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 299 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 300 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 301 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 302 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 303 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 304 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 305 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 306 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 307 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 308 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 309 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 310 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 311 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 312 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 313 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 314 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 315 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 316 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 317 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 318 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 319 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 320 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 321 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 322 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 323 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 324 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 325 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 326 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 327 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 328 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 329 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 330 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 331 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 332 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 333 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 334 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 335 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 336 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 337 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 338 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 339 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 340 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 341 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 342 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 343 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 344 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 345 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 346 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 347 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 348 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 349 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 350 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 351 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 352 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 353 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 354 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 355 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 356 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 357 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 358 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 359 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 360 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 361 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 362 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 363 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 364 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 365 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 366 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 367 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 368 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 369 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 370 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 371 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 372 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 373 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 374 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 375 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 376 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 377 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 378 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 379 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 380 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 381 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 382 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 383 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 384 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 385 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 386 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 387 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 388 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 389 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 390 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 391 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 392 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 393 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 394 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 395 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 396 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 397 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 398 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 399 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 400 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 401 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 402 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 403 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 404 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 405 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 406 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 407 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 408 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 409 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 410 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 411 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 412 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 413 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 414 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 415 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 416 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 417 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 418 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 419 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 420 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 421 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 422 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 423 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 424 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 425 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 426 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 427 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 428 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 429 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 430 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 431 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 432 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 433 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 434 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 435 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 436 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 437 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 438 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 439 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 440 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 441 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 442 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 443 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 444 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 445 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 446 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 447 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 448 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 449 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 450 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 451 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 452 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 453 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 454 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 455 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 456 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 457 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 458 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 459 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 460 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 461 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 462 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 463 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 464 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 465 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 466 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 467 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 468 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 469 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 470 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 471 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 472 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 473 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 474 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 475 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 476 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 477 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 478 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 479 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 480 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 481 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 0 "" }{TEXT 295 41 "Direction al Newton Methods in n Variables" }}{PARA 19 "" 0 "" {TEXT 339 85 "Map le Programs for a Lecture at a Workshop on Parallel Computation, Haifa , March 2000" }{TEXT -1 0 "" }}{PARA 19 "" 0 "" {TEXT -1 0 "" }{TEXT 296 14 "Adi Ben-Israel" }}{PARA 19 "" 0 "" {TEXT 297 45 "Joint work wi th Yuri Levin and Mikhail Nediak" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 340 88 "Notes: 1. These programs run on Maple V Release 5, some may not ru n on previous releases" }}{PARA 0 "" 0 "" {TEXT -1 12 " " } {TEXT 341 110 " 2. Most input lines begin with # (and give no output). To run these lines, delete the # and hit the ENTER key" }}{PARA 0 "" 0 "" {TEXT -1 13 " " }{TEXT 405 38 "3. Some programs occur in pairs, e.g. " }{TEXT 403 7 "newtons" }{TEXT 406 30 " (showing all \+ iterations) and " }{TEXT 404 7 "newton " }{TEXT 407 21 "(just last ite ration)" }{TEXT -1 7 " " }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 4 " 0 " }{TEXT 298 15 "Getting started" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "restart:with(linalg):with(plots):" }}{PARA 7 "" 1 "" {TEXT -1 32 "Warning, new definition for norm" }}{PARA 7 "" 1 "" {TEXT -1 33 "Warning, new definition for trace" }}}{EXCHG {PARA 481 " " 0 "" {TEXT 374 3 "eps" }{TEXT -1 32 " is the tolerance used below in " }{TEXT 375 14 "stopping rules" }{TEXT -1 19 " and comutation of " } {TEXT 376 21 "Moore-Penrose inverse" }}{PARA 0 "" 0 "" {TEXT -1 46 "Yo u can reset this global variable as you wish" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "eps:=10.^(-12);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$epsG$\"+++++5!#@" }}}{EXCHG {PARA 258 "" 0 "" {TEXT -1 0 "" } {TEXT 263 24 "Iterations(f, x, x0, n) " }{TEXT -1 45 " computes n iter ates of x := f(x) starting at" }{TEXT 265 5 " x0, " }{TEXT -1 5 "using " }{TEXT 342 5 " eps " }{TEXT -1 16 "in stopping rule" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 273 "Iterations:=proc(f,x,x0,n)\nlocal \+ temp; global iter,k;\ntemp:=x0;iter:=evalf(subs(x=temp,f));\nlprint('I terate',0,temp);\nfor k from 1 to n do\niter:=evalf(subs(x=temp,f)):\n lprint('Iterate',k,iter);\nif abs(temp-iter) " 0 "" {MPLTEXT 1 0 26 "#Iterations(x^2,x,0.8,10);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "#iter;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#k;" }}}{EXCHG {PARA 260 "" 0 "" {TEXT -1 52 "Iteration(f, x, x0, n) \+ prints just the last iterate" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 253 "Iteration:=proc(f,x,x0,n)\nlocal temp; global iter,k;\ntemp:=x0 ;iter:=evalf(subs(x=temp,f));\nlprint('Iterate',0,temp);\nfor k from 1 to n do\niter:=evalf(subs(x=temp,f)):\nif abs(temp-iter) " 0 "" {MPLTEXT 1 0 40 "#Digits:=12:Iteration(cos(x) ,x,1.0,100);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "#iter;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "#k;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "#Iterations(cos(x),x,1.0,100);" }}}}{SECT 1 {PARA 262 "" 0 "" {TEXT -1 2 " " }{TEXT 328 1 "1" }{TEXT -1 1 " " } {TEXT 299 24 "The scalar Newton method" }}{EXCHG {PARA 263 "> " 0 "" {MPLTEXT 1 0 15 "newt:=proc(f,x)" }}{PARA 264 "> " 0 "" {MPLTEXT 1 0 14 "x-f/diff(f,x);" }}{PARA 265 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}} {EXCHG {PARA 266 "" 0 "" {TEXT -1 7 "Example" }}}{EXCHG {PARA 267 "> \+ " 0 "" {MPLTEXT 1 0 15 "newt(tan(x),x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&%\"xG\"\"\"*&-%$tanG6#F$\"\"\",&F%F%*$)F'\"\"#F*F%!\"\"!\"\"" }}}{EXCHG {PARA 268 "" 0 "" {TEXT 270 36 "newtons(f,x,x0,n), newton(f, x,x0,n) " }{TEXT -1 9 "give all " }{TEXT 274 1 "n" }{TEXT -1 34 " (jus t last) Newton iterations for" }{TEXT 271 5 " f(x)" }{TEXT -1 14 ", st arting at " }{TEXT 272 2 "x0" }}}{EXCHG {PARA 269 "> " 0 "" {MPLTEXT 1 0 105 "newtons:=proc(f,x,x0,n)\nprint(f);\nIterations(newt(f,x),x,x0 ,n);\nlprint(ERROR,evalf(subs(x=iter,f))):\nend:" }}}{EXCHG {PARA 270 "> " 0 "" {MPLTEXT 1 0 103 "newton:=proc(f,x,x0,n)\nprint(f);\nIterati on(newt(f,x),x,x0,n);\nlprint(ERROR,evalf(subs(x=iter,f))):\nend:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 74 "Newton has quadratic convergence: \+ see the doubling of correct digits below" }}}{EXCHG {PARA 271 "> " 0 " " {MPLTEXT 1 0 34 "Digits:=70:newtons(x^2-9,x,1.,10);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*$)%\"xG\"\"#\"\"\"\"\"\"!\"*F)" }}{PARA 6 "" 1 "" {TEXT -1 16 "Iterate 0 1." }}{PARA 6 "" 1 "" {TEXT -1 85 "Itera te 1 5.00000000000000000000000000000000000000000000000000000000000 0000000000" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 2 3.40000000000 0000000000000000000000000000000000000000000000000000000000" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 3 3.023529411764705882352941176470588 235294117647058823529411764705882353" }}{PARA 6 "" 1 "" {TEXT -1 85 "I terate 4 3.0000915541313801785305561913481345845731288624399176012 81757839322499" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 5 3.0000000 01396983862248478425258881977121085388846948134910070368766335" }} {PARA 6 "" 1 "" {TEXT -1 85 "Iterate 6 3.0000000000000000003252606 51745651330219868255523316826048221278205013" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 7 3.00000000000000000000000000000000000001763241526 2334312619531048058334" }}{PARA 6 "" 1 "" {TEXT -1 46 "ERROR .105794 491574005875717186288350004e-36" }}}{EXCHG {PARA 272 "" 0 "" {TEXT -1 9 "Proof of " }{TEXT 273 21 "quadratic convergence" }{TEXT -1 11 " (se e also " }{TEXT 267 15 "Gander & Gruntz" }{TEXT -1 22 ", SIAM Review, \+ Sep 99)" }}}{EXCHG {PARA 273 "> " 0 "" {MPLTEXT 1 0 21 "N:=x->x-f(x)/D (f)(x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"NGR6#%\"xG6\"6$%)operat orG%&arrowGF(,&9$\"\"\"*&-%\"fG6#F-\"\"\"--%\"DG6#F1F2!\"\"!\"\"F(F(F( " }}}{EXCHG {PARA 274 "> " 0 "" {MPLTEXT 1 0 21 "subs(f(z)=0,D(N)(z)); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 275 "> " 0 "" {MPLTEXT 1 0 24 "subs(f(z)=0,D(D(N))(z));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&---%#@@G6$%\"DG\"\"#6#%\"fG6#%\"zG\"\"\"--F)F+F-!\"\" " }}}{EXCHG {PARA 276 "> " 0 "" {MPLTEXT 1 0 35 "f(z):=0:e1:=taylor(N( z+e0)-z,e0,3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e1G+'%#e0G,$*&--- %#@@G6$%\"DG\"\"#6#%\"fG6#%\"zG\"\"\"--F.F0F2!\"\"#\"\"\"F/\"\"#-%\"OG 6#F9\"\"$" }}}{EXCHG {PARA 277 "" 0 "" {TEXT 275 12 "Bad examples" } {TEXT -1 11 " for Newton" }}}{EXCHG {PARA 278 "> " 0 "" {MPLTEXT 1 0 40 "#Digits:=12:x:='x':newtons(x^2,x,1.0,5);" }}}{EXCHG {PARA 279 "> \+ " 0 "" {MPLTEXT 1 0 24 "#newtons(x^(1/3),x,1,5);" }}}{EXCHG {PARA 280 "> " 0 "" {MPLTEXT 1 0 29 "#newtons(exp(1-x)-1,x,10.,5);" }}}{EXCHG {PARA 281 "> " 0 "" {MPLTEXT 1 0 26 "#plot(exp(1-x)-1,x=-1..5);" }}} {EXCHG {PARA 282 "> " 0 "" {MPLTEXT 1 0 27 "#newtons(x*exp(-x),x,2.,8) ;" }}}{EXCHG {PARA 283 "> " 0 "" {MPLTEXT 1 0 27 "#plot(x*exp(-x),x=-0 .5..6);" }}}{EXCHG {PARA 284 "> " 0 "" {MPLTEXT 1 0 25 "#newtons(z^4-1 ,z,1-I,10);" }}}}{SECT 1 {PARA 285 "" 0 "" {TEXT -1 1 " " }{TEXT 284 1 " " }{TEXT 329 1 "2" }{TEXT 343 26 " The scalar Halley method" }} {EXCHG {PARA 286 "> " 0 "" {MPLTEXT 1 0 66 "hal:=proc(f,x)\nx-f/(diff( f,x)-(diff(f,x$2)*f)/(2*diff(f,x)));\nend:" }}}{EXCHG {PARA 287 "> " 0 "" {MPLTEXT 1 0 28 "f:='f':x:='x':hal(tan(x),x);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#,&%\"xG\"\"\"-%$tanG6#F$!\"\"" }}}{EXCHG {PARA 288 "> " 0 "" {MPLTEXT 1 0 104 "halleys:=proc(f,x,x0,n)\nprint(f);\nIteratio ns(hal(f,x),x,x0,n);\nlprint(ERROR,evalf(subs(x=iter,f))):\nend:" }}} {EXCHG {PARA 289 "> " 0 "" {MPLTEXT 1 0 102 "halley:=proc(f,x,x0,n)\np rint(f);\nIteration(hal(f,x),x,x0,n);\nlprint(ERROR,evalf(subs(x=iter, f))):\nend:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 28 "Halley has cubic c onvergence" }}}{EXCHG {PARA 290 "> " 0 "" {MPLTEXT 1 0 35 "Digits:=70: halleys(x^2-9,x,1.0,10);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*$)%\"xG \"\"#\"\"\"\"\"\"!\"*F)" }}{PARA 6 "" 1 "" {TEXT -1 17 "Iterate 0 \+ 1.0" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 1 2.333333333333333333 333333333333333333333333333333333333333333333333333" }}{PARA 6 "" 1 " " {TEXT -1 85 "Iterate 2 2.988304093567251461988304093567251461988 304093567251461988304093567251" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 3 2.9999999552965167515239361560051429569338041772409962323233765 93564625" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 4 2.9999999999999 99999999997518458162340916975385774950131760114705691785" }}{PARA 6 " " 1 "" {TEXT -1 85 "Iterate 5 3.0000000000000000000000000000000000 00000000000000000000000000000000000" }}{PARA 6 "" 1 "" {TEXT -1 9 "ERR OR 0" }}}{EXCHG {PARA 291 "> " 0 "" {MPLTEXT 1 0 40 "#Digits:=12:x:= 'x':halleys(x^2,x,1.0,5);" }}}{EXCHG {PARA 292 "> " 0 "" {MPLTEXT 1 0 24 "#halleys(x^(1/3),x,1,5);" }}}{EXCHG {PARA 293 "> " 0 "" {MPLTEXT 1 0 29 "#halleys(exp(1-x)-1,x,10.,7);" }}}{EXCHG {PARA 294 "> " 0 "" {MPLTEXT 1 0 27 "#halleys(x*exp(-x),x,2.,8);" }}}{EXCHG {PARA 295 "" 0 "" {TEXT -1 26 "Proof of cubic convergence" }}}{EXCHG {PARA 296 "> \+ " 0 "" {MPLTEXT 1 0 60 "f:='f':H:=x->x-f(x)/(D(f)(x)-(D(D(f))(x)*f(x)) /(2*D(f)(x)));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"HGR6#%\"xG6\"6$% )operatorG%&arrowGF(,&9$\"\"\"*&-%\"fG6#F-\"\"\",&--%\"DG6#F1F2F.*&*&- -F76#F6F2F.F0F.F3F5!\"\"#!\"\"\"\"#F>F@F(F(F(" }}}{EXCHG {PARA 297 "> \+ " 0 "" {MPLTEXT 1 0 21 "subs(f(z)=0,D(H)(z));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 298 "> " 0 "" {MPLTEXT 1 0 24 "s ubs(f(z)=0,D(D(H))(z));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}} {EXCHG {PARA 299 "> " 0 "" {MPLTEXT 1 0 27 "subs(f(z)=0,D(D(D(H)))(z)) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*&---%#@@G6$%\"DG\"\"$6#%\"fG6# %\"zG\"\"\"--F*F,F.!\"\"!\"\"*&*$)---F(6$F*\"\"#F,F.F " 0 "" {MPLTEXT 1 0 35 "f(z):=0:e1:=ta ylor(H(z+e0)-z,e0,4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e1G+'%#e0G ,$*&,&---%#@@G6$%\"DG\"\"$6#%\"fG6#%\"zG#!\"\"F0*&,&*$)---F-6$F/\"\"#F 1F3F?\"\"\"#F6F?*&F*\"\"\"--F/F1F3FCFCF@FD!\"\"#FCF?F@FDFFF6\"\"$-%\"O G6#FC\"\"%" }}}}{SECT 1 {PARA 301 "" 0 "" {TEXT -1 1 " " }{TEXT 285 1 " " }{TEXT 330 2 "3 " }{TEXT 344 31 " The scalar quasi-Halley method" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 56 "A. Ben-Israel, Newton's Method w ith Modified Functions,\n" }{TEXT 377 18 "Contemporary Math." }{TEXT -1 1 " " }{TEXT 359 3 "204" }{TEXT -1 15 " (1997), 39--50" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 120 "The idea is to approximate second deriva tive by a difference of first derivatives. This requires an extra poin t (called " }{TEXT 378 5 "init " }{TEXT -1 23 "below) at the beginning " }}}{EXCHG {PARA 302 "" 0 "" {TEXT 301 31 "quasiHalleyNext(f, x, x0, \+ init)" }{TEXT -1 1 " " }{TEXT 379 42 "computes the next Quasi-Halley i terate for" }{TEXT -1 5 " f(x)" }{TEXT 380 4 " at " }{TEXT -1 3 "x0 " }{TEXT 381 14 "and last point" }{TEXT -1 5 " init" }}}{EXCHG {PARA 303 "> " 0 "" {MPLTEXT 1 0 221 "quasiHalleyNext:=proc(f,x,x0,init)\nlo cal val,d1,d2,dinit;\nval:=eval(subs(x=x0,f)):\nd1:=eval(subs(x=x0,dif f(f,x))):\ndinit:=eval(subs(x=init,diff(f,x))):\nd2:=eval((d1-dinit)/( x0-init)):\neval(x0-val/(d1-d2*val/(2*d1)));\nend:" }}}{EXCHG {PARA 304 "" 0 "" {TEXT 302 31 "quasiHalleys(f, x, x0, init, N)" }{TEXT -1 1 " " }{TEXT 382 5 "gives" }{TEXT -1 3 " N " }{TEXT 383 41 "iterations of the Quasi-Halley method for" }{TEXT -1 6 " f(x) " }{TEXT 384 3 "at " }{TEXT -1 3 "x0 " }{TEXT 385 15 "and extra point" }{TEXT -1 5 " ini t" }}}{EXCHG {PARA 305 "> " 0 "" {MPLTEXT 1 0 380 "quasiHalleys:=proc( f,x,x0,init,N)\nlocal temp,valf,sol;global k;\nsol:=array(-1..N):sol[- 1]:=init:sol[0]:=x0:\nvalf:=eval(subs(x=x0,f)):\nprint(f);\nlprint(Ite rate,0,sol[0]):\nfor k from 1 to N do\ntemp:=quasiHalleyNext(f,x,sol[k -1],sol[k-2]);sol[k]:=temp;\nif abs(temp-sol[k-1]) " 0 "" {MPLTEXT 1 0 379 "quasiHalley:=proc(f,x,x0,init,N)\nlocal temp,valf,so l;global k;\nsol:=array(-1..N):sol[-1]:=init:sol[0]:=x0:\nvalf:=eval(s ubs(x=x0,f)):\nprint(f);\nlprint(Iterate,0,sol[0]):\nfor k from 1 to N do\ntemp:=quasiHalleyNext(f,x,sol[k-1],sol[k-2]);\nif abs(temp-sol[k- 1]) \+ " 0 "" {MPLTEXT 1 0 49 "Digits:=70:x:='x':quasiHalleys(x^2-9,x,1.,1.2, 5);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*$)%\"xG\"\"#\"\"\"\"\"\"!\"* F)" }}{PARA 6 "" 1 "" {TEXT -1 16 "Iterate 0 1." }}{PARA 6 "" 1 " " {TEXT -1 85 "Iterate 1 2.333333333333333333333333333333333333333 333333333333333333333333333333" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 2 2.9883040935672514619883040935672514619883040935672514619883040 93567251" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 3 2.9999999552965 16751523936156005142956933804177240996232323376593564625" }}{PARA 6 " " 1 "" {TEXT -1 85 "Iterate 4 2.9999999999999999999999975184581623 40916975385774950131760114705691785" }}{PARA 6 "" 1 "" {TEXT -1 61 "ER ROR -.14889251025954498147685344141159547259347080582e-22" }}} {EXCHG {PARA 309 "> " 0 "" {MPLTEXT 1 0 22 "halleys(x^2-9,x,1.,5);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#,&*$)%\"xG\"\"#\"\"\"\"\"\"!\"*F)" }} {PARA 6 "" 1 "" {TEXT -1 16 "Iterate 0 1." }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 1 2.33333333333333333333333333333333333333333 3333333333333333333333333333" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate \+ 2 2.988304093567251461988304093567251461988304093567251461988304093 567251" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 3 2.999999955296516 751523936156005142956933804177240996232323376593564625" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iterate 4 2.999999999999999999999997518458162340 916975385774950131760114705691785" }}{PARA 6 "" 1 "" {TEXT -1 85 "Iter ate 5 3.0000000000000000000000000000000000000000000000000000000000 00000000000" }}{PARA 6 "" 1 "" {TEXT -1 9 "ERROR 0" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 391 4 "NOTE" }{TEXT -1 90 ": my program counts one mo re iteration for Halley than for quasiHalley - see the program " } {TEXT 392 5 "Derby" }{TEXT -1 21 " below for adjustment" }}}{EXCHG {PARA 310 "" 0 "" {TEXT 353 38 "The above two results are no incident: " }{TEXT -1 60 " If f is quadratic then Halley and QuasiHalley are the same " }{TEXT 354 54 "(independently of the extra point used by Quasi Halley)" }}}{EXCHG {PARA 311 "> " 0 "" {MPLTEXT 1 0 19 "hal(a+b*x+c*x^ 2,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&%\"xG\"\"\"*&,(%\"aGF%*&%\" bGF%F$F%F%*&%\"cGF%)F$\"\"#\"\"\"F%F/,(F*F%*&F,F/F$F/F.*&*&F,F/F'F%F/, &F*F%F1F.!\"\"!\"\"F5F6" }}}{EXCHG {PARA 312 "> " 0 "" {MPLTEXT 1 0 38 "quasiHalleyNext(a+b*x+c*x^2,x,x,init);" }{TEXT -1 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&%\"xG\"\"\"*&,(%\"aGF%*&%\"bGF%F$F%F%*&%\"cGF %)F$\"\"#\"\"\"F%F/,(F*F%*&F,F/F$F/F.*&*&,&F1F.*&F,F/%%initGF%!\"#F%F' F%F/*&,&F$F%F6!\"\"\"\"\",&F*F%F1F.\"\"\"!\"\"#F:F.F>F:" }}}{PARA 313 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 314 "> " 0 "" {MPLTEXT 1 0 62 "f: =a+b*x+c*x^2:simplify(hal(f,x)-quasiHalleyNext(f,x,x,init));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 315 "" 0 "" {TEXT 276 18 "Random polynomials" }{TEXT -1 13 " and random " }{TEXT 277 2 "x0" }{TEXT -1 2 ", " }{TEXT 278 4 "init" }{TEXT -1 7 " in C^2" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "Digits:=9;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'DigitsG\"\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "c:=evalf(rand()/10^12):f:=c+randpoly(z,degree=20);c:= 'c';" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,.$\"*(>uUX!\"(\"\"\"*$) %\"zG\"#=\"\"\"\"#c*$)F,\"#;F.\"#\\*$)F,\"#:F.\"#j*$)F,\"\"$F.\"#d*$)F ,\"\"#F.!#f" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"cGF$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "x0:=evalf((rand()+I*rand())/10^12); init:=evalf((rand()+I*rand())/10^12);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#x0G,&$\"*Ufp\"R!#5\"\"\"%\"IG$\"*%%initG,&$\"*M))\\g*!\"*\"\"\"%\"IG$\"*e/#H\")F(" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "halleys(f,z,x0,10);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#,.$\"*(>uUX!\"(\"\"\"*$)%\"zG\"#=\"\" \"\"#c*$)F*\"#;F,\"#\\*$)F*\"#:F,\"#j*$)F*\"\"$F,\"#d*$)F*\"\"#F,!#f" }}{PARA 6 "" 1 "" {TEXT -1 43 "Iterate 0 .391695942e-1+.884305717e -1*I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 1 .101287948+.2849709 57*I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 2 .264578395+.9825724 22*I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 3 .153926012+1.134701 26*I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 4 .154808200+1.063822 71*I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 5 .150437086+1.056461 16*I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 6 .150425514+1.056467 76*I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 7 .150425514+1.056467 76*I" }}{PARA 6 "" 1 "" {TEXT -1 13 "ERROR .6e-6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "quasiHalleys(f,z,x0,init,10);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#,.$\"*(>uUX!\"(\"\"\"*$)%\"zG\"#=\"\"\"\"#c*$)F* \"#;F,\"#\\*$)F*\"#:F,\"#j*$)F*\"\"$F,\"#d*$)F*\"\"#F,!#f" }}{PARA 6 " " 1 "" {TEXT -1 43 "Iterate 0 .391695942e-1+.884305717e-1*I" }} {PARA 6 "" 1 "" {TEXT -1 43 "Iterate 1 .395860892e-1+.884236491e-1 *I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 2 .102626578+.284992567 *I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 3 .526004903+.884282872 *I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 4 .497198772+.791043068 *I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 5 .563979283+.774906950 *I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 6 .581191244+.752444449 *I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 7 .583431877+.752161916 *I" }}{PARA 6 "" 1 "" {TEXT -1 37 "Iterate 8 .583438636+.752164868 *I" }}{PARA 6 "" 1 "" {TEXT -1 22 "ERROR -.2e-6+.3e-6*I" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 355 20 "Derby(deg, iter, N) " }{TEXT -1 10 "gene rates " }{TEXT 357 2 "N " }{TEXT -1 29 "random polynomials of degree \+ " }{TEXT 358 4 "deg " }{TEXT -1 26 "(at most), and solves each" }} {PARA 0 "" 0 "" {TEXT -1 55 "using Newton, Halley and QuasiHalley, all owing at most " }{TEXT 356 4 "iter" }{TEXT -1 52 " iterations, giving \+ the average number of iterations" }}{PARA 0 "" 0 "" {TEXT -1 80 "Halle y and QuasiHalley are very close (?!), although Halley uses 2nd deriv ative" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 668 "Derby:=proc(deg,i ter,N)\nlocal j,c,f,x0,init,ncount,hcount,qcount;\nncount:=0;hcount:=0 ;qcount:=0;\nfor j from 1 to N do\nc:=evalf(rand()/10^12):f:=c+randpol y(z,degree=deg);\nx0:=evalf((rand()+I*rand())/10^12);init:=evalf((rand ()+I*rand())/10^12);\nlprint(NEWTON):newtons(f,z,x0,iter):ncount:=ncou nt+k;print(ncount);\nlprint(HALLEY):halleys(f,z,x0,iter):hcount:=hcoun t+k;print(hcount);\nlprint(QUASI-HALLEY):quasiHalleys(f,z,x0,init,iter ):\nqcount:=qcount+k-1;print(qcount);#See above NOTE why k-1 and not k \nc:='c';od:\nlprint(Average_no_iterations);\nlprint(NEWTON);print(eva lf(ncount/N));\nlprint(HALLEY);print(evalf(hcount/N));\nlprint(QUASI_H ALLEY);print(evalf(qcount/N));\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "#Derby(100,20,10);" }}}{EXCHG {PARA 259 "" 0 "" {TEXT -1 60 "Order of convergence of the Quasi-Halley method ? 1+sqrt( 2) " }{TEXT 388 34 "(proved) but in practice more like" }{TEXT -1 2 " \+ 3" }}}{EXCHG {PARA 316 "> " 0 "" {MPLTEXT 1 0 38 "f:='f':u:='u':v:='v' :readlib(mtaylor):" }}}{EXCHG {PARA 317 "> " 0 "" {MPLTEXT 1 0 69 "QH: =(u,v)->u-f(u)/(D(f)(u)-(D(f)(u)-D(f)(v))*f(u)/(2*(u-v)*D(f)(u)));" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#QHGR6$%\"uG%\"vG6\"6$%)operatorG%&a rrowGF),&9$\"\"\"*&-%\"fG6#F.\"\"\",&--%\"DG6#F2F3F/*&*&,&F6F/-F76#9%! \"\"F/F1F/F4*&,&F.F/F?F@\"\"\"F6\"\"\"!\"\"#F@\"\"#FEF@F)F)F)" }}} {EXCHG {PARA 318 "> " 0 "" {MPLTEXT 1 0 65 "e1:='e1':e0:='e0':f(z):=0: e2:=mtaylor(QH(z+e1,z+e0)-z,[e0,e1],4);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#e2G,&*&,&*&---%#@@G6$%\"DG\"\"#6#%\"fG6#%\"zG\"\"\")%#e1GF/\" \"\"#F4F/*&F6F7,&*&F)F7F6F4F4*&*&,&*&F)F7%#e0GF4!\"\"F;F4F4F6F7F7,&F6F 4F@FA!\"\"#FAF/F4FAF7--F.F0F2FCFA*&,&*&---F,6$F.\"\"$F0F2F4)F6FNF7#F4 \"\"'*&F6F7,&*&FJF7F5F7F8*&,&*&,&*(F>F7F)F7F5F7F8*(,&*&FJF7)F@F/F7FDFT F8F4FEF4F6F7F4F7FBFCF4*&)F)F/F7F5F7FAF7FEFCFDF4FAF7FEFCFA" }}}{EXCHG {PARA 319 "> " 0 "" {MPLTEXT 1 0 12 "simplify(%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$*&*&,(*(--%\"DG6#%\"fG6#%\"zG\"\"\"---%#@@G6$F*\"\"$F +F-F/%#e0GF/F5*(F0\"\"\"%#e1GF/F(F8!\"\"*&)---F36$F*\"\"#F+F-FAF8F9F8! \"$F/)F9FAF8F8*$)F(\"\"#F8!\"\"#F:\"#7" }}}{EXCHG {PARA 320 "> " 0 "" {MPLTEXT 1 0 25 "collect(%,D(D(D(f)))(z));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*&*(,&*&--%\"DG6#%\"fG6#%\"zG\"\"\"%#e0GF/\"\"$*&%#e1 GF/F(\"\"\"!\"\"F/)F3\"\"#F4---%#@@G6$F*F1F+F-F/F4*$)F(\"\"#F4!\"\"#F5 \"#7*&*&)---F;6$F*F7F+F-F7F4)F3F1F4F4*$)F(\"\"#F4F@#F/\"\"%" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "Theorem" }{TEXT 283 1 ":" }{TEXT -1 1 " " }{TEXT 316 54 "The Quasi-Halley method has order 3 if f ''' ( z) = 0 " }}{PARA 0 "" 0 "" {TEXT -1 23 "(To be expected: Halley" } {TEXT 262 1 " " }{TEXT -1 3 "and" }{TEXT 257 1 " " }{TEXT -1 12 "Quasi -Halley" }{TEXT 292 1 " " }{TEXT -1 3 "are" }{TEXT 258 1 " " }{TEXT -1 23 "identical for quadratic" }{TEXT 291 1 " " }{TEXT -1 5 "f(x))" } }}}{SECT 1 {PARA 321 "" 0 "" {TEXT -1 1 " " }{TEXT 286 1 " " }{TEXT 331 1 "4" }{TEXT 345 34 " Minimization of convex functions" }}{EXCHG {PARA 322 "" 0 "" {TEXT 280 16 "Min(f,x,x0,L,N) " }{TEXT 319 1 "d" } {TEXT 317 65 "oes N iterations of bracketing the minimum of a convex f unction f" }{TEXT 281 1 "\n" }{TEXT 318 51 "starting at x0. The lower \+ bound L is assumed known." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "A:='A':" }}}{EXCHG {PARA 323 "> " 0 "" {MPLTEXT 1 0 1146 "Min:=proc(f ,x,x0,L,N)\nlocal k,val,sol,UB,M,LB,Delta,rat,ratprod,it,A,B,C,D;\nsol :=array(0..N):sol[0]:=x0:ratprod:=1:it:=0;\nval:=array(0..N):UB:=eval( subs(x=sol[0],f)):val[0]:=UB:\nDelta:=array(0..N):LB:=L:Delta[0]:=UB-L B;\nprint(f);\nA:=plot(f,x=x0-2..x0+2):B:=plot(UB,x=x0-2..x0+2):\nC:=p lot(LB,x=x0-2..x0+2):D:=plot([x0,t,t=LB..UB]):\nA:=(A,B,C,D):\nlprint( Iterate,0,sol[0]);\nlprint(Bounds,[LB,UB],Width,Delta[0]):\nfor k from 1 to N do\nlprint(\"================================================= ================\");\nit:=it+1;M:=0.3*LB+0.7*UB;#golden section\nsol[k ]:=eval(subs(x=sol[k-1],newt(f-M,x)));\nval[k]:=eval(subs(x=sol[k],f)) :\nif val[k] " 0 "" {MPLTEXT 1 0 32 "#f(x):=max(x^2,abs(x),abs(x-1));" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "#plot(f(x),x=-2..2,y=0..4, scaling=CONSTRAINED);" }}}{EXCHG {PARA 325 "> " 0 "" {MPLTEXT 1 0 38 " #x:='x':Min(f(x),x,2.,-10.,10);f:='f';" }}}}{SECT 1 {PARA 326 "" 0 "" {TEXT -1 1 " " }{TEXT 287 2 " 5" }{TEXT 346 25 " Newton method for n \+ equ" }{TEXT -1 0 "" }{TEXT 300 21 "ations in n variables" }}{EXCHG {PARA 327 "" 0 "" {TEXT -1 52 "NewtonNext(f, x, x0) does one Newton i teration for " }{TEXT 268 4 "f(x)" }{TEXT -1 4 " at " }{TEXT 269 2 "x0 " }}}{EXCHG {PARA 328 "> " 0 "" {MPLTEXT 1 0 140 "NewtonNext:=proc(f,x ,x0)\nlocal val,invjac;\nval:=eval(subs(x=x0,f)):\ninvjac:=inverse(eva l(jacobian(f,x),x=x0));\nevalm(x0-invjac &* val);\nend:" }}}{EXCHG {PARA 329 "" 0 "" {TEXT -1 8 "Example:" }}}{EXCHG {PARA 330 "> " 0 "" {MPLTEXT 1 0 65 "x:=array(1..2):NewtonNext([x[1]^2-x[2],x[2]^2-x[1]],x ,[1.2,1.1]);" }{TEXT -1 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vect orG6#7$$\"*?(*G-\"!\")$\"*F`\\,\"F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "#vector([1.02289720, 1.01495327]);" }}}{EXCHG {PARA 331 "" 0 "" {TEXT -1 55 "Newtons(f, x, x0, N) does N such iterations, \+ prints all" }}}{EXCHG {PARA 332 "> " 0 "" {MPLTEXT 1 0 358 "Newtons:=p roc(f,x,x0,N)\nlocal k,sol,valf;\nsol:=array(0..N):sol[0]:=x0:\nvalf:= eval(subs(x=x0,f)):\nprint(f);\nlprint(Iterate,0):print(sol[0]):lprint (Function):print(valf):\nlprint(N,iterations):\nfor k from 1 to N do\n sol[k]:=NewtonNext(f,x,sol[k-1]):\nvalf:=eval(subs(x=sol[k],f)):\nprin t(sol[k]):od:\nlprint(Iterate,N):print(sol[N]):\nlprint(ERROR):print(v alf):\nend:" }}}{EXCHG {PARA 333 "" 0 "" {TEXT -1 57 "Newton(f, x, x0, N) does N Newton iterations, prints last" }}}{EXCHG {PARA 334 "> " 0 "" {MPLTEXT 1 0 331 "Newton:=proc(f,x,x0,N)\nlocal k,sol,valf;\nsol:=a rray(0..N):sol[0]:=x0:\nvalf:=eval(subs(x=x0,f)):\nprint(f);\nlprint(I terate,0):print(sol[0]):lprint(Function):print(valf):\nfor k from 1 to N do\nsol[k]:=NewtonNext(f,x,sol[k-1]):\nvalf:=eval(subs(x=sol[k],f)) :od:\nlprint(Iterate,k-1):print(evalf(sol[k-1])):\nlprint(ERROR):print (valf):\nend:" }}}{EXCHG {PARA 335 "" 0 "" {TEXT -1 9 "Examples:" }}} {EXCHG {PARA 336 "> " 0 "" {MPLTEXT 1 0 76 "#Digits:=50:x:=array(1..2) :Newtons([x[1]^2-x[2],x[2]^2-x[1]],x,[1.2,1.1],5);" }}}{EXCHG {PARA 337 "> " 0 "" {MPLTEXT 1 0 65 "#Digits:=12:Newton([exp(1-x[1]-x[2])-1, x[1]^2-x[2]],x,[1.,1.],5);" }}}{EXCHG {PARA 338 "" 0 "" {TEXT -1 34 "T he solution is the golden section" }}}{EXCHG {PARA 339 "> " 0 "" {MPLTEXT 1 0 58 "#golden:=evalf((sqrt(5)-1)/2):vector(2,[golden,1-gold en]);" }}}{EXCHG {PARA 340 "> " 0 "" {MPLTEXT 1 0 16 "#x:=array(1..3); " }}}{EXCHG {PARA 341 "> " 0 "" {MPLTEXT 1 0 77 "#Newtons([exp(1-x[1]- x[2]-x[3])-1,x[1]^2-x[2],x[1]^3-x[3]],x,[1.,1.,1.2],20);" }}}{EXCHG {PARA 342 "" 0 "" {TEXT -1 36 "Example : Froberg, p. 186, Example 1" } }}{EXCHG {PARA 343 "> " 0 "" {MPLTEXT 1 0 27 "#x:=array(1..3):Digits:= 12:" }}}{EXCHG {PARA 344 "> " 0 "" {MPLTEXT 1 0 109 "#Newtons([x[1]^2- x[1]+x[2]^3+x[3]^5,x[1]^3+x[2]^5-x[2]+x[3]^7,x[1]^5+x[2]^7+x[3]^11-x[3 ]],x,[0.8,0.5,0.6],5);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 85 "Newton \+ goes crazy for a starting point [0.4,0.3,0.2] \"between\" the roots [0 ,0,0] and " }{XPPEDIT 18 0 "vector([.791667570574, .544346130628, .325 133317232]);" "6#-%'vectorG6#7%$\"-u0dn;z!#7$\"-G18YVaF)$\"-KsJL^KF)" }}}{EXCHG {PARA 345 "> " 0 "" {MPLTEXT 1 0 109 "#Newtons([x[1]^2-x[1]+ x[2]^3+x[3]^5,x[1]^3+x[2]^5-x[2]+x[3]^7,x[1]^5+x[2]^7+x[3]^11-x[3]],x, [0.4,0.3,0.2],5);" }}}}{SECT 1 {PARA 346 "" 0 "" {TEXT -1 1 " " } {TEXT 288 1 " " }{TEXT 332 1 "6" }{TEXT 347 94 " Newton method for m \+ equations in n variables using the Moore-Penrose inverse of the Jacobi an" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 82 "A. Ben-Israel, A Newton-Raph son Method for the Solution of Systems\nof Equations, " }{TEXT 389 21 "J. Math. Anal. Appl. " }{TEXT 360 3 "15 " }{TEXT -1 15 "(1966), 24 3-252" }}}{EXCHG {PARA 347 "" 0 "" {TEXT -1 91 "recipvec(x) gives a ve ctor of reciprocals of elements of x if different from 0, otherwise 0 " }}}{EXCHG {PARA 348 "> " 0 "" {MPLTEXT 1 0 144 "recipvec:=proc(x)\nl ocal k,n,y;\nn:=vectdim(x);y:=array(1..n);\nfor k from 1 to n do\nif a bs(x[k])>eps then y[k]:=1/x[k] else y[k]:=0 fi\nod:eval(y):" }}{PARA 349 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}}{EXCHG {PARA 350 "> " 0 "" {MPLTEXT 1 0 43 "#recipvec([1,2,-3,0.001,0.00000000000001]);" }}} {EXCHG {PARA 351 "" 0 "" {TEXT -1 18 "vectodiag(x, m, n)" }{TEXT 282 1 " " }{TEXT -1 51 " gives an mxn matrix with elements of x on diagona l" }}}{EXCHG {PARA 352 "> " 0 "" {MPLTEXT 1 0 184 "vectodiag:=proc(x,m ,n)\nlocal i,j,k,X;\nk:=vectdim(x):X:=array(1..m,1..n);\nfor i from 1 \+ to m do\nfor j from 1 to n do \nif i=j and i<=k then X[i,j]:=x[i] else X[i,j]:=0 fi\nod od;\nevalm(X);" }}{PARA 353 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}}{EXCHG {PARA 354 "> " 0 "" {MPLTEXT 1 0 58 "#vectodiag(rec ipvec([1,2,-3,0.001,0.00000000000001]),5,7);" }}}{EXCHG {PARA 355 "" 0 "" {TEXT -1 53 "MoorePenrose(A) gives the Moore-Penrose inverse of \+ A" }}}{EXCHG {PARA 356 "> " 0 "" {MPLTEXT 1 0 180 "MoorePenrose:=proc( A)\nlocal m,n,x,U,V,D1;\nm:=rowdim(A):n:=coldim(A):\nx:=evalf(Svd(A,U, V));\nU:=evalm(U);V:=evalm(V);\nD1:=vectodiag(recipvec(x),n,m);\nevalm (V&*D1&*transpose(U));\nend:" }}}{EXCHG {PARA 357 "" 0 "" {TEXT -1 9 " Examples:" }}}{EXCHG {PARA 358 "> " 0 "" {MPLTEXT 1 0 54 "#A:=matrix(3 ,5,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]);" }}}{EXCHG {PARA 359 "> " 0 "" {MPLTEXT 1 0 17 "#MoorePenrose(A);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 98 "MoorePenrose is unreliable for ill-conditioned matrices. \+ We illustrate this for the Hilbert matrix" }}}{EXCHG {PARA 360 "" 0 " " {TEXT -1 12 "Hilbert(n) " }{TEXT 361 13 "computes the " }{TEXT -1 3 "nxn" }{TEXT 363 15 " Hilbert matrix" }}}{EXCHG {PARA 361 "> " 0 "" {MPLTEXT 1 0 131 "Hilbert:=proc(n)\nlocal i,j,H;\nH:=array(1..n,1..n); \nfor i from 1 to n do\nfor j from 1 to n do\nH[i,j]:=1/(i+j);\nod;od; \nevalm(H);\nend:" }}}{EXCHG {PARA 362 "> " 0 "" {MPLTEXT 1 0 12 "#Hil bert(3);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 362 10 "inverse(H)" }{TEXT -1 71 " is the correct inverse. The norms of differences below should be zero" }}}{EXCHG {PARA 363 "> " 0 "" {MPLTEXT 1 0 48 "#H:=Hilbert(3 ):norm(inverse(H)-MoorePenrose(H));" }}}{EXCHG {PARA 364 "> " 0 "" {MPLTEXT 1 0 48 "#H:=Hilbert(5):norm(inverse(H)-MoorePenrose(H));" }}} {EXCHG {PARA 365 "> " 0 "" {MPLTEXT 1 0 49 "#H:=Hilbert(10):norm(inver se(H)-MoorePenrose(H));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 368 7 "Exampl e" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 390 59 "Closed form for the project ion on intersection of subspaces" }}{PARA 0 "" 0 "" {TEXT -1 75 "W.N. \+ Anderson Jr and R.J. Duffin, Series and Parallel Addition of Matrices, " }}{PARA 0 "" 0 "" {TEXT -1 20 "J. Math. Anal. Appl." }{TEXT 393 1 " \+ " }{TEXT 257 2 "26" }{TEXT -1 15 "(1969), 576-594" }}}{EXCHG {PARA 0 " " 0 "" {TEXT 364 19 "ProjInter(n, m, l) " }{TEXT -1 36 "generates two \+ random projections in " }{TEXT 365 3 "R^n" }{TEXT -1 23 ", P1 and P2 o f ranks " }{TEXT 366 1 "m" }{TEXT -1 4 " and" }{TEXT 367 2 " l" }} {PARA 0 "" 0 "" {TEXT -1 85 "respectively, then computes the projecti on P3 on the intersection subspace using the" }}{PARA 0 "" 0 "" {TEXT -1 89 "Anderson-Duffin formula, and the traces (= dimensions of subsp aces) of these peojections" }}{PARA 0 "" 0 "" {TEXT -1 40 "Unreliable \+ or total nonesense for small " }{TEXT 369 1 "m" }{TEXT -1 5 " and " } {TEXT 370 2 " l" }{TEXT -1 14 ", for example " }{TEXT 371 1 "n" } {TEXT -1 5 " = 5," }{TEXT 372 2 " m" }{TEXT -1 3 " = " }{TEXT 373 2 "l " }{TEXT -1 26 "= 1 (ill conditioned sum?)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 326 "ProjInter:=proc(n,m,l)\nlocal P1,P2,P3,A,B;\nA:=r andmatrix(n,m):B:=MoorePenrose(A):P1:=evalm(A&*B):\nlprint('P1'):print (P1);print(trace(%));\nA:=randmatrix(n,l):B:=MoorePenrose(A):P2:=evalm (A&*B):\nlprint('P2');print(P2);print(trace(%));\nP3:=evalm(2*P1&*Moor ePenrose(evalm(P1+P2))&*P2):\nlprint('P3');print(P3);print(trace(%)); \nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "#ProjInter(5,4,3) ;" }}}{EXCHG {PARA 366 "" 0 "" {TEXT -1 24 "NewtonStepMP(f, x, x0) " }{TEXT 394 38 "uses Moore-Penrose inverse of Jacobian" }}}{EXCHG {PARA 367 "> " 0 "" {MPLTEXT 1 0 147 "NewtonStepMP:=proc(f,x,x0)\nloca l val,invjac;\nval:=eval(subs(x=x0,f)):\ninvjac:=MoorePenrose(eval(jac obian(f,x),x=x0)):\nevalm(x0-invjac &* val);\nend:" }}}{EXCHG {PARA 368 "> " 0 "" {MPLTEXT 1 0 82 "x:=array(1..3):NewtonStepMP([3*x[1]^2-x [2],exp(1-x[1]-x[2]-x[3])-1],x,[1.,1.,2.]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7%$!,+<&*zb)!#6$!-.-rzM\")F)$!-:/.%\\4'F)" }}}{EXCHG {PARA 369 "" 0 "" {TEXT -1 24 "NewtonsMP(f, x, x0, N) " } {TEXT 395 4 "and " }{TEXT -1 24 " NewtonMP(f, x, x0, N) " }{TEXT 396 2 "do" }{TEXT -1 3 " N " }{TEXT 398 41 "iterations of Newton Method st arting with" }{TEXT -1 3 " x0" }}}{EXCHG {PARA 370 "> " 0 "" {MPLTEXT 1 0 366 "NewtonsMP:=proc(f,x,x0,N)\nlocal k,sol,valf;\nsol:=array(0..N ):sol[0]:=x0:\nvalf:=eval(subs(x=x0,f)):\nprint(f);\nlprint(Iterate,0) :print(sol[0]):lprint(Function):print(valf):\nlprint(N,iterations):\nf or k from 1 to N do \nsol[k]:=NewtonStepMP(f,x,sol[k-1]):\nvalf:=eval( subs(x=sol[k],f)):\nprint(sol[k]):od:\nlprint(Iterate,N):print(sol[N]) :\nlprint(Function):print(valf):\nend:" }}}{EXCHG {PARA 371 "> " 0 "" {MPLTEXT 1 0 333 "NewtonMP:=proc(f,x,x0,N)\nlocal k,sol,valf;\nsol:=ar ray(0..N):sol[0]:=x0:\nvalf:=eval(subs(x=x0,f)):\nprint(f);\nlprint(It erate,0):print(sol[0]):lprint(Function):print(valf):\nfor k from 1 to \+ N do \nsol[k]:=NewtonStepMP(f,x,sol[k-1]):\nvalf:=eval(subs(x=sol[k],f )):\nod:\nlprint(Iterate,k-1):print(sol[k-1]):\nlprint(Function):print (valf):\nend:" }}}{EXCHG {PARA 372 "" 0 "" {TEXT -1 40 "SOS(x) sum-of- squares of components of x" }}}{EXCHG {PARA 373 "> " 0 "" {MPLTEXT 1 0 63 "SOS:=proc(x)\nlocal n,k;\nn:=vectdim(x):\nsum(x[k]^2,k=1..n);\ne nd:" }}}{EXCHG {PARA 374 "" 0 "" {TEXT -1 8 "Examples" }}}{EXCHG {PARA 375 "> " 0 "" {MPLTEXT 1 0 39 "simplify(SOS([sin(alpha),cos(alph a)]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}}{EXCHG {PARA 376 "> " 0 "" {MPLTEXT 1 0 82 "#x:=array(1..3):NewtonsMP([3*x[1]^2-x[2],ex p(1-x[1]-x[2]-x[3])-1],x,[1.,1.,2.],5);" }}}{EXCHG {PARA 377 "> " 0 " " {MPLTEXT 1 0 83 "#x:=array(1..2):NewtonsMP([x[1]+x[2]-evalf(sqrt(2)) ,x[1]^2+x[2]^2-1.],x,[0.,0.],5);" }}}{EXCHG {PARA 378 "> " 0 "" {MPLTEXT 1 0 56 "#NewtonsMP([x[1]+x[2]-2.,x[1]^2+x[2]^2-1.],x,[0.,0.], 5);" }}}{EXCHG {PARA 379 "> " 0 "" {MPLTEXT 1 0 59 "#x:=array(1..3):f: =[3*x[1]^2-x[2],exp(1-x[1]-x[2]-x[3])-1];" }}}{EXCHG {PARA 380 "> " 0 "" {MPLTEXT 1 0 29 "#NewtonsMP(f,x,[1.,1.,2.],4);" }}}{EXCHG {PARA 381 "> " 0 "" {MPLTEXT 1 0 29 "#NewtonMP(f,x,[1.,1.,2.],20);" }}} {EXCHG {PARA 382 "> " 0 "" {MPLTEXT 1 0 77 "#x:=array(1..2):f:=[x[1]-x [2]+1,2*x[1]-3*x[2]-2,3*x[1]-2*x[2]-3,x[1]+x[2]-1];" }}}{EXCHG {PARA 383 "> " 0 "" {MPLTEXT 1 0 25 "#NewtonMP(f,x,[1.,2.],5);" }}}{EXCHG {PARA 384 "> " 0 "" {MPLTEXT 1 0 53 "x:='x':y:='y':SOS([x-y+1,2*x-3*y- 2,3*x-2*y-3,x+y-1]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,**$),(%\"xG\" \"\"%\"yG!\"\"F(F(\"\"#\"\"\"F(*$),(F'F+F)!\"$!\"#F(F+F,F(*$),(F'\"\"$ F)F1F0F(F+F,F(*$),(F'F(F)F(F*F(F+F,F(" }}}{EXCHG {PARA 385 "> " 0 "" {MPLTEXT 1 0 14 "grad(%,[x,y]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%' vectorG6#7$,(%\"xG\"#I%\"yG!#C!#E\"\"\",(F(F+F*F)\"#?F-" }}}{EXCHG {PARA 386 "> " 0 "" {MPLTEXT 1 0 50 "evalf(solve(\{30*x-24*y-26, -24*x +30*y+20\},\{x,y\}));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$/%\"yG$\"-T 2uS2u!#8/%\"xG$\"-Ef#f#f#*!#7" }}}}{SECT 0 {PARA 387 "" 0 "" {TEXT -1 1 " " }{TEXT 289 1 " " }{TEXT 349 1 "7" }{TEXT 348 60 " Directional N ewton methods for one equation in n variables" }}{EXCHG {PARA 0 "" 0 " " {TEXT -1 69 "Y. Levin and A. Ben-Israel, Directional Newton Methods \+ in n Variables" }}{PARA 0 "" 0 "" {TEXT -1 23 " RUTCOR Research Report " }}}{EXCHG {PARA 0 "" 0 "" {TEXT 337 26 "NewtonDirNext(f, x, x0, d)" }}}{EXCHG {PARA 257 "> " 0 "" {MPLTEXT 1 0 145 "NewtonDirNext:=proc(f, x,x0,d)\nlocal val,gr,c;\nval:=eval(subs(x=x0,f)):\ngr:=eval(subs(x=x0 ,grad(f,x))):c:=dotprod(gr,d):\nevalm(x0-(val/c)*d);\nend:" }}}{EXCHG {PARA 388 "" 0 "" {TEXT -1 7 "Example" }}}{EXCHG {PARA 389 "> " 0 "" {MPLTEXT 1 0 37 "x:=array(1..2):f:=exp(1-x[1]-x[2])-1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,&-%$expG6#,(\"\"\"F*&%\"xG6#F*!\"\"&F,6#\" \"#F.F*F.F*" }}}{EXCHG {PARA 390 "> " 0 "" {MPLTEXT 1 0 39 "NewtonDirN ext(f,x,[1.2,1.2],[-1.,1.2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'ve ctorG6#7$$\"-U$)**fZ;!#5$!-5!)*>Jr\"F)" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 412 10 "NewtonGrad" }{TEXT -1 5 " and " }{TEXT 413 11 "NewtonGra ds" }{TEXT -1 56 " are directional Newton methods in direction of grad ient" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 338 24 "NewtonGrads(f, x, x0, N) " }}}{EXCHG {PARA 256 "> " 0 "" {MPLTEXT 1 0 410 "NewtonGrads:=proc(f, x,x0,N)\nlocal d,valf,sol,k;\nsol:=array(0..N):sol[0]:=x0:valf:=eval(s ubs(x=x0,f)):\nprint(f);\nlprint(Iterate,0):print(sol[0]):\nlprint(Fun ction):print(valf):\nlprint(N,iterations):\nfor k from 1 to N do\nd:=e val(subs(x=sol[k-1],grad(f,x))):\nsol[k]:=NewtonDirNext(f,x,sol[k-1],d ):\nvalf:=eval(subs(x=sol[k],f)):\nprint(sol[k]):od:\nlprint(Iterate,k -1):print(sol[k-1]):\nlprint(ERROR):print(valf):\nend:" }{TEXT -1 0 " " }}}{EXCHG {PARA 391 "" 0 "" {TEXT 293 23 "NewtonGrad(f, x, x0, N)" } }}{EXCHG {PARA 392 "> " 0 "" {MPLTEXT 1 0 372 "NewtonGrad:=proc(f,x,x0 ,N)\nlocal d,valf,sol,k;\nsol:=array(0..N):sol[0]:=x0:valf:=eval(subs( x=x0,f)):\nprint(f);\nlprint(Iterate,0):print(sol[0]):\nlprint(Functio n):print(valf):\nfor k from 1 to N do\nd:=eval(subs(x=sol[k-1],grad(f, x))):\nsol[k]:=NewtonDirNext(f,x,sol[k-1],d):\nvalf:=eval(subs(x=sol[k ],f)):od:\nlprint(Iterate,k-1):print(sol[k-1]):\nlprint(ERROR):print(v alf):\nend:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 414 15 "Ne wtonBarriers " }{TEXT -1 3 "and" }{TEXT 417 15 " NewtonBarrier " } {TEXT -1 34 "are directional Newton methods for" }{TEXT 418 20 " f(x)/ ||x-p||^alpha\n" }{TEXT -1 5 "where" }{TEXT 419 3 " p " }{TEXT -1 22 " is previous point and " }{TEXT 420 6 "alpha " }{TEXT -1 20 "a suitable parameter" }{TEXT 421 2 ", " }{TEXT -1 36 "e.g. 0.5, 1\nAn extra poin t, denoted " }{TEXT 416 4 "init" }{TEXT -1 28 ", is needed at the begi nning" }}}{EXCHG {PARA 393 "" 0 "" {TEXT 263 40 "NewtonBarriers(f, x, \+ x0, init, alpha, N)" }}}{EXCHG {PARA 394 "> " 0 "" {MPLTEXT 1 0 487 "N ewtonBarriers:=proc(f,x,x0,init,alpha,N)\nlocal d,valf,sol,k,n,g;\nsol :=array(-1..N):sol[-1]:=init:sol[0]:=x0:\nvalf:=eval(subs(x=x0,f)):\np rint(f);\nlprint(Iterate,0):print(sol[0]):\nlprint(Function):print(val f):\nlprint(N,iterations):\nfor k from 1 to N do\ng:=f/((SOS(evalm(x-s ol[k-2])))^(alpha/2)):\nd:=eval(subs(x=sol[k-1],grad(g,x))):\nsol[k]:= NewtonDirNext(g,x,sol[k-1],d):\nvalf:=eval(subs(x=sol[k],f)):\nprint(s ol[k]):od:\nlprint(Iterate,k-1):print(sol[k-1]):\nlprint(ERROR):print( valf):\nend:" }}}{EXCHG {PARA 395 "" 0 "" {TEXT 294 39 "NewtonBarrier( f, x, x0, init, alpha, N)" }}}{EXCHG {PARA 396 "> " 0 "" {MPLTEXT 1 0 449 "NewtonBarrier:=proc(f,x,x0,init,alpha,N)\nlocal d,valf,sol,k,n,g; \nsol:=array(-1..N):sol[-1]:=init:sol[0]:=x0:\nvalf:=eval(subs(x=x0,f) ):\nprint(f);\nlprint(Iterate,0):print(sol[0]):\nlprint(Function):prin t(valf):\nfor k from 1 to N do\ng:=f/((SOS(evalm(x-sol[k-2])))^(alpha/ 2)):\nd:=eval(subs(x=sol[k-1],grad(g,x))):\nsol[k]:=NewtonDirNext(g,x, sol[k-1],d):\nvalf:=eval(subs(x=sol[k],f)):od:\nlprint(Iterate,k-1):pr int(sol[k-1]):\nlprint(ERROR):print(valf):\nend:" }}}{EXCHG {PARA 397 "" 0 "" {TEXT -1 8 "Examples" }}}{EXCHG {PARA 398 "> " 0 "" {MPLTEXT 1 0 38 "#x:=array(1..2):f:=exp(1-x[1]-x[2])-1;" }}}{EXCHG {PARA 399 "> " 0 "" {MPLTEXT 1 0 29 "#NewtonGrads(f,x,[1.,1.2],3);" }}}{EXCHG {PARA 400 "> " 0 "" {MPLTEXT 1 0 44 "#NewtonBarriers(f,x,[1.,1.2],[2., 2.],0.5,3);" }}}{EXCHG {PARA 401 "> " 0 "" {MPLTEXT 1 0 43 "#NewtonBar rier(f,x,[1.,1.2],[2.,2.],0.5,5);" }}}{EXCHG {PARA 402 "" 0 "" {TEXT -1 11 "Maximum(x) " }{TEXT 399 34 "finds the max modulus component of " }{TEXT -1 3 " x " }{TEXT 400 13 "and its index" }}}{EXCHG {PARA 403 "> " 0 "" {MPLTEXT 1 0 154 "Maximum:=proc(x)\nlocal i,g;\ng[1]:=1; g[2 ]:=x[1];\nfor i from 2 to vectdim(x) do\nif (abs(x[i])>abs(g[2])) then \ng[1]:=i; g[2]:=x[i]; fi\nod; [g[1],g[2]];\nend:" }}}{EXCHG {PARA 404 "" 0 "" {TEXT -1 7 "Example" }}}{EXCHG {PARA 405 "> " 0 "" {MPLTEXT 1 0 25 "Maximum([1,2,-5,-3,5,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"$!\"&" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 401 9 "New tonMax" }{TEXT -1 5 " and " }{TEXT 402 10 "NewtonMaxs" }{TEXT -1 86 " \+ are directional Newton methods along the direction of the max modulus \+ of the gradient" }}}{EXCHG {PARA 406 "" 0 "" {TEXT -1 23 "NewtonMaxs(f , x, x0, N)" }}}{EXCHG {PARA 407 "> " 0 "" {MPLTEXT 1 0 512 "NewtonMax s:=proc(f,x,x0,N)\nlocal d,valf,sol,k,gr,g,n,m;\nn:=vectdim(x0):sol:=a rray(0..N):sol[0]:=x0:\nvalf:=eval(subs(x=x0,f)):\nprint(f);\nlprint(I terate,0):print(sol[0]):\nlprint(Function):print(valf):\nlprint(N,iter ations):\nfor k from 1 to N do \ngr:=eval(subs(x=sol[k-1],grad(f,x))): g:=Maximum(gr):\nd:=array(1..n):\nfor m from 1 to n do d[m]:=0 od:d[g[ 1]]:=1:\nsol[k]:=NewtonDirNext(f,x,sol[k-1],d):\nvalf:=eval(subs(x=sol [k],f)):\nprint(sol[k]);\nod:\nlprint(Iterate,k-1):print(sol[k-1]):\nl print(ERROR):print(valf):\nend:" }}}{EXCHG {PARA 408 "" 0 "" {TEXT 261 22 "NewtonMax(f, x, x0, N)" }}}{EXCHG {PARA 409 "> " 0 "" {MPLTEXT 1 0 473 "NewtonMax:=proc(f,x,x0,N)\nlocal d,valf,sol,k,gr,g,n ,m;\nn:=vectdim(x0):sol:=array(0..N):sol[0]:=x0:\nvalf:=eval(subs(x=x0 ,f)):\nprint(f);\nlprint(Iterate,0):print(sol[0]):\nlprint(Function):p rint(valf):\nfor k from 1 to N do \ngr:=eval(subs(x=sol[k-1],grad(f,x) )):g:=Maximum(gr):\nd:=array(1..n):\nfor m from 1 to n do d[m]:=0 od:d [g[1]]:=1:\nsol[k]:=NewtonDirNext(f,x,sol[k-1],d):\nvalf:=eval(subs(x= sol[k],f)):od:\nlprint(Iterate,k-1):print(sol[k-1]):\nlprint(ERROR):pr int(valf):\nend:" }}}{EXCHG {PARA 410 "" 0 "" {TEXT -1 7 "Example" }}} {EXCHG {PARA 411 "> " 0 "" {MPLTEXT 1 0 43 "#x:=array(1..3):f:=exp(1-x [1]-x[2]-x[3])-1;" }}}{EXCHG {PARA 412 "> " 0 "" {MPLTEXT 1 0 33 "#New tonMaxs(f,x,[1.1,1.2,1.3],3);" }}}{EXCHG {PARA 413 "> " 0 "" {MPLTEXT 1 0 33 "#NewtonMax(f,x,[1.1,1.2,1.3],15);" }}}}{SECT 0 {PARA 3 "" 0 " " {TEXT -1 5 " 8 " }{TEXT 334 27 "A directional Halley method" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 71 "Y. Levin and A. Ben-Israel, A Dire ctional Halley Method in n Variables," }}{PARA 0 "" 0 "" {TEXT -1 23 " RUTCOR Research Report" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 258 26 "Halle yDirNext(f, x, x0, N)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 236 "H alleyDirNext:=proc(f,x,x0,d)\nlocal val,gr,c,cc,hes;\nval:=eval(subs(x =x0,f)):\ngr:=eval(subs(x=x0,grad(f,x))):c:=dotprod(gr,d):\nhes:=eval( subs(x=x0,hessian(f,x))):cc:=dotprod(d,evalm(hes &* d)):\nevalm(x0-(va l/(c-(cc*val)/(2*c))*d));\nend:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 260 7 "Example" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "#x:=array(1.. 2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "#HalleyDirNext(x[1]^ 2-x[2],x,[0.,1.],[0.8,-.5]);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 335 24 " HalleyGrads(f, x, x0, N)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 413 "HalleyGrads:=proc(f,x,x0,N)\nlocal d,sol,valf,k;\nsol:=array(0..N ):sol[0]:=x0:valf:=eval(subs(x=x0,f)):\nprint(f);\nlprint(Iterate,0):p rint(sol[0]):\nlprint(Function):print(valf):\nlprint(N,iterations):\nf or k from 1 to N do\nd:=eval(subs(x=sol[k-1],grad(f,x))):\nsol[k]:=Hal leyDirNext(f,x,sol[k-1],d):\nvalf:=eval(subs(x=sol[k],f)):\nprint(sol[ k]):od:\nlprint(Iterate,k-1):print(sol[k-1]):\nlprint(Function):print( valf):\nend:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "Example" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "#Digits:=36:HalleyGrads(x[1] ^2-x[2],x,[0.3,1.],2);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 336 23 "Halley Grad(f, x, x0, N)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 375 "Halle yGrad:=proc(f,x,x0,N)\nlocal d,sol,valf,k;\nsol:=array(0..N):sol[0]:=x 0:valf:=eval(subs(x=x0,f)):\nprint(f);\nlprint(Iterate,0):print(sol[0] ):\nlprint(Function):print(valf):\nfor k from 1 to N do\nd:=eval(subs( x=sol[k-1],grad(f,x))):\nsol[k]:=HalleyDirNext(f,x,sol[k-1],d):\nvalf: =eval(subs(x=sol[k],f)):od:\nlprint(Iterate,k-1):print(sol[k-1]):\nlpr int(Function):print(valf):\nend:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 259 7 "Example" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "#x:=array(1.. 2):HalleyGrads(exp(1-x[1]-x[2])-1,x,[1.,1.2],3);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "#NewtonGrad(exp(1-x[1]-x[2])-1,x,[1.,1.2],3); " }}}}{SECT 0 {PARA 414 "" 0 "" {TEXT -1 1 " " }{TEXT 290 1 " " } {TEXT 350 1 "9" }{TEXT 351 35 " The Fermat-Weber location problem" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 283 "The next problem is an n-dimensio nal adaptation of the minimum bracketing method of Section 4\nIt shoul d not (and does not) work for general convex functions, unless the lev el sets are circular\nor close to circular: this is the case for the F ermat-Weber problem with large random data" }}}{EXCHG {PARA 415 "> " 0 "" {MPLTEXT 1 0 723 "Minimize:=proc(f,x,x0,L,N)\nlocal d,k,val,sol,U B,M,LB,Delta;\nsol:=array(0..N):sol[0]:=x0:\nval:=array(0..N):UB:=eval (subs(x=sol[0],f)):val[0]:=UB:LB:=L:\nDelta:=array(0..N):Delta[0]:=UB- LB;\nlprint(Iterate,0,sol[0]);\nlprint(Bounds,[LB,UB],Width,Delta[0]): \nfor k from 1 to N do\nlprint(\"===================================== ============================\");\nM:=0.3*LB+0.7*UB;#golden section\nd: =eval(subs(x=sol[k-1],grad(f,x)));\nsol[k]:=NewtonDirNext(f-M,x,sol[k- 1],d);\nval[k]:=eval(subs(x=sol[k],f)):\nif val[k] " 0 "" {MPLTEXT 1 0 11 "Digits:=12:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 260 28 "Distance(x, pointset, notin)" }{TEXT -1 32 " gives the sum of distances from" }{TEXT 259 5 " x " }{TEXT -1 24 "to the vector-components" }{TEXT 323 1 " " }}{PARA 0 "" 0 "" {TEXT -1 2 "of" }{TEXT 264 10 " pointset" }{TEXT -1 16 " different th an " }{TEXT 322 5 "notin" }}}{EXCHG {PARA 417 "> " 0 "" {MPLTEXT 1 0 229 "Distance:=proc(x,pointset,notin)\nlocal k,n,temp;global Dis;\nn:= vectdim(pointset):Dis:=0:\nfor k from 1 to n do\ntemp:=SOS(evalm(point set[k]-notin)):\nif temp=0 then Dis:=Dis else\nDis:=Dis+sqrt(SOS(evalm (x-pointset[k]))) fi:\nod:\nend:" }}}{EXCHG {PARA 418 "" 0 "" {TEXT 265 22 "distance(x, pointset) " }{TEXT 324 32 "gives the sum of distan ces from " }{TEXT -1 1 "x" }{TEXT 325 18 " to the points of " }{TEXT -1 8 "pointset" }}}{EXCHG {PARA 419 "> " 0 "" {MPLTEXT 1 0 154 "distan ce:=proc(x,pointset)\nlocal k,n,temp;global Dis;\nn:=vectdim(pointset) :Dis:=0:\nfor k from 1 to n do\nDis:=Dis+sqrt(SOS(evalm(x-pointset[k]) )):\nod:\nend:" }}}{EXCHG {PARA 420 "" 0 "" {TEXT -1 29 "PointSet(lowe r, upper, m, n) " }{TEXT 266 45 "generates n points of the dimension m in the " }}{PARA 421 "" 0 "" {TEXT 326 5 "box [" }{TEXT -1 12 "lower, upper" }{TEXT 327 85 "] and the initial point in the same box ( globa ls: matrix pointset, and vector init) " }}}{EXCHG {PARA 422 "> " 0 "" {MPLTEXT 1 0 40 "Rand:=proc()\nevalf(rand()/10^(12));\nend:" }}} {EXCHG {PARA 423 "> " 0 "" {MPLTEXT 1 0 362 "PointSet:=proc(lower,uppe r,m,n)\nlocal a,i,j,r; global pointset,init;\na:=array(1..m); pointset :=array(1..n); init:=array(1..m);\nfor i from 1 to n do\nfor j from 1 \+ to m do\na[j]:=lower+Rand()*(upper-lower) od: \npointset[i]:=evalm(a); \nod:\nlprint(POINTS);print(pointset);\nfor i from 1 to m do\ninit[i]: =lower+Rand()*(upper-lower); od:\nlprint(INITIAL);print(init); \nend: " }}}{EXCHG {PARA 424 "> " 0 "" {MPLTEXT 1 0 23 "#PointSet(-5.,5.,2,20 );" }}}{EXCHG {PARA 425 "> " 0 "" {MPLTEXT 1 0 60 "#pointplot(pointset ,connect=false,symbol=CROSS,color=BLACK);" }}}{EXCHG {PARA 426 "> " 0 "" {MPLTEXT 1 0 37 "#x:=array(1..2):distance(x,pointset);" }}}{EXCHG {PARA 427 "" 0 "" {TEXT -1 37 "Weber(pointset, x, x0, L, N, method) " }{TEXT 256 5 "does " }{TEXT -1 2 "N " }{TEXT 408 11 "iterations " }} {PARA 428 "" 0 "" {TEXT 409 79 "to find the point minimizing the sum o f Euclidean distances from the points of " }{TEXT -1 8 "pointset" }} {PARA 429 "" 0 "" {TEXT -1 4 "L = " }{TEXT 261 1 "0" }{TEXT 410 1 " " }{TEXT 411 68 "is a correct lower bound (distance between any two poin ts is better)" }}}{EXCHG {PARA 430 "> " 0 "" {MPLTEXT 1 0 1341 "Weber: =proc(pointset,x,x0,L,N)\nlocal f,d,k,val,sol,UB,M,LB,Delta,rat,ratpro d,it;\nglobal solset,minf;\nf:=distance(x,pointset):\nsol:=array(0..N) :sol[0]:=x0:solset:=sol[0]:\nratprod:=1;it:=0;\nval:=array(0..N):val[0 ]:=eval(subs(x=sol[0],f)):UB:=val[0]:minf:=UB:\nLB:=L;Delta:=array(0.. N):Delta[0]:=UB-LB;\nlprint(Iterate,0):print(sol[0]);\nlprint(Bounds): print([LB,UB]):lprint(Width):print(Delta[0]):\nfor k from 1 to N do\nl print(\"============================================================== =====================\");\nit:=it+1;M:=0.3*LB+0.7*UB;#golden section\n #f:=Distance(x,pointset,sol[k-1]):\n#f:=distance(x,pointset):\nd:=eval (subs(x=sol[k-1],grad(f,x))):\nsol[k]:=NewtonDirNext(f-M,x,sol[k-1],d) :\nval[k]:=eval(subs(x=sol[k],f)):\nif val[k] " 0 "" {MPLTEXT 1 0 52 "#f:='f':x:=array(1..2):Weber(pointset,x,init,0., 10);" }}}{EXCHG {PARA 432 "> " 0 "" {MPLTEXT 1 0 58 "#pointplot(solset ,connect=true,symbol=CIRCLE,color=BLACK);" }}}{EXCHG {PARA 433 "> " 0 "" {MPLTEXT 1 0 64 "Picture:=proc(pointset,lower,upper,solset,N) local A,B,pp,C,con;" }}{PARA 434 "> " 0 "" {MPLTEXT 1 0 62 "A:=pointplot(po intset,connect=false,symbol=CROSS,color=BLACK):" }}{PARA 435 "> " 0 " " {MPLTEXT 1 0 60 "B:=pointplot(solset,connect=true,symbol=CIRCLE,colo r=BLACK):" }}{PARA 436 "> " 0 "" {MPLTEXT 1 0 48 "pp:=Distance(x,point set,[upper+1,upper+1])-minf:" }}{PARA 437 "> " 0 "" {MPLTEXT 1 0 208 " C:=contourplot(pp,x[1]=lower..upper,x[2]=lower..upper,scaling=constrai ned,contours=[-6.,-4.,-2.,0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,2 4.,26.,28.,30.,32.,34.,36.,38.,40.,42.,44.,46.,48.,50.],color=blue):" }}{PARA 438 "> " 0 "" {MPLTEXT 1 0 15 "display(A,B,C);" }}{PARA 439 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}}{EXCHG {PARA 440 "> " 0 "" {MPLTEXT 1 0 33 "#Picture(pointset,-5, 5,solset); " }}}}{SECT 0 {PARA 441 "" 0 "" {TEXT -1 2 " " }{TEXT 333 3 "10 " }{TEXT -1 1 " " }{TEXT 314 46 "I nverse free methods for systems of equations" }}{EXCHG {PARA 442 "" 0 "" {TEXT 304 30 "SystemNewtonGrads(f, x, x0, N)" }}}{EXCHG {PARA 443 "> " 0 "" {MPLTEXT 1 0 90 "SystemNewtonGrads:=proc(f,x,x0,N)\nloca l F;\nF:=SOS(f);print(f);\nNewtonGrads(F,x,x0,N);\nend:" }}}{EXCHG {PARA 444 "" 0 "" {TEXT -1 0 "" }{TEXT 305 29 "SystemNewtonGrad(f, x, \+ x0, N)" }}}{EXCHG {PARA 445 "> " 0 "" {MPLTEXT 1 0 89 "SystemNewtonGra d:=proc(f,x,x0,N)\nlocal F;\nF:=SOS(f); print(f);\nNewtonGrad(F,x,x0,N );\nend:" }}}{EXCHG {PARA 261 "" 0 "" {TEXT 315 46 "SystemNewtonBarrie rs(f, x, x0, init, alpha, N)" }}}{EXCHG {PARA 446 "> " 0 "" {MPLTEXT 1 0 118 "SystemNewtonBarriers:=proc(f,x,x0,init,alpha,N)\nlocal F;\nF: =SOS(f);print(f);\nNewtonBarriers(F,x,x0,init,alpha,N);\nend:" }}} {EXCHG {PARA 447 "> " 0 "" {MPLTEXT 1 0 116 "SystemNewtonBarrier:=proc (f,x,x0,init,alpha,N)\nlocal F;\nF:=SOS(f);print(f);\nNewtonBarrier(F, x,x0,init,alpha,N);\nend:" }}}{EXCHG {PARA 448 "" 0 "" {TEXT 306 7 "Ex ample" }}}{EXCHG {PARA 449 "> " 0 "" {MPLTEXT 1 0 15 "x:=array(1..2); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"xG-%&arrayG6$;\"\"\"\"\"#7\"" }}}{EXCHG {PARA 450 "> " 0 "" {MPLTEXT 1 0 59 "#SystemNewtonGrad([x[1] ^2-x[2],x[2]^2-x[1]],x,[1.2,1.1],5);" }}}{EXCHG {PARA 451 "> " 0 "" {MPLTEXT 1 0 76 "#SystemNewtonBarrier([x[1]^2-x[2],x[2]^2-x[1]],x,[1.2 ,1.1],[0.5,0.3],0.3,5);" }}}{EXCHG {PARA 452 "" 0 "" {TEXT 308 29 "Sys temNewtonMaxs(f, x, x0, N)" }}}{EXCHG {PARA 453 "> " 0 "" {MPLTEXT 1 0 89 "SystemNewtonMaxs:=proc(f,x,x0,N)\nlocal F;\nF:=SOS(f); print(f); \nNewtonMaxs(F,x,x0,N);\nend:" }}}{EXCHG {PARA 454 "" 0 "" {TEXT -1 0 "" }{TEXT 309 28 "SystemNewtonMax(f, x, x0, N)" }}}{EXCHG {PARA 455 "> " 0 "" {MPLTEXT 1 0 87 "SystemNewtonMax:=proc(f,x,x0,N)\nlocal F;\nF: =SOS(f); print(f);\nNewtonMax(F,x,x0,N);\nend:" }}}{EXCHG {PARA 456 " " 0 "" {TEXT 307 7 "Example" }}}{EXCHG {PARA 457 "> " 0 "" {MPLTEXT 1 0 58 "#SystemNewtonMax([x[1]^2-x[2],x[2]^2-x[1]],x,[1.2,1.1],5);" }}} {EXCHG {PARA 458 "> " 0 "" {MPLTEXT 1 0 16 "#x:=array(1..3);" }}} {EXCHG {PARA 459 "> " 0 "" {MPLTEXT 1 0 86 "#SystemNewtonGrad([exp(1-x [1]-x[2]-x[3])-1,x[1]^2-x[2],x[1]^3-x[3]],x,[1.,1.,1.2],10);" }}} {EXCHG {PARA 460 "> " 0 "" {MPLTEXT 1 0 85 "#SystemNewtonMax([exp(1-x[ 1]-x[2]-x[3])-1,x[1]^2-x[2],x[1]^3-x[3]],x,[1.,1.,1.2],10);" }}} {EXCHG {PARA 461 "> " 0 "" {MPLTEXT 1 0 76 "#Newton([exp(1-x[1]-x[2]-x [3])-1,x[1]^2-x[2],x[1]^3-x[3]],x,[1.,1.,1.2],10);" }}}{EXCHG {PARA 462 "> " 0 "" {MPLTEXT 1 0 46 "#SOS([.2601879e-2, .1408503495, .402335 2123]);" }}}{EXCHG {PARA 463 "" 0 "" {TEXT 320 55 "After 10 iterations , the error of SystemNewtonGrad is " }{XPPEDIT 18 0 ".6315363607e-1; " "6#$\"+2OO:j!#6" }{TEXT -1 1 " " }{TEXT 321 37 "(or less) and the er ror of Newton is" }{TEXT -1 1 " " }{XPPEDIT 18 0 ".1817192138;" "6#$ \"+Q@><=!#5" }}}{EXCHG {PARA 464 "" 0 "" {TEXT 313 13 "Rosenbrock(n)" }}}{EXCHG {PARA 465 "> " 0 "" {MPLTEXT 1 0 19 "Rosenbrock:=proc(n)" }} {PARA 466 "> " 0 "" {MPLTEXT 1 0 20 "local i,s; global x;" }}{PARA 467 "> " 0 "" {MPLTEXT 1 0 29 "x:=array(1..n);s:=(1-x[1])^2;" }}{PARA 468 "> " 0 "" {MPLTEXT 1 0 22 "for i from 1 to n-1 do" }}{PARA 469 "> \+ " 0 "" {MPLTEXT 1 0 30 "s:=s+100*(x[i]-x[i+1]^2)^2 od;" }}{PARA 470 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}}{EXCHG {PARA 471 "> " 0 "" {MPLTEXT 1 0 15 "#Rosenbrock(3);" }}}{EXCHG {PARA 472 "" 0 "" {TEXT 310 7 "Exam ple" }}}{EXCHG {PARA 473 "> " 0 "" {MPLTEXT 1 0 16 "#x:=array(1..3):" }}}{EXCHG {PARA 474 "> " 0 "" {MPLTEXT 1 0 59 "#NewtonBarrier(Rosenbro ck(2),x,[0.1,0.2],[-2.,-3.],0.4,20);" }}}{EXCHG {PARA 475 "> " 0 "" {MPLTEXT 1 0 85 "#x:=array(1..3):Newton([1-x[1],10*(x[1]-x[2]^2),10*(x [2]-x[3]^2)],x,[0.5,0.8,0.6],5);" }}}{EXCHG {PARA 476 "> " 0 "" {MPLTEXT 1 0 80 "#SystemNewtonGrad([1-x[1],10*(x[1]-x[2]^2),10*(x[2]-x [3]^2)],x,[0.5,0.8,0.6],5);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 97 "#x:=array(1..3):SystemNewtonGrad([1-x[1],10*(x[1]-x[2]^2),10*(x[2] -x[3]^2)],x,[0.5,0.8,0.6],100);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 311 7 "Example" }{TEXT -1 3 " : " }{TEXT 312 7 "Froberg" }{TEXT -1 19 ", p . 186, Example 1" }}}{EXCHG {PARA 477 "> " 0 "" {MPLTEXT 1 0 123 "#x:= array(1..3):Newton([x[1]^2-x[1]+x[2]^3+x[3]^5,x[1]^3+x[2]^5-x[2]+x[3]^ 7,x[1]^5+x[2]^7+x[3]^11-x[3]],x,[0.8,0.5,0.6],5);" }}}{EXCHG {PARA 478 "> " 0 "" {MPLTEXT 1 0 123 "#x:=array(1..3):Newton([x[1]^2-x[1]+x[ 2]^3+x[3]^5,x[1]^3+x[2]^5-x[2]+x[3]^7,x[1]^5+x[2]^7+x[3]^11-x[3]],x,[0 .4,0.3,0.2],5);" }}}{EXCHG {PARA 479 "> " 0 "" {MPLTEXT 1 0 134 "#x:=a rray(1..3):SystemNewtonGrad([x[1]^2-x[1]+x[2]^3+x[3]^5,x[1]^3+x[2]^5-x [2]+x[3]^7,x[1]^5+x[2]^7+x[3]^11-x[3]],x,[0.4,0.3,0.2],30);" }}} {EXCHG {PARA 480 "> " 0 "" {MPLTEXT 1 0 132 "#x:=array(1..3):SystemNew tonMax([x[1]^2-x[1]+x[2]^3+x[3]^5,x[1]^3+x[2]^5-x[2]+x[3]^7,x[1]^5+x[2 ]^7+x[3]^11-x[3]],x,[0.4,0.3,0.2],5);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 155 "#x:=array(1..3):SystemNewtonBarrier([x[1]^2-x[1]+x[2 ]^3+x[3]^5,x[1]^3+x[2]^5-x[2]+x[3]^7,x[1]^5+x[2]^7+x[3]^11-x[3]],x,[0. 4,0.3,0.2],[0.1,0.2,0.1],0.2,20);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 257 30 "SystemHalleyGrads(f, x, x0, N)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 107 "SystemHalleyGrads:=proc(f,x,x0,N)\nlocal n,F;\nn:=ve ctdim(x0);F:=SOS(f);print(f);\nHalleyGrads(F,x,x0,N);\nend:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 29 "SystemHalleyGrad(f, x, x0, N)" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 105 "SystemHalleyGrad:=proc(f,x, x0,N)\nlocal n,F;\nn:=vectdim(x0);F:=SOS(f);print(f);\nHalleyGrad(F,x, x0,N);\nend:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "Example" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "#SystemHalleyGrads([x[1]^2-x [2],exp(1-x[1]-x[2])-1],x,[1.2,1.1],10);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "#SystemNewtonGrads([x[1]^2-x[2],exp(1-x[1]-x[2])-1],x ,[1.2,1.1],10);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "Example" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 101 "C.B. Moorey Jr., \"Nonlinear Meth ods\", Modern Math for the Engineer (Beckenbach, ed), p. 418, Ex. 16.5 " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 123 "#x:=array(1..2):Newton ([4+x[1]+x[2]-x[1]^2+2*x[1]*x[2]+3*x[2]^2,1+2*x[1]-3*x[2]+x[1]^2+x[1]* x[2]-2*x[2]^2],x,[3.3,-3.0],3);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 134 "#x:=array(1..2):SystemNewtonGrad([4+x[1]+x[2]-x[1]^2+2*x[1]*x [2]+3*x[2]^2,1+2*x[1]-3*x[2]+x[1]^2+x[1]*x[2]-2*x[2]^2],x,[3.3,-3.0],1 0);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 133 "#x:=array(1..2):Sys temNewtonMax([4+x[1]+x[2]-x[1]^2+2*x[1]*x[2]+3*x[2]^2,1+2*x[1]-3*x[2]+ x[1]^2+x[1]*x[2]-2*x[2]^2],x,[3.3,-3.0],10);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 134 "#x:=array(1..2):SystemHalleyGrad([4+x[1]+x[2]-x [1]^2+2*x[1]*x[2]+3*x[2]^2,1+2*x[1]-3*x[2]+x[1]^2+x[1]*x[2]-2*x[2]^2], x,[3.3,-3.0],10);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 82 "#x:=ar ray(1..2):SystemHalleyGrad([x[1]^2-x[2],exp(1-x[1]-x[2])-1],x,[1.2,1.1 ],10);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 422 3 "END" }}}}}{MARK "0 0 0 " 0 }{VIEWOPTS 1 1 0 1 1 1803 }