From f95d089903c7ec87342467b7c12fece6d7c7ecd5 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Tue, 17 Dec 2019 19:37:49 +0000 Subject: [PATCH] Prepare for merging --- docs/html/WARNINGS | 12 - docs/html/contents.png | Bin 278 -> 0 bytes docs/html/footnode.html | 218 -------- docs/html/images.aux | 18 - docs/html/images.log | 507 ----------------- docs/html/images.out | 0 docs/html/images.pl | 1182 --------------------------------------- docs/html/images.tex | 273 --------- docs/html/img1.png | Bin 210 -> 0 bytes docs/html/img10.png | Bin 447 -> 0 bytes docs/html/img100.png | Bin 603 -> 0 bytes docs/html/img101.png | Bin 318 -> 0 bytes docs/html/img102.png | Bin 487 -> 0 bytes docs/html/img103.png | Bin 397 -> 0 bytes docs/html/img104.png | Bin 281 -> 0 bytes docs/html/img105.png | Bin 423 -> 0 bytes docs/html/img106.png | Bin 190 -> 0 bytes docs/html/img107.png | Bin 387 -> 0 bytes docs/html/img108.png | Bin 520 -> 0 bytes docs/html/img109.png | Bin 350 -> 0 bytes docs/html/img11.png | Bin 576 -> 0 bytes docs/html/img110.png | Bin 374 -> 0 bytes docs/html/img111.png | Bin 237 -> 0 bytes docs/html/img112.png | Bin 358 -> 0 bytes docs/html/img113.png | Bin 279 -> 0 bytes docs/html/img114.png | Bin 303 -> 0 bytes docs/html/img115.png | Bin 199 -> 0 bytes docs/html/img116.png | Bin 682 -> 0 bytes docs/html/img117.png | Bin 411 -> 0 bytes docs/html/img118.png | Bin 366 -> 0 bytes docs/html/img119.png | Bin 857 -> 0 bytes docs/html/img12.png | Bin 129 -> 0 bytes docs/html/img120.png | Bin 745 -> 0 bytes docs/html/img121.png | Bin 423 -> 0 bytes docs/html/img122.png | Bin 151 -> 0 bytes docs/html/img123.png | Bin 272 -> 0 bytes docs/html/img124.png | Bin 390 -> 0 bytes docs/html/img125.png | Bin 260 -> 0 bytes docs/html/img126.png | Bin 268 -> 0 bytes docs/html/img127.png | Bin 270 -> 0 bytes docs/html/img128.png | Bin 420 -> 0 bytes docs/html/img129.png | Bin 221 -> 0 bytes docs/html/img13.png | Bin 3564 -> 0 bytes docs/html/img130.png | Bin 263 -> 0 bytes docs/html/img131.png | Bin 943 -> 0 bytes docs/html/img132.png | Bin 423 -> 0 bytes docs/html/img133.png | Bin 425 -> 0 bytes docs/html/img134.png | Bin 359 -> 0 bytes docs/html/img135.png | Bin 330 -> 0 bytes docs/html/img136.png | Bin 860 -> 0 bytes docs/html/img137.png | Bin 336 -> 0 bytes docs/html/img138.png | Bin 532 -> 0 bytes docs/html/img139.png | Bin 412 -> 0 bytes docs/html/img14.png | Bin 694 -> 0 bytes docs/html/img140.png | Bin 251 -> 0 bytes docs/html/img141.png | Bin 619 -> 0 bytes docs/html/img142.png | Bin 626 -> 0 bytes docs/html/img143.png | Bin 395 -> 0 bytes docs/html/img144.png | Bin 243 -> 0 bytes docs/html/img145.png | Bin 568 -> 0 bytes docs/html/img146.png | Bin 614 -> 0 bytes docs/html/img147.png | Bin 578 -> 0 bytes docs/html/img148.png | Bin 306 -> 0 bytes docs/html/img149.png | Bin 271 -> 0 bytes docs/html/img15.png | Bin 250 -> 0 bytes docs/html/img150.png | Bin 889 -> 0 bytes docs/html/img151.png | Bin 226 -> 0 bytes docs/html/img152.png | Bin 630 -> 0 bytes docs/html/img153.png | Bin 750 -> 0 bytes docs/html/img154.png | Bin 534 -> 0 bytes docs/html/img155.png | Bin 273 -> 0 bytes docs/html/img156.png | Bin 569 -> 0 bytes docs/html/img157.png | Bin 250 -> 0 bytes docs/html/img158.old | 0 docs/html/img158.png | 0 docs/html/img159.png | Bin 9773 -> 0 bytes docs/html/img16.png | Bin 203 -> 0 bytes docs/html/img160.old | 0 docs/html/img160.png | 0 docs/html/img161.png | Bin 1148 -> 0 bytes docs/html/img162.png | Bin 801 -> 0 bytes docs/html/img163.png | Bin 934 -> 0 bytes docs/html/img164.png | Bin 966 -> 0 bytes docs/html/img165.png | Bin 1251 -> 0 bytes docs/html/img166.png | Bin 1436 -> 0 bytes docs/html/img167.png | Bin 1126 -> 0 bytes docs/html/img168.png | Bin 1188 -> 0 bytes docs/html/img169.png | Bin 1238 -> 0 bytes docs/html/img17.png | Bin 384 -> 0 bytes docs/html/img170.png | Bin 1211 -> 0 bytes docs/html/img171.png | Bin 356 -> 0 bytes docs/html/img172.png | Bin 440 -> 0 bytes docs/html/img173.png | Bin 302 -> 0 bytes docs/html/img174.png | Bin 998 -> 0 bytes docs/html/img175.png | Bin 719 -> 0 bytes docs/html/img176.png | Bin 746 -> 0 bytes docs/html/img177.png | Bin 228 -> 0 bytes docs/html/img178.png | Bin 442 -> 0 bytes docs/html/img179.png | Bin 2571 -> 0 bytes docs/html/img18.png | Bin 581 -> 0 bytes docs/html/img180.png | Bin 477 -> 0 bytes docs/html/img181.png | Bin 480 -> 0 bytes docs/html/img182.png | Bin 465 -> 0 bytes docs/html/img183.png | Bin 345 -> 0 bytes docs/html/img184.png | Bin 226 -> 0 bytes docs/html/img185.png | Bin 452 -> 0 bytes docs/html/img186.png | Bin 425 -> 0 bytes docs/html/img187.png | Bin 279 -> 0 bytes docs/html/img19.png | Bin 524 -> 0 bytes docs/html/img2.png | Bin 3875 -> 0 bytes docs/html/img20.png | Bin 189 -> 0 bytes docs/html/img21.png | Bin 216 -> 0 bytes docs/html/img22.png | Bin 205 -> 0 bytes docs/html/img23.png | Bin 225 -> 0 bytes docs/html/img24.png | Bin 476 -> 0 bytes docs/html/img25.png | Bin 486 -> 0 bytes docs/html/img26.png | Bin 273 -> 0 bytes docs/html/img27.png | Bin 4602 -> 0 bytes docs/html/img28.png | Bin 769 -> 0 bytes docs/html/img29.png | Bin 254 -> 0 bytes docs/html/img3.png | Bin 3855 -> 0 bytes docs/html/img30.png | Bin 618 -> 0 bytes docs/html/img31.png | Bin 1060 -> 0 bytes docs/html/img32.png | Bin 321 -> 0 bytes docs/html/img33.png | Bin 4351 -> 0 bytes docs/html/img34.png | Bin 808 -> 0 bytes docs/html/img35.png | Bin 495 -> 0 bytes docs/html/img36.png | Bin 873 -> 0 bytes docs/html/img37.png | Bin 326 -> 0 bytes docs/html/img38.png | Bin 4251 -> 0 bytes docs/html/img39.png | Bin 536 -> 0 bytes docs/html/img4.png | Bin 179 -> 0 bytes docs/html/img40.png | Bin 881 -> 0 bytes docs/html/img41.png | Bin 576 -> 0 bytes docs/html/img42.png | Bin 594 -> 0 bytes docs/html/img43.png | Bin 338 -> 0 bytes docs/html/img44.png | Bin 4294 -> 0 bytes docs/html/img45.png | Bin 685 -> 0 bytes docs/html/img46.png | Bin 501 -> 0 bytes docs/html/img47.png | Bin 521 -> 0 bytes docs/html/img48.png | Bin 554 -> 0 bytes docs/html/img49.png | Bin 622 -> 0 bytes docs/html/img5.png | Bin 228 -> 0 bytes docs/html/img50.png | Bin 621 -> 0 bytes docs/html/img51.png | Bin 243 -> 0 bytes docs/html/img52.png | Bin 251 -> 0 bytes docs/html/img53.png | Bin 429 -> 0 bytes docs/html/img54.png | Bin 2775 -> 0 bytes docs/html/img55.png | Bin 214 -> 0 bytes docs/html/img56.png | Bin 233 -> 0 bytes docs/html/img57.png | Bin 444 -> 0 bytes docs/html/img58.png | Bin 816 -> 0 bytes docs/html/img59.png | Bin 620 -> 0 bytes docs/html/img6.png | Bin 431 -> 0 bytes docs/html/img60.png | Bin 553 -> 0 bytes docs/html/img61.png | Bin 179 -> 0 bytes docs/html/img62.png | Bin 416 -> 0 bytes docs/html/img63.png | Bin 467 -> 0 bytes docs/html/img64.png | Bin 416 -> 0 bytes docs/html/img65.png | Bin 266 -> 0 bytes docs/html/img66.png | Bin 2084 -> 0 bytes docs/html/img67.png | Bin 3225 -> 0 bytes docs/html/img68.png | Bin 3213 -> 0 bytes docs/html/img69.png | Bin 370 -> 0 bytes docs/html/img7.png | Bin 205 -> 0 bytes docs/html/img70.png | Bin 258 -> 0 bytes docs/html/img71.png | Bin 250 -> 0 bytes docs/html/img72.png | Bin 255 -> 0 bytes docs/html/img73.png | Bin 2512 -> 0 bytes docs/html/img74.png | Bin 255 -> 0 bytes docs/html/img75.png | Bin 337 -> 0 bytes docs/html/img76.png | Bin 789 -> 0 bytes docs/html/img77.png | Bin 5441 -> 0 bytes docs/html/img78.png | Bin 6161 -> 0 bytes docs/html/img79.png | Bin 803 -> 0 bytes docs/html/img8.png | Bin 242 -> 0 bytes docs/html/img80.png | Bin 387 -> 0 bytes docs/html/img81.png | Bin 523 -> 0 bytes docs/html/img82.png | Bin 334 -> 0 bytes docs/html/img83.png | Bin 363 -> 0 bytes docs/html/img84.png | Bin 312 -> 0 bytes docs/html/img85.png | Bin 2611 -> 0 bytes docs/html/img86.png | Bin 438 -> 0 bytes docs/html/img87.png | Bin 554 -> 0 bytes docs/html/img88.png | Bin 178 -> 0 bytes docs/html/img89.png | Bin 939 -> 0 bytes docs/html/img9.png | Bin 246 -> 0 bytes docs/html/img90.png | Bin 373 -> 0 bytes docs/html/img91.png | Bin 1540 -> 0 bytes docs/html/img92.png | Bin 508 -> 0 bytes docs/html/img93.png | Bin 370 -> 0 bytes docs/html/img94.png | Bin 252 -> 0 bytes docs/html/img95.png | Bin 264 -> 0 bytes docs/html/img96.png | Bin 202 -> 0 bytes docs/html/img97.png | Bin 440 -> 0 bytes docs/html/img98.png | Bin 520 -> 0 bytes docs/html/img99.png | Bin 229 -> 0 bytes docs/html/index.html | 414 -------------- docs/html/internals.pl | 206 ------- docs/html/labels.pl | 421 -------------- docs/html/next.png | Bin 245 -> 0 bytes docs/html/next_g.png | Bin 272 -> 0 bytes docs/html/node1.html | 111 ---- docs/html/node10.html | 298 ---------- docs/html/node100.html | 125 ----- docs/html/node101.html | 291 ---------- docs/html/node102.html | 106 ---- docs/html/node103.html | 177 ------ docs/html/node104.html | 146 ----- docs/html/node105.html | 149 ----- docs/html/node106.html | 103 ---- docs/html/node107.html | 125 ----- docs/html/node108.html | 81 --- docs/html/node109.html | 89 --- docs/html/node11.html | 59 -- docs/html/node110.html | 87 --- docs/html/node111.html | 136 ----- docs/html/node112.html | 177 ------ docs/html/node113.html | 176 ------ docs/html/node114.html | 178 ------ docs/html/node115.html | 176 ------ docs/html/node116.html | 178 ------ docs/html/node117.html | 210 ------- docs/html/node118.html | 190 ------- docs/html/node119.html | 189 ------- docs/html/node12.html | 98 ---- docs/html/node120.html | 342 ----------- docs/html/node121.html | 91 --- docs/html/node122.html | 159 ------ docs/html/node123.html | 168 ------ docs/html/node124.html | 117 ---- docs/html/node125.html | 119 ---- docs/html/node126.html | 123 ---- docs/html/node127.html | 115 ---- docs/html/node128.html | 98 ---- docs/html/node129.html | 150 ----- docs/html/node13.html | 99 ---- docs/html/node130.html | 194 ------- docs/html/node131.html | 153 ----- docs/html/node132.html | 114 ---- docs/html/node133.html | 92 --- docs/html/node134.html | 107 ---- docs/html/node135.html | 76 --- docs/html/node136.html | 440 --------------- docs/html/node137.html | 180 ------ docs/html/node138.html | 67 --- docs/html/node14.html | 90 --- docs/html/node15.html | 90 --- docs/html/node16.html | 99 ---- docs/html/node17.html | 89 --- docs/html/node18.html | 92 --- docs/html/node19.html | 89 --- docs/html/node2.html | 169 ------ docs/html/node20.html | 80 --- docs/html/node21.html | 91 --- docs/html/node22.html | 98 ---- docs/html/node23.html | 216 ------- docs/html/node24.html | 59 -- docs/html/node25.html | 89 --- docs/html/node26.html | 90 --- docs/html/node27.html | 100 ---- docs/html/node28.html | 91 --- docs/html/node29.html | 92 --- docs/html/node3.html | 196 ------- docs/html/node30.html | 91 --- docs/html/node31.html | 92 --- docs/html/node32.html | 96 ---- docs/html/node33.html | 114 ---- docs/html/node34.html | 106 ---- docs/html/node35.html | 98 ---- docs/html/node36.html | 94 ---- docs/html/node37.html | 94 ---- docs/html/node38.html | 117 ---- docs/html/node39.html | 117 ---- docs/html/node4.html | 222 -------- docs/html/node40.html | 80 --- docs/html/node41.html | 92 --- docs/html/node42.html | 82 --- docs/html/node43.html | 164 ------ docs/html/node44.html | 57 -- docs/html/node45.html | 89 --- docs/html/node46.html | 92 --- docs/html/node47.html | 134 ----- docs/html/node48.html | 111 ---- docs/html/node49.html | 90 --- docs/html/node5.html | 194 ------- docs/html/node50.html | 88 --- docs/html/node51.html | 97 ---- docs/html/node52.html | 99 ---- docs/html/node53.html | 280 ---------- docs/html/node54.html | 317 ----------- docs/html/node55.html | 264 --------- docs/html/node56.html | 283 ---------- docs/html/node57.html | 216 ------- docs/html/node58.html | 281 ---------- docs/html/node59.html | 264 --------- docs/html/node6.html | 281 ---------- docs/html/node60.html | 283 ---------- docs/html/node61.html | 219 -------- docs/html/node62.html | 194 ------- docs/html/node63.html | 194 ------- docs/html/node64.html | 427 -------------- docs/html/node65.html | 470 ---------------- docs/html/node66.html | 239 -------- docs/html/node67.html | 253 --------- docs/html/node68.html | 234 -------- docs/html/node69.html | 77 --- docs/html/node7.html | 108 ---- docs/html/node70.html | 633 --------------------- docs/html/node71.html | 761 ------------------------- docs/html/node72.html | 270 --------- docs/html/node73.html | 277 --------- docs/html/node74.html | 133 ----- docs/html/node75.html | 450 --------------- docs/html/node76.html | 259 --------- docs/html/node77.html | 133 ----- docs/html/node78.html | 116 ---- docs/html/node79.html | 103 ---- docs/html/node8.html | 121 ---- docs/html/node80.html | 198 ------- docs/html/node81.html | 143 ----- docs/html/node82.html | 335 ----------- docs/html/node83.html | 209 ------- docs/html/node84.html | 114 ---- docs/html/node85.html | 133 ----- docs/html/node86.html | 151 ----- docs/html/node87.html | 221 -------- docs/html/node88.html | 128 ----- docs/html/node89.html | 118 ---- docs/html/node9.html | 247 -------- docs/html/node90.html | 138 ----- docs/html/node91.html | 213 ------- docs/html/node92.html | 165 ------ docs/html/node93.html | 125 ----- docs/html/node94.html | 149 ----- docs/html/node95.html | 125 ----- docs/html/node96.html | 149 ----- docs/html/node97.html | 130 ----- docs/html/node98.html | 129 ----- docs/html/node99.html | 256 --------- docs/html/prev.png | Bin 279 -> 0 bytes docs/html/prev_g.png | Bin 327 -> 0 bytes docs/html/up.png | Bin 211 -> 0 bytes docs/html/up_g.png | Bin 231 -> 0 bytes docs/html/userhtml.css | 30 - docs/html/userhtml.html | 414 -------------- 346 files changed, 26700 deletions(-) delete mode 100644 docs/html/WARNINGS delete mode 100644 docs/html/contents.png delete mode 100644 docs/html/footnode.html delete mode 100644 docs/html/images.aux delete mode 100644 docs/html/images.log delete mode 100644 docs/html/images.out delete mode 100644 docs/html/images.pl delete mode 100644 docs/html/images.tex delete mode 100644 docs/html/img1.png delete mode 100644 docs/html/img10.png delete mode 100644 docs/html/img100.png delete mode 100644 docs/html/img101.png delete mode 100644 docs/html/img102.png delete mode 100644 docs/html/img103.png delete mode 100644 docs/html/img104.png delete mode 100644 docs/html/img105.png delete mode 100644 docs/html/img106.png delete mode 100644 docs/html/img107.png delete mode 100644 docs/html/img108.png delete mode 100644 docs/html/img109.png delete mode 100644 docs/html/img11.png delete mode 100644 docs/html/img110.png delete mode 100644 docs/html/img111.png delete mode 100644 docs/html/img112.png delete mode 100644 docs/html/img113.png delete mode 100644 docs/html/img114.png delete mode 100644 docs/html/img115.png delete mode 100644 docs/html/img116.png delete mode 100644 docs/html/img117.png delete mode 100644 docs/html/img118.png delete mode 100644 docs/html/img119.png delete mode 100644 docs/html/img12.png delete mode 100644 docs/html/img120.png delete mode 100644 docs/html/img121.png delete mode 100644 docs/html/img122.png delete mode 100644 docs/html/img123.png delete mode 100644 docs/html/img124.png delete mode 100644 docs/html/img125.png delete mode 100644 docs/html/img126.png delete mode 100644 docs/html/img127.png delete mode 100644 docs/html/img128.png delete mode 100644 docs/html/img129.png delete mode 100644 docs/html/img13.png delete mode 100644 docs/html/img130.png delete mode 100644 docs/html/img131.png delete mode 100644 docs/html/img132.png delete mode 100644 docs/html/img133.png delete mode 100644 docs/html/img134.png delete mode 100644 docs/html/img135.png delete mode 100644 docs/html/img136.png delete mode 100644 docs/html/img137.png delete mode 100644 docs/html/img138.png delete mode 100644 docs/html/img139.png delete mode 100644 docs/html/img14.png delete mode 100644 docs/html/img140.png delete mode 100644 docs/html/img141.png delete mode 100644 docs/html/img142.png delete mode 100644 docs/html/img143.png delete mode 100644 docs/html/img144.png delete mode 100644 docs/html/img145.png delete mode 100644 docs/html/img146.png delete mode 100644 docs/html/img147.png delete mode 100644 docs/html/img148.png delete mode 100644 docs/html/img149.png delete mode 100644 docs/html/img15.png delete mode 100644 docs/html/img150.png delete mode 100644 docs/html/img151.png delete mode 100644 docs/html/img152.png delete mode 100644 docs/html/img153.png delete mode 100644 docs/html/img154.png delete mode 100644 docs/html/img155.png delete mode 100644 docs/html/img156.png delete mode 100644 docs/html/img157.png delete mode 100644 docs/html/img158.old delete mode 100644 docs/html/img158.png delete mode 100644 docs/html/img159.png delete mode 100644 docs/html/img16.png delete mode 100644 docs/html/img160.old delete mode 100644 docs/html/img160.png delete mode 100644 docs/html/img161.png delete mode 100644 docs/html/img162.png delete mode 100644 docs/html/img163.png delete mode 100644 docs/html/img164.png delete mode 100644 docs/html/img165.png delete mode 100644 docs/html/img166.png delete mode 100644 docs/html/img167.png delete mode 100644 docs/html/img168.png delete mode 100644 docs/html/img169.png delete mode 100644 docs/html/img17.png delete mode 100644 docs/html/img170.png delete mode 100644 docs/html/img171.png delete mode 100644 docs/html/img172.png delete mode 100644 docs/html/img173.png delete mode 100644 docs/html/img174.png delete mode 100644 docs/html/img175.png delete mode 100644 docs/html/img176.png delete mode 100644 docs/html/img177.png delete mode 100644 docs/html/img178.png delete mode 100644 docs/html/img179.png delete mode 100644 docs/html/img18.png delete mode 100644 docs/html/img180.png delete mode 100644 docs/html/img181.png delete mode 100644 docs/html/img182.png delete mode 100644 docs/html/img183.png delete mode 100644 docs/html/img184.png delete mode 100644 docs/html/img185.png delete mode 100644 docs/html/img186.png delete mode 100644 docs/html/img187.png delete mode 100644 docs/html/img19.png delete mode 100644 docs/html/img2.png delete mode 100644 docs/html/img20.png delete mode 100644 docs/html/img21.png delete mode 100644 docs/html/img22.png delete mode 100644 docs/html/img23.png delete mode 100644 docs/html/img24.png delete mode 100644 docs/html/img25.png delete mode 100644 docs/html/img26.png delete mode 100644 docs/html/img27.png delete mode 100644 docs/html/img28.png delete mode 100644 docs/html/img29.png delete mode 100644 docs/html/img3.png delete mode 100644 docs/html/img30.png delete mode 100644 docs/html/img31.png delete mode 100644 docs/html/img32.png delete mode 100644 docs/html/img33.png delete mode 100644 docs/html/img34.png delete mode 100644 docs/html/img35.png delete mode 100644 docs/html/img36.png delete mode 100644 docs/html/img37.png delete mode 100644 docs/html/img38.png delete mode 100644 docs/html/img39.png delete mode 100644 docs/html/img4.png delete mode 100644 docs/html/img40.png delete mode 100644 docs/html/img41.png delete mode 100644 docs/html/img42.png delete mode 100644 docs/html/img43.png delete mode 100644 docs/html/img44.png delete mode 100644 docs/html/img45.png delete mode 100644 docs/html/img46.png delete mode 100644 docs/html/img47.png delete mode 100644 docs/html/img48.png delete mode 100644 docs/html/img49.png delete mode 100644 docs/html/img5.png delete mode 100644 docs/html/img50.png delete mode 100644 docs/html/img51.png delete mode 100644 docs/html/img52.png delete mode 100644 docs/html/img53.png delete mode 100644 docs/html/img54.png delete mode 100644 docs/html/img55.png delete mode 100644 docs/html/img56.png delete mode 100644 docs/html/img57.png delete mode 100644 docs/html/img58.png delete mode 100644 docs/html/img59.png delete mode 100644 docs/html/img6.png delete mode 100644 docs/html/img60.png delete mode 100644 docs/html/img61.png delete mode 100644 docs/html/img62.png delete mode 100644 docs/html/img63.png delete mode 100644 docs/html/img64.png delete mode 100644 docs/html/img65.png delete mode 100644 docs/html/img66.png delete mode 100644 docs/html/img67.png delete mode 100644 docs/html/img68.png delete mode 100644 docs/html/img69.png delete mode 100644 docs/html/img7.png delete mode 100644 docs/html/img70.png delete mode 100644 docs/html/img71.png delete mode 100644 docs/html/img72.png delete mode 100644 docs/html/img73.png delete mode 100644 docs/html/img74.png delete mode 100644 docs/html/img75.png delete mode 100644 docs/html/img76.png delete mode 100644 docs/html/img77.png delete mode 100644 docs/html/img78.png delete mode 100644 docs/html/img79.png delete mode 100644 docs/html/img8.png delete mode 100644 docs/html/img80.png delete mode 100644 docs/html/img81.png delete mode 100644 docs/html/img82.png delete mode 100644 docs/html/img83.png delete mode 100644 docs/html/img84.png delete mode 100644 docs/html/img85.png delete mode 100644 docs/html/img86.png delete mode 100644 docs/html/img87.png delete mode 100644 docs/html/img88.png delete mode 100644 docs/html/img89.png delete mode 100644 docs/html/img9.png delete mode 100644 docs/html/img90.png delete mode 100644 docs/html/img91.png delete mode 100644 docs/html/img92.png delete mode 100644 docs/html/img93.png delete mode 100644 docs/html/img94.png delete mode 100644 docs/html/img95.png delete mode 100644 docs/html/img96.png delete mode 100644 docs/html/img97.png delete mode 100644 docs/html/img98.png delete mode 100644 docs/html/img99.png delete mode 100644 docs/html/index.html delete mode 100644 docs/html/internals.pl delete mode 100644 docs/html/labels.pl delete mode 100644 docs/html/next.png delete mode 100644 docs/html/next_g.png delete mode 100644 docs/html/node1.html delete mode 100644 docs/html/node10.html delete mode 100644 docs/html/node100.html delete mode 100644 docs/html/node101.html delete mode 100644 docs/html/node102.html delete mode 100644 docs/html/node103.html delete mode 100644 docs/html/node104.html delete mode 100644 docs/html/node105.html delete mode 100644 docs/html/node106.html delete mode 100644 docs/html/node107.html delete mode 100644 docs/html/node108.html delete mode 100644 docs/html/node109.html delete mode 100644 docs/html/node11.html delete mode 100644 docs/html/node110.html delete mode 100644 docs/html/node111.html delete mode 100644 docs/html/node112.html delete mode 100644 docs/html/node113.html delete mode 100644 docs/html/node114.html delete mode 100644 docs/html/node115.html delete mode 100644 docs/html/node116.html delete mode 100644 docs/html/node117.html delete mode 100644 docs/html/node118.html delete mode 100644 docs/html/node119.html delete mode 100644 docs/html/node12.html delete mode 100644 docs/html/node120.html delete mode 100644 docs/html/node121.html delete mode 100644 docs/html/node122.html delete mode 100644 docs/html/node123.html delete mode 100644 docs/html/node124.html delete mode 100644 docs/html/node125.html delete mode 100644 docs/html/node126.html delete mode 100644 docs/html/node127.html delete mode 100644 docs/html/node128.html delete mode 100644 docs/html/node129.html delete mode 100644 docs/html/node13.html delete mode 100644 docs/html/node130.html delete mode 100644 docs/html/node131.html delete mode 100644 docs/html/node132.html delete mode 100644 docs/html/node133.html delete mode 100644 docs/html/node134.html delete mode 100644 docs/html/node135.html delete mode 100644 docs/html/node136.html delete mode 100644 docs/html/node137.html delete mode 100644 docs/html/node138.html delete mode 100644 docs/html/node14.html delete mode 100644 docs/html/node15.html delete mode 100644 docs/html/node16.html delete mode 100644 docs/html/node17.html delete mode 100644 docs/html/node18.html delete mode 100644 docs/html/node19.html delete mode 100644 docs/html/node2.html delete mode 100644 docs/html/node20.html delete mode 100644 docs/html/node21.html delete mode 100644 docs/html/node22.html delete mode 100644 docs/html/node23.html delete mode 100644 docs/html/node24.html delete mode 100644 docs/html/node25.html delete mode 100644 docs/html/node26.html delete mode 100644 docs/html/node27.html delete mode 100644 docs/html/node28.html delete mode 100644 docs/html/node29.html delete mode 100644 docs/html/node3.html delete mode 100644 docs/html/node30.html delete mode 100644 docs/html/node31.html delete mode 100644 docs/html/node32.html delete mode 100644 docs/html/node33.html delete mode 100644 docs/html/node34.html delete mode 100644 docs/html/node35.html delete mode 100644 docs/html/node36.html delete mode 100644 docs/html/node37.html delete mode 100644 docs/html/node38.html delete mode 100644 docs/html/node39.html delete mode 100644 docs/html/node4.html delete mode 100644 docs/html/node40.html delete mode 100644 docs/html/node41.html delete mode 100644 docs/html/node42.html delete mode 100644 docs/html/node43.html delete mode 100644 docs/html/node44.html delete mode 100644 docs/html/node45.html delete mode 100644 docs/html/node46.html delete mode 100644 docs/html/node47.html delete mode 100644 docs/html/node48.html delete mode 100644 docs/html/node49.html delete mode 100644 docs/html/node5.html delete mode 100644 docs/html/node50.html delete mode 100644 docs/html/node51.html delete mode 100644 docs/html/node52.html delete mode 100644 docs/html/node53.html delete mode 100644 docs/html/node54.html delete mode 100644 docs/html/node55.html delete mode 100644 docs/html/node56.html delete mode 100644 docs/html/node57.html delete mode 100644 docs/html/node58.html delete mode 100644 docs/html/node59.html delete mode 100644 docs/html/node6.html delete mode 100644 docs/html/node60.html delete mode 100644 docs/html/node61.html delete mode 100644 docs/html/node62.html delete mode 100644 docs/html/node63.html delete mode 100644 docs/html/node64.html delete mode 100644 docs/html/node65.html delete mode 100644 docs/html/node66.html delete mode 100644 docs/html/node67.html delete mode 100644 docs/html/node68.html delete mode 100644 docs/html/node69.html delete mode 100644 docs/html/node7.html delete mode 100644 docs/html/node70.html delete mode 100644 docs/html/node71.html delete mode 100644 docs/html/node72.html delete mode 100644 docs/html/node73.html delete mode 100644 docs/html/node74.html delete mode 100644 docs/html/node75.html delete mode 100644 docs/html/node76.html delete mode 100644 docs/html/node77.html delete mode 100644 docs/html/node78.html delete mode 100644 docs/html/node79.html delete mode 100644 docs/html/node8.html delete mode 100644 docs/html/node80.html delete mode 100644 docs/html/node81.html delete mode 100644 docs/html/node82.html delete mode 100644 docs/html/node83.html delete mode 100644 docs/html/node84.html delete mode 100644 docs/html/node85.html delete mode 100644 docs/html/node86.html delete mode 100644 docs/html/node87.html delete mode 100644 docs/html/node88.html delete mode 100644 docs/html/node89.html delete mode 100644 docs/html/node9.html delete mode 100644 docs/html/node90.html delete mode 100644 docs/html/node91.html delete mode 100644 docs/html/node92.html delete mode 100644 docs/html/node93.html delete mode 100644 docs/html/node94.html delete mode 100644 docs/html/node95.html delete mode 100644 docs/html/node96.html delete mode 100644 docs/html/node97.html delete mode 100644 docs/html/node98.html delete mode 100644 docs/html/node99.html delete mode 100644 docs/html/prev.png delete mode 100644 docs/html/prev_g.png delete mode 100644 docs/html/up.png delete mode 100644 docs/html/up_g.png delete mode 100644 docs/html/userhtml.css delete mode 100644 docs/html/userhtml.html diff --git a/docs/html/WARNINGS b/docs/html/WARNINGS deleted file mode 100644 index 5b6c6c23..00000000 --- a/docs/html/WARNINGS +++ /dev/null @@ -1,12 +0,0 @@ -No implementation found for style `pstricks' -No implementation found for style `fancybox' -No implementation found for style `ifthen' -No implementation found for style `listings' - -redefining command \thepage - -Substitution of arg to newlabelxx delayed. - -? brace missing for \oldcontentsline - -? brace missing for \textrm diff --git a/docs/html/contents.png b/docs/html/contents.png deleted file mode 100644 index 0c752c66c876acaa2131d43788a7406f5979f746..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmV+x0qOpUP)n_8B^;cn$O_g|3BG{!1Fj&^JiWpJWLeA$WK=+#U`gfB`ZJpvc?v;;IiS zWN}RlBW%jSmz3^2R|i?JM0KMv+9z;7ee - - - - -Footnotes - - - - - - - - - - - - - - - - -
-
... -explicitly1
-
In our prototype implementation we provide -sample scatter/gather routines. - -
.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-
-
-
... domain2
-
This is - the normal situation when the pattern of the sparse matrix is - symmetric, which is equivalent to say that the interaction between - two variables is reciprocal. If the matrix pattern is non-symmetric - we may have one-way interactions, and these could cause a situation - in which a boundary point is not a halo point for its neighbour. - -
.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-
-
-
... prec%build3
-
The subroutine style psb_precinit and psb_precbl are still supported for - backward compatibility - -
.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-
-
-
... follows4
-
The string is case-insensitive - -
.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-
-
-
... method5
-
Note: - the implementation is for $FCG(1)$. - -
.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-.
-
-
-
- - diff --git a/docs/html/images.aux b/docs/html/images.aux deleted file mode 100644 index 07599084..00000000 --- a/docs/html/images.aux +++ /dev/null @@ -1,18 +0,0 @@ -\relax -\providecommand\hyper@newdestlabel[2]{} -\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} -\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined -\global\let\oldcontentsline\contentsline -\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} -\global\let\oldnewlabel\newlabel -\gdef\newlabel#1#2{\newlabelxx{#1}#2} -\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} -\AtEndDocument{\ifx\hyper@anchor\@undefined -\let\contentsline\oldcontentsline -\let\newlabel\oldnewlabel -\fi} -\fi} -\global\let\hyper@last\relax -\gdef\HyperFirstAtBeginDocument#1{#1} -\providecommand*\HyPL@Entry[1]{} -\HyPL@Entry{0<>} diff --git a/docs/html/images.log b/docs/html/images.log deleted file mode 100644 index fc4875b5..00000000 --- a/docs/html/images.log +++ /dev/null @@ -1,507 +0,0 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=latex 2019.9.9) 21 NOV 2019 13:53 -entering extended mode - restricted \write18 enabled. - %&-line parsing enabled. -**./images.tex -(./images.tex -LaTeX2e <2017-04-15> -Babel <3.18> and hyphenation patterns for 10 language(s) loaded. - -(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls -Document Class: article 2014/09/29 v1.4h Standard LaTeX document class -(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo -File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) -) -\c@part=\count79 -\c@section=\count80 -\c@subsection=\count81 -\c@subsubsection=\count82 -\c@paragraph=\count83 -\c@subparagraph=\count84 -\c@figure=\count85 -\c@table=\count86 -\abovecaptionskip=\skip41 -\belowcaptionskip=\skip42 -\bibindent=\dimen102 -) (/usr/share/texlive/texmf-dist/tex/latex/pstricks/pstricks.sty -Package: pstricks 2018/01/06 v0.67 LaTeX wrapper for `PSTricks' (RN,HV) -(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2013/04/04 v0.2 Provides if(tex) conditional for PDFTeX, XeTeX, -and LuaTeX -) (/usr/share/texlive/texmf-dist/tex/latex/tools/shellesc.sty -Package: shellesc 2016/06/07 v0.02a unified shell escape interface for LaTeX -Package shellesc Info: Restricted shell escape enabled on input line 69. -) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty -Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) -(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg -File: color.cfg 2016/01/02 v1.6 sample color configuration -) -Package xcolor Info: Driver file: dvips.def on input line 225. -(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/dvips.def -File: dvips.def 2017/06/20 v3.1d Graphics/color driver for dvips -) -Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. -Package xcolor Info: Model `RGB' extended on input line 1364. -Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. -Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. -Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. -Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. -Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. -Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. -) (/usr/share/texlive/texmf-dist/tex/generic/xkeyval/pst-xkey.tex -File: pst-xkey.tex 2005/11/25 v1.6 PSTricks specialization of xkeyval (HA) -(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty -Package: xkeyval 2014/12/03 v2.7a package option processing (HA) -(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex (/usr/share/texl -ive/texmf-dist/tex/generic/xkeyval/xkvutils.tex -\XKV@toks=\toks14 -\XKV@tempa@toks=\toks15 -(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/keyval.tex)) -\XKV@depth=\count87 -File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) -))) (/usr/share/texlive/texmf-dist/tex/generic/pstricks/pstricks.tex (/usr/shar -e/texlive/texmf-dist/tex/generic/pstricks/pst-fp.tex `pst-fp' v0.05, 2010/01/17 - (hv) -\pstFP@xs=\count88 -\pstFP@xia=\count89 -\pstFP@xib=\count90 -\pstFP@xfa=\count91 -\pstFP@xfb=\count92 -\pstFP@rega=\count93 -\pstFP@regb=\count94 -\pstFP@regs=\count95 -\pstFP@times=\count96 -) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex -\pgfutil@everybye=\toks16 -\pgfutil@tempdima=\dimen103 -\pgfutil@tempdimb=\dimen104 - -(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.t -ex)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex -\pgfkeys@pathtoks=\toks17 -\pgfkeys@temptoks=\toks18 - -(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.t -ex -\pgfkeys@tmptoks=\toks19 -)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex (/u -sr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex (/usr/share/t -exlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex (/usr/share/texlive -/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex -\pgf@x=\dimen105 -\pgf@xa=\dimen106 -\pgf@xb=\dimen107 -\pgf@xc=\dimen108 -\pgf@y=\dimen109 -\pgf@ya=\dimen110 -\pgf@yb=\dimen111 -\pgf@yc=\dimen112 -\c@pgf@counta=\count97 -\c@pgf@countb=\count98 -\c@pgf@countc=\count99 -\c@pgf@countd=\count100 -\pgfutil@tempcnta=\count101 -\pgfutil@tempcntb=\count102 -) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex -\pgfmath@dimen=\dimen113 -\pgfmath@count=\count103 -\pgfmath@box=\box26 -\pgfmath@toks=\toks20 -\pgfmath@stack@operand=\toks21 -\pgfmath@stack@operation=\toks22 -) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex - -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code -.tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonomet -ric.code.tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.cod -e.tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison -.code.tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code. -tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code -.tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code. -tex) -(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerari -thmetics.code.tex))) (/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmat -hfloat.code.tex -\c@pgfmathroundto@lastzeros=\count104 -)) -\pgffor@iter=\dimen114 -\pgffor@skip=\dimen115 -\pgffor@stack=\toks23 -\pgffor@toks=\toks24 -) -\psLoopIndex=\count105 -`PSTricks' v2.82 <2018/01/06> (tvz,hv) -\pst@dima=\dimen116 -\pst@dimb=\dimen117 -\pst@dimc=\dimen118 -\pst@dimd=\dimen119 -\pst@dimg=\dimen120 -\pst@dimh=\dimen121 -\pst@dimm=\dimen122 -\pst@dimn=\dimen123 -\pst@dimo=\dimen124 -\pst@dimp=\dimen125 -\pst@hbox=\box27 -\pst@ibox=\box28 -\pst@boxg=\box29 -\pst@cnta=\count106 -\pst@cntb=\count107 -\pst@cntc=\count108 -\pst@cntd=\count109 -\pst@cntg=\count110 -\pst@cnth=\count111 -\pst@cntm=\count112 -\pst@cntn=\count113 -\pst@cnto=\count114 -\pst@cntp=\count115 -\@zero=\count116 -\pst@toks=\toks25 -(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pstricks.con) -\psunit=\dimen126 -\psxunit=\dimen127 -\psyunit=\dimen128 -\pst@C@@rType=\count117 -\pslinewidth=\dimen129 -\psk@startLW=\dimen130 -\psk@endLW=\dimen131 -\pst@customdefs=\toks26 -\pslinearc=\dimen132 -\pst@symbolStep=\dimen133 -\pst@symbolWidth=\dimen134 -\pst@symbolLinewidth=\dimen135 -\everypsbox=\toks27 -\psframesep=\dimen136 -\pslabelsep=\dimen137 -\sh@wgridXunit=\dimen138 -\sh@wgridYunit=\dimen139 -\pst@shift=\dimen140 -) -File: pstricks.tex 2018/01/06 v2.82 `PSTricks' (tvz,hv) -(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pst-fp.tex) -File: pst-fp.tex 2018/01/06 v2.82 `PST-fp' (hv) -) (/usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty -Package: fancybox 2010/05/15 1.4 -Style option: `fancybox' v1.4 <2010/05/15> (tvz) -\@fancybox=\box30 -\shadowsize=\dimen141 -\@Sbox=\box31 -\do@VerbBox=\toks28 -\the@fancyput=\toks29 -\this@fancyput=\toks30 -\EndVerbatimTokens=\toks31 -\Verbatim@Outfile=\write3 -\Verbatim@Infile=\read1 -) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty -Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support -\@emptytoks=\toks32 -\symAMSa=\mathgroup4 -\symAMSb=\mathgroup5 -LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' -(Font) U/euf/m/n --> U/euf/b/n on input line 106. -) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty -Package: hyperref 2018/02/06 v6.86b Hypertext links for LaTeX -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty -Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty -Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) -Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) -Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) -Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) -Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) -Package ifluatex Info: LuaTeX not detected. -Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) -Package ifvtex Info: VTeX not detected. -Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) -Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch -Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) -Package etexcmds Info: Could not find \expanded. -(etexcmds) That can mean that you are not using pdfTeX 1.50 or -(etexcmds) that some package has redefined \expanded. -(etexcmds) In the latter case, load this package earlier. -Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) -Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) -Package: pdftexcmds 2018/01/21 v0.26 Utility functions of pdfTeX for LuaTeX (HO -) -Package pdftexcmds Info: LuaTeX not detected. -Package pdftexcmds Info: \pdf@primitive is available. -Package pdftexcmds Info: \pdf@ifprimitive is available. -Package pdftexcmds Info: \pdfdraftmode is ignored in DVI mode. -Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) -Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO -) -Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) -Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) -) -Package hobsub Info: Skipping package `hobsub' (already loaded). -Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) -Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) -Package: xcolor-patch 2016/05/16 xcolor patch -Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) -Package atveryend Info: \enddocument detected (standard20110627). -Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) -Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) -Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) -) (/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty -Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional -) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty -Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) -) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty -Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) -) -\@linkdim=\dimen142 -\Hy@linkcounter=\count118 -\Hy@pagecounter=\count119 -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def -File: pd1enc.def 2018/02/06 v6.86b Hyperref: PDFDocEncoding definition (HO) -) -\Hy@SavedSpaceFactor=\count120 -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg -File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive -) -Package hyperref Info: Option `bookmarks' set `true' on input line 4383. -Package hyperref Info: Option `bookmarksnumbered' set `true' on input line 4383 -. -Package hyperref Info: Option `bookmarksopen' set `false' on input line 4383. -Package hyperref Info: Option `plainpages' set `false' on input line 4383. -Package hyperref Info: Option `pdfpagelabels' set `true' on input line 4383. -Package hyperref Info: Option `colorlinks' set `true' on input line 4383. -Package hyperref Info: Hyper figures OFF on input line 4509. -Package hyperref Info: Link nesting OFF on input line 4514. -Package hyperref Info: Hyper index ON on input line 4517. -Package hyperref Info: Plain pages OFF on input line 4524. -Package hyperref Info: Backreferencing OFF on input line 4529. -Package hyperref Info: Implicit mode ON; LaTeX internals redefined. -Package hyperref Info: Bookmarks ON on input line 4762. -\c@Hy@tempcnt=\count121 -(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty -\Urlmuskip=\muskip10 -Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. -) -LaTeX Info: Redefining \url on input line 5115. -\XeTeXLinkMargin=\dimen143 -\Fld@menulength=\count122 -\Field@Width=\dimen144 -\Fld@charsize=\dimen145 -Package hyperref Info: Hyper figures OFF on input line 6369. -Package hyperref Info: Link nesting OFF on input line 6374. -Package hyperref Info: Hyper index ON on input line 6377. -Package hyperref Info: backreferencing OFF on input line 6384. -Package hyperref Info: Link coloring ON on input line 6387. -Package hyperref Info: Link coloring with OCG OFF on input line 6394. -Package hyperref Info: PDF/A mode OFF on input line 6399. -LaTeX Info: Redefining \ref on input line 6439. -LaTeX Info: Redefining \pageref on input line 6443. -\Hy@abspage=\count123 -\c@Item=\count124 -\c@Hfootnote=\count125 -) -Package hyperref Info: Driver (default): hdvips. -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hdvips.def -File: hdvips.def 2018/02/06 v6.86b Hyperref driver for dvips -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pdfmark.def -File: pdfmark.def 2018/02/06 v6.86b Hyperref definitions for pdfmark specials -\pdf@docset=\toks33 -\pdf@box=\box32 -\pdf@toks=\toks34 -\pdf@defaulttoks=\toks35 -\HyField@AnnotCount=\count126 -\Fld@listcount=\count127 -\c@bookmark@seq@number=\count128 -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty -Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) -Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 -82. -) -\Hy@SectionHShift=\skip43 -)) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty -Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) -) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty -Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty -Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty -Package: trig 2016/01/03 v1.10 sin cos tan (DPC) -) (/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg -File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration -) -Package graphics Info: Driver file: dvips.def on input line 99. -) -\Gin@req@height=\dimen146 -\Gin@req@width=\dimen147 -) -\c@theorem=\count129 -\c@corollary=\count130 -(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty -\lst@mode=\count131 -\lst@gtempboxa=\box33 -\lst@token=\toks36 -\lst@length=\count132 -\lst@currlwidth=\dimen148 -\lst@column=\count133 -\lst@pos=\count134 -\lst@lostspace=\dimen149 -\lst@width=\dimen150 -\lst@newlines=\count135 -\lst@lineno=\count136 -\lst@maxwidth=\dimen151 -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty -File: lstmisc.sty 2015/06/04 1.6 (Carsten Heinz) -\c@lstnumber=\count137 -\lst@skipnumbers=\count138 -\lst@framebox=\box34 -) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg -File: listings.cfg 2015/06/04 1.6 listings configuration -)) -Package: listings 2015/06/04 1.6 (Carsten Heinz) -\c@subroutine=\count139 -\c@example=\count140 -(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty -Package: inputenc 2015/03/17 v1.2c Input encoding file -\inpenc@prehook=\toks37 -\inpenc@posthook=\toks38 -(/usr/share/texlive/texmf-dist/tex/latex/base/latin1.def -File: latin1.def 2015/03/17 v1.2c Input encoding file -)) -\sizebox=\box35 -\lthtmlwrite=\write4 -(./images.aux (/home/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/intro.au -x) (/home/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/datastruct.aux) (/h -ome/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/psbrout.aux) (/home/cirda -n/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/commrout.aux) (/home/cirdan/Versio -niPSBLAS/8Bytes/psblas3/docs/src/tmp/toolsrout.aux) (/home/cirdan/VersioniPSBLA -S/8Bytes/psblas3/docs/src/tmp/penv.aux) (/home/cirdan/VersioniPSBLAS/8Bytes/psb -las3/docs/src/tmp/error.aux) (/home/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/s -rc/tmp/util.aux) (/home/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/precs -.aux) (/home/cirdan/VersioniPSBLAS/8Bytes/psblas3/docs/src/tmp/methods.aux)) -\openout1 = `images.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 149. -LaTeX Font Info: ... okay on input line 149. -\AtBeginShipoutBox=\box36 -Package hyperref Info: Link coloring ON on input line 149. -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty -Package: nameref 2016/05/21 v2.44 Cross-referencing by name of section -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty -Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) -) -\c@section@level=\count141 -) -LaTeX Info: Redefining \ref on input line 149. -LaTeX Info: Redefining \pageref on input line 149. -LaTeX Info: Redefining \nameref on input line 149. -(./images.out) (./images.out) -\@outlinefile=\write5 -\openout5 = `images.out'. - -\c@lstlisting=\count142 - -latex2htmlLength hsize=349.0pt - -latex2htmlLength vsize=682.0pt - -latex2htmlLength hoffset=0.0pt - -latex2htmlLength voffset=0.0pt - -latex2htmlLength topmargin=0.0pt - -latex2htmlLength topskip=0.00003pt - -latex2htmlLength headheight=0.0pt - -latex2htmlLength headsep=0.0pt - -latex2htmlLength parskip=0.0pt plus 1.0pt - -latex2htmlLength oddsidemargin=28.0pt - -latex2htmlLength evensidemargin=79.0pt - -LaTeX Font Info: Try loading font information for OMS+cmr on input line 225. - -(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd -File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions -) -LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <9> not available -(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 225. -LaTeX Font Info: Try loading font information for U+msa on input line 228. -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd -File: umsa.fd 2013/01/14 v3.01 AMS symbols A -) -LaTeX Font Info: Try loading font information for U+msb on input line 228. -(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd -File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) - -! LaTeX Error: Misplaced \endSbox! Should be in LR mode. - -See the LaTeX manual or LaTeX Companion for explanation. -Type H for immediate help. - ... - -l.229 \end{Sbox} - % -You're in trouble here. Try typing to proceed. -If that doesn't work, type X to quit. - -l2hSize :Sbox7771:0.0pt::0.0pt::0.0pt. -[1 - - - -] - -! LaTeX Error: Misplaced \endSbox! Should be in LR mode. - -See the LaTeX manual or LaTeX Companion for explanation. -Type H for immediate help. - ... - -l.260 \end{Sbox} - % -You're in trouble here. Try typing to proceed. -If that doesn't work, type X to quit. - -l2hSize :Sbox7788:0.0pt::0.0pt::0.0pt. -[2 - - -] -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 273. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 273. -(./images.aux) -Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 273. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 273. -Package rerunfilecheck Info: File `images.out' has not changed. -(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0. -Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 273. - ) -Here is how much of TeX's memory you used: - 13704 strings out of 494799 - 227394 string characters out of 6177696 - 322233 words of memory out of 5000000 - 16868 multiletter control sequences out of 15000+600000 - 6061 words of font info for 25 fonts, out of 8000000 for 9000 - 81 hyphenation exceptions out of 8191 - 36i,6n,40p,409b,1382s stack positions out of 5000i,500n,10000p,200000b,80000s - -Output written on images.dvi (2 pages, 3212 bytes). diff --git a/docs/html/images.out b/docs/html/images.out deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/html/images.pl b/docs/html/images.pl deleted file mode 100644 index 2fcccff4..00000000 --- a/docs/html/images.pl +++ /dev/null @@ -1,1182 +0,0 @@ -# LaTeX2HTML 2018 (Released Feb 1, 2018) -# Associate images original text with physical files. - - -$key = q/(0dotsnp-1);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$(0\dots np-1)$|; - -$key = q/(1dotsmg);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$(1\dots mg)$|; - -$key = q/(1dotsnp);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$(1\dots np)$|; - -$key = q/(i+irw-1),ja(j),val(j);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$(i+irw-1),ja(j),val(j)$|; - -$key = q/-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$-1$|; - -$key = q/-1<=root<=np-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$-1<= root <= np-1$|; - -$key = q/-1leiamlenp-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$-1 \le iam \le np-1$|; - -$key = q/-1lerootlenp-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$-1\le root\le np-1$|; - -$key = q/0,1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0,1$|; - -$key = q/0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0$|; - -$key = q/0<=dst<=np-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0<= dst <= np-1$|; - -$key = q/0<=m<=size(dat,1);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0<= m <= size(dat,1)$|; - -$key = q/0<=root<=np-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0<= root <= np-1$|; - -$key = q/0<=src<=np-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0<= src <= np-1$|; - -$key = q/0leiamlenp-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0 \le iam \le np-1$|; - -$key = q/0leidlenp-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$0 \le id \le np-1$|; - -$key = q/0lepv(i)|; - -$key = q/1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$1$|; - -$key = q/1dotsn;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$1\dots n$|; - -$key = q/1dotsn_{hbox{row}_i};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$1\dots n_{\hbox{row}_i}$|; - -$key = q/=0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$=0$|; - -$key = q/>0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$>0$|; - -$key = q/A;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$A$|; - -$key = q/A^T;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$A^T$|; - -$key = q/CG;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$CG$|; - -$key = q/D;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$D$|; - -$key = q/FCG(1);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$FCG(1)$|; - -$key = q/I;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$I$|; - -$key = q/ILU(0);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ILU(0)$|; - -$key = q/IX;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$IX$|; - -$key = q/N_I=nl;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$N_I=nl$|; - -$key = q/O(n^2);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$O(n^2)$|; - -$key = q/O(nlogn);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$O(n \log n)$|; - -$key = q/P^T;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$P^T$|; - -$key = q/P^{T};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$P^{T}$|; - -$key = q/P_a;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$P_a$|; - -$key = q/P_aP^T;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$P_aP^T$|; - -$key = q/Q;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$Q$|; - -$key = q/T;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$T$|; - -$key = q/X;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$X$|; - -$key = q/a;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$a$|; - -$key = q/a_{ij}ne0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$a_{ij} \ne0$|; - -$key = q/alpha;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\alpha$|; - -$key = q/amax;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$amax$|; - -$key = q/asum;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$asum$|; - -$key = q/beta;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\beta$|; - -$key = q/calB;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\cal B$|; - -$key = q/calH;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\cal H$|; - -$key = q/calI;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\cal I$|; - -$key = q/collect;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$collect$|; - -$key = q/dat;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$dat$|; - -$key = q/dat_i;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$dat_i$|; - -$key = q/diag(1)=1(noscaling);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$diag(1) = 1 (no scaling)$|; - -$key = q/dot;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$dot$|; - -$key = q/dst;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$dst$|; - -$key = q/fbox{TheSbox};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\fbox{\TheSbox}|; - -$key = q/flag=psb_sort_keep_idx_;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$flag = psb\_sort\_keep\_idx\_$|; - -$key = q/flag=psb_sort_ovw_idx_;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$flag = psb\_sort\_ovw\_idx\_$|; - -$key = q/glob_x;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$glob\_x$|; - -$key = q/glob_x_{1:m,1:n};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$glob\_x_{1:m,1:n}$|; - -$key = q/i+irw-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$i+irw-1$|; - -$key = q/i;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$i$|; - -$key = q/i=1,dots,nz;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$i=1,\dots,nz$|; - -$key = q/i=1,nr;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$i=1,nr$|; - -$key = q/ia(i),ja(i),val(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ia(i),ja(i),val(i)$|; - -$key = q/ia(i),ja(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ia(i),ja(i)$|; - -$key = q/ia(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ia(i)$|; - -$key = q/iam=-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$iam=-1$|; - -$key = q/id;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$id$|; - -$key = q/iin{1dotsmg};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$i\in \{1\dots mg\}$|; - -$key = q/includegraphics[scale=0.45]{figuresslashtry8x8.eps};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.45]{figures/try8x8.eps}|; - -$key = q/includegraphics[scale=0.45]{figuresslashtry8x8};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.45]{figures/try8x8}|; - -$key = q/includegraphics[scale=0.65]{figuresslashpoints.eps};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.65]{figures/points.eps}|; - -$key = q/includegraphics[scale=0.65]{figuresslashpsblas.eps};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.65]{figures/psblas.eps}|; - -$key = q/includegraphics[scale=0.65]{figuresslashpsblas};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.65]{figures/psblas}|; - -$key = q/includegraphics[scale=0.65]{figuresslashtry8x8_ov.eps};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.65]{figures/try8x8_ov.eps}|; - -$key = q/includegraphics[scale=0.65]{figuresslashtry8x8_ov};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\includegraphics[scale=0.65]{figures/try8x8_ov}|; - -$key = q/irst>0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$irst>0$|; - -$key = q/irw(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$irw(i)$|; - -$key = q/itmax=1000;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$itmax = 1000$|; - -$key = q/itmaxge1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$itmax \ge 1$|; - -$key = q/itrace;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$itrace$|; - -$key = q/itrace=-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$itrace = -1$|; - -$key = q/ix(1:n);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ix(1:n)$|; - -$key = q/ix(:);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ix(:)$|; - -$key = q/ix(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ix(i)$|; - -$key = q/ix(i)leftarrowi;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ix(i) \leftarrow
-i$|; - -$key = q/j;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$j$|; - -$key = q/j=irp(i),dots,irp(i+1)-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$j=irp(i),\dots,irp(i+1)-1$|; - -$key = q/ja(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ja(i)$|; - -$key = q/lidx(1:nl);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$lidx(1:nl)$|; - -$key = q/loc_x_i;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$loc\_x_i$|; - -$key = q/m;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$m$|; - -$key = q/mg;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$mg$|; - -$key = q/n;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$n$|; - -$key = q/n_{hbox{row}_i}+1dotsn_{hbox{col}_i};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$n_{\hbox{row}_i}+1\dots n_{\hbox{col}_i}$|; - -$key = q/nlge0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nl\ge 0$|; - -$key = q/nnz;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nnz$|; - -$key = q/np-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$np-1$|; - -$key = q/np;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$np$|; - -$key = q/nr+1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nr+1$|; - -$key = q/nrm2;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nrm2$|; - -$key = q/nv>1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nv>1$|; - -$key = q/nz;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nz$|; - -$key = q/nzin+nz;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$nzin+nz$|; - -$key = q/ptype;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$ptype$|; - -$key = q/r_i=b-Ax_i;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$r_i=b-Ax_i$|; - -$key = q/res;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$res$|; - -$key = q/root=-1;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$root=-1$|; - -$key = q/rotatebox{-90}{includegraphics[scale=0.65]{figuresslashpoints}};FSF=1.6;AAT/; -$cached_env_img{$key} = q|\rotatebox{-90}{\includegraphics[scale=0.65]{figures/points}}|; - -$key = q/row;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$row$|; - -$key = q/scatter;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$scatter$|; - -$key = q/size(dat,1);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$size(dat,1)$|; - -$key = q/slash;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$/$|; - -$key = q/src;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$src$|; - -$key = q/trans=N;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$trans = N$|; - -$key = q/unitd=U;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$unitd = U$|; - -$key = q/update_type=psb_avg_;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$update\_type = psb\_avg\_ $|; - -$key = q/val;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$val$|; - -$key = q/vg(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$vg(i)$|; - -$key = q/vg;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$vg$|; - -$key = q/vl(1:nl);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$vl(1:nl)$|; - -$key = q/vl;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$vl$|; - -$key = q/x(i);MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x(i)$|; - -$key = q/x(i)=0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x(i) = 0$|; - -$key = q/x;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x$|; - -$key = q/x_i,y;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x_i, y$|; - -$key = q/x_i;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x_i$|; - -$key = q/x_{:,:};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$x_{:, :}$|; - -$key = q/y(i)=0;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$y(i) = 0$|; - -$key = q/y;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$y$|; - -$key = q/y_{:,:};MSF=1.6;AAT/; -$cached_env_img{$key} = q|$y_{:, :}$|; - -$key = q/{displaymath}14{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}\verb\vert psb_version_string_\vert\end{displaymath}|; - -$key = q/{displaymath}amaxleftarrowmax_i{(|re(x_i)|+|im(x_i)|)}{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}amax \leftarrow \max_i {(\vert re(x_i)\vert + \vert im(x_i)\vert)}\end{displaymath}|; - -$key = q/{displaymath}amaxleftarrowmax_i|x_i|{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}amax \leftarrow \max_i \vert x_i\vert\end{displaymath}|; - -$key = q/{displaymath}asumleftarrow|re(x)|_1+|im(x)|_1{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}asum \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath}|; - -$key = q/{displaymath}asumleftarrow|x_i|{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}asum \leftarrow \Vert x_i\Vert\end{displaymath}|; - -$key = q/{displaymath}dotleftarrowx(i)y(i).{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}dot \leftarrow x(i) y(i).\end{displaymath}|; - -$key = q/{displaymath}dotleftarrowx^Hy{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}dot \leftarrow x^H y\end{displaymath}|; - -$key = q/{displaymath}dotleftarrowx^Ty{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}dot \leftarrow x^T y\end{displaymath}|; - -$key = q/{displaymath}err=frac{|r_i|}{(|A||x_i|+|b|)}|; - -$key = q/{displaymath}err=frac{|r_i|}{|b|_2}|; - -$key = q/{displaymath}err=frac{|r_i|}{|r_0|_2}|; - -$key = q/{displaymath}glob_xleftarrowcollect(loc_x_i){displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}glob\_x \leftarrow collect(loc\_x_i) \end{displaymath}|; - -$key = q/{displaymath}loc_x_ileftarrowscatter(glob_x){displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}loc\_x_i \leftarrow scatter(glob\_x) \end{displaymath}|; - -$key = q/{displaymath}nrm1leftarrow|A|_1{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}nrm1 \leftarrow \Vert A\Vert _1 \end{displaymath}|; - -$key = q/{displaymath}nrm2leftarrowsqrt{x^Hx}{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}nrm2 \leftarrow \sqrt{x^H x}\end{displaymath}|; - -$key = q/{displaymath}nrm2leftarrowsqrt{x^Tx}{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}nrm2 \leftarrow \sqrt{x^T x}\end{displaymath}|; - -$key = q/{displaymath}nrmileftarrow|A|_infty{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}nrmi \leftarrow \Vert A\Vert _\infty \end{displaymath}|; - -$key = q/{displaymath}res(i)leftarrowmax_k|x(k,i)|{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath}|; - -$key = q/{displaymath}res(i)leftarrowx(:,i)^Ty(:,i){displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res(i) \leftarrow x(:,i)^T y(:,i)\end{displaymath}|; - -$key = q/{displaymath}res(i)leftarrow|re(x)|_1+|im(x)|_1{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res(i) \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath}|; - -$key = q/{displaymath}res(i)leftarrow|x(:,i)|_2{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res(i) \leftarrow \Vert x(:,i)\Vert _2 \end{displaymath}|; - -$key = q/{displaymath}res(i)leftarrow|x_i|{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res(i) \leftarrow \Vert x_i\Vert\end{displaymath}|; - -$key = q/{displaymath}res=sqrt{sum_idat_i^2},{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}res = \sqrt{\sum_i dat_i^2},\end{displaymath}|; - -$key = q/{displaymath}slashleftarrow1slashx(i).{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}/ \leftarrow 1/x(i).\end{displaymath}|; - -$key = q/{displaymath}slashleftarrowx(i)slashy(i).{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}/ \leftarrow x(i)/y(i).\end{displaymath}|; - -$key = q/{displaymath}xleftarrowQx{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}x \leftarrow Q x \end{displaymath}|; - -$key = q/{displaymath}xleftarrowx{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}x \leftarrow x \end{displaymath}|; - -$key = q/{displaymath}yleftarrowalpha>x+betay{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}y \leftarrow \alpha\> x+ \beta y \end{displaymath}|; - -$key = q/{displaymath}yleftarrowalphaA^Hx+betay{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}
-y \leftarrow \alpha A^H x + \beta y
-\end{displaymath}|; - -$key = q/{displaymath}yleftarrowalphaA^Tx+betay{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}
-y \leftarrow \alpha A^T x + \beta y
-\end{displaymath}|; - -$key = q/{displaymath}yleftarrowalphaAx+betay{displaymath};MSF=1.6;AAT/; -$cached_env_img{$key} = q|\begin{displaymath}
-y \leftarrow \alpha A x + \beta y
-\end{displaymath}|; - -$key = q/{eqnarraystar}y&leftarrow&alphaT^{-1}x+betayy&leftarrow&alphaDT^{-1}x+betayy&lefhaDT^{-H}x+betayy&leftarrow&alphaT^{-H}Dx+betay{eqnarraystar};MSF=1.6;TAGS=R;AAT/; -$cached_env_img{$key} = q|\begin{eqnarray*}
-y &\leftarrow& \alpha T^{-1} x + \beta y\\\\
-y &\leftarrow& \al...
-...-H} x + \beta y\\\\
-y &\leftarrow& \alpha T^{-H} D x + \beta y\\\\
-\end{eqnarray*}|; - -$key = q/{lstlisting}callhb_read(a,iret,iunit,filename,b,mtitle){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call hb_read(a, iret, iunit, filename, b, mtitle)
-\end{lstlisting}|; - -$key = q/{lstlisting}callhb_write(a,iret,iunit,filename,key,rhs,mtitle){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call hb_write(a, iret, iunit, filename, key, rhs, mtitle)
-\end{lstlisting}|; - -$key = q/{lstlisting}callmm_array_read(b,iret,iunit,filename){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call mm_array_read(b, iret, iunit, filename)
-\end{lstlisting}|; - -$key = q/{lstlisting}callmm_array_write(b,iret,iunit,filename){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call mm_array_write(b, iret, iunit, filename)
-\end{lstlisting}|; - -$key = q/{lstlisting}callmm_mat_read(a,iret,iunit,filename){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call mm_mat_read(a, iret, iunit, filename)
-\end{lstlisting}|; - -$key = q/{lstlisting}callmm_mat_write(a,mtitle,iret,iunit,filename){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call mm_mat_write(a, mtitle, iret, iunit, filename)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_error(icontxt){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_error(icontxt)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_errpush(err_c,r_name,i_err,a_err){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_errpush(err_c, r_name, i_err, a_err)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_gather(glob_x,loc_x,desc_a,info,root)callpsb_gather(glob_x,loc_x,desc_a,info,root){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_gather(glob_x, loc_x, desc_a, info, root)
-call psb_gather(glob_x, loc_x, desc_a, info, root)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_halo(x,desc_a,info)callpsb_halo(x,desc_a,info,work,data){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_halo(x, desc_a, info)
-call psb_halo(x, desc_a, info, work, data)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_krylov(method,a,prec,b,x,eps,desc_a,info,&&itmax,iter,err,itrace,irst,istop,cond){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_krylov(method,a,prec,b,x,eps,desc_a,info,&
-& itmax,iter,err,itrace,irst,istop,cond)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_ovrl(x,desc_a,info)callpsb_ovrl(x,desc_a,info,update=update_type,work=work){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_ovrl(x, desc_a, info)
-call psb_ovrl(x, desc_a, info, update=update_type, work=work)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_scatter(glob_x,loc_x,desc_a,info,root,mold){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_scatter(glob_x, loc_x, desc_a, info, root, mold)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_set_erraction(err_act){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_set_erraction(err_act)
-\end{lstlisting}|; - -$key = q/{lstlisting}callpsb_set_errverbosity(v){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-call psb_set_errverbosity(v)
-\end{lstlisting}|; - -$key = q/{lstlisting}vres(1)=psb_geamax(x1,desc_a,info,global=.false.)vres(2)=psb_geamax(eamax(x3,desc_a,info,global=.false.)callpsb_amx(ictxt,vres(1:3)){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-vres(1) = psb_geamax(x1,desc_a,info,global=.false.)
-vres(2)...
-...(x3,desc_a,info,global=.false.)
-call psb_amx(ictxt,vres(1:3))
-\end{lstlisting}|; - -$key = q/{lstlisting}vres(1)=psb_geasum(x1,desc_a,info,global=.false.)vres(2)=psb_geasum(easum(x3,desc_a,info,global=.false.)callpsb_sum(ictxt,vres(1:3)){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-vres(1) = psb_geasum(x1,desc_a,info,global=.false.)
-vres(2)...
-...(x3,desc_a,info,global=.false.)
-call psb_sum(ictxt,vres(1:3))
-\end{lstlisting}|; - -$key = q/{lstlisting}vres(1)=psb_gedot(x1,y1,desc_a,info,global=.false.)vres(2)=psb_gedotot(x3,y3,desc_a,info,global=.false.)callpsb_sum(ictxt,vres(1:3)){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-vres(1) = psb_gedot(x1,y1,desc_a,info,global=.false.)
-vres(...
-...,y3,desc_a,info,global=.false.)
-call psb_sum(ictxt,vres(1:3))
-\end{lstlisting}|; - -$key = q/{lstlisting}vres(1)=psb_genrm2(x1,desc_a,info,global=.false.)vres(2)=psb_genrm2(nrm2(x3,desc_a,info,global=.false.)callpsb_nrm2(ictxt,vres(1:3)){lstlisting};AAT/; -$cached_env_img{$key} = q|\begin{lstlisting}
-vres(1) = psb_genrm2(x1,desc_a,info,global=.false.)
-vres(2)...
-...x3,desc_a,info,global=.false.)
-call psb_nrm2(ictxt,vres(1:3))
-\end{lstlisting}|; - -$key = q/|{calI}_i|+|{calB}_i|+|{calH}_i|;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert +\vert{\cal H}_i\vert$|; - -$key = q/|{calI}_i|+|{calB}_i|;MSF=1.6;AAT/; -$cached_env_img{$key} = q|$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert$|; - -1; - diff --git a/docs/html/images.tex b/docs/html/images.tex deleted file mode 100644 index 2191e46c..00000000 --- a/docs/html/images.tex +++ /dev/null @@ -1,273 +0,0 @@ -\batchmode -\documentclass[10pt,a4paper,twoside]{article} - -\usepackage{pstricks} -\usepackage{fancybox} -\usepackage{amsfonts} -\usepackage[bookmarks=true, bookmarksnumbered=true, bookmarksopen=false, plainpages=false, pdfpagelabels, colorlinks, linkcolor=blue]{hyperref} -\usepackage{ifthen} -\usepackage{graphicx} - -\newtheorem{theorem}{Theorem} -\newtheorem{corollary}{Corollary} \usepackage{listings} - - -\pdfoutput=0 - - - -\newcounter{subroutine}[subsection] -\newcounter{example}[subroutine] \makeatletter% -\providecommand{\subsubroutine}[2]{% -\stepcounter{subroutine}% - \subsection*{\flushleft #1---#2 \endflushleft}% - \addcontentsline{toc}{subsubsection}{#1}% - \markright{#1}}%% -\providecommand{\subsubsubroutine}[2]{% -\stepcounter{subroutine}% - \subsubsection*{\flushleft #1---#2 \endflushleft}% - \addcontentsline{toc}{paragraph}{#1}% - \markright{#1}}%% -\providecommand{\examplename}{Example}% -\providecommand{\syntaxname}{Syntax} - -\makeatother% -\providecommand{\example}{\stepcounter{example}% -\section*{Example~\arabic{example}}} - -% -\providecommand{\precdata}{\hyperlink{precdata}{{\tt psb\_prec\_type}}}% -\providecommand{\descdata}{\hyperlink{descdata}{{\tt psb\_desc\_type}}}% -\providecommand{\spdata}{\hyperlink{spdata}{{\tt psb\_Tspmat\_type}}}% -\providecommand{\vdata}{\hyperlink{vdata}{{\tt psb\_T\_vect\_type}}}% -\providecommand{\spbasedata}{\hypertarget{spbasedata}{{\tt psb\_T\_base\_sparse\_mat}}}% -\providecommand{\vbasedata}{\hypertarget{vbasedata}{{\tt psb\_T\_base\_vect\_type}}} - - - - -\usepackage[latin1]{inputenc} - - - -\makeatletter - -\makeatletter -\count@=\the\catcode`\_ \catcode`\_=8 -\newenvironment{tex2html_wrap}{}{}% -\catcode`\<=12\catcode`\_=\count@ -\newcommand{\providedcommand}[1]{\expandafter\providecommand\csname #1\endcsname}% -\newcommand{\renewedcommand}[1]{\expandafter\providecommand\csname #1\endcsname{}% - \expandafter\renewcommand\csname #1\endcsname}% -\newcommand{\newedenvironment}[1]{\newenvironment{#1}{}{}\renewenvironment{#1}}% -\let\newedcommand\renewedcommand -\let\renewedenvironment\newedenvironment -\makeatother -\let\mathon=$ -\let\mathoff=$ -\ifx\AtBeginDocument\undefined \newcommand{\AtBeginDocument}[1]{}\fi -\newbox\sizebox -\setlength{\hoffset}{0pt}\setlength{\voffset}{0pt} -\addtolength{\textheight}{\footskip}\setlength{\footskip}{0pt} -\addtolength{\textheight}{\topmargin}\setlength{\topmargin}{0pt} -\addtolength{\textheight}{\headheight}\setlength{\headheight}{0pt} -\addtolength{\textheight}{\headsep}\setlength{\headsep}{0pt} -\setlength{\textwidth}{349pt} -\newwrite\lthtmlwrite -\makeatletter -\let\realnormalsize=\normalsize -\global\topskip=2sp -\def\preveqno{}\let\real@float=\@float \let\realend@float=\end@float -\def\@float{\let\@savefreelist\@freelist\real@float} -\def\liih@math{\ifmmode$\else\bad@math\fi} -\def\end@float{\realend@float\global\let\@freelist\@savefreelist} -\let\real@dbflt=\@dbflt \let\end@dblfloat=\end@float -\let\@largefloatcheck=\relax -\let\if@boxedmulticols=\iftrue -\def\@dbflt{\let\@savefreelist\@freelist\real@dbflt} -\def\adjustnormalsize{\def\normalsize{\mathsurround=0pt \realnormalsize - \parindent=0pt\abovedisplayskip=0pt\belowdisplayskip=0pt}% - \def\phantompar{\csname par\endcsname}\normalsize}% -\def\lthtmltypeout#1{{\let\protect\string \immediate\write\lthtmlwrite{#1}}}% -\newcommand\lthtmlhboxmathA{\adjustnormalsize\setbox\sizebox=\hbox\bgroup\kern.05em }% -\newcommand\lthtmlhboxmathB{\adjustnormalsize\setbox\sizebox=\hbox to\hsize\bgroup\hfill }% -\newcommand\lthtmlvboxmathA{\adjustnormalsize\setbox\sizebox=\vbox\bgroup % - \let\ifinner=\iffalse \let\)\liih@math }% -\newcommand\lthtmlboxmathZ{\@next\next\@currlist{}{\def\next{\voidb@x}}% - \expandafter\box\next\egroup}% -\newcommand\lthtmlmathtype[1]{\gdef\lthtmlmathenv{#1}}% -\newcommand\lthtmllogmath{\dimen0\ht\sizebox \advance\dimen0\dp\sizebox - \ifdim\dimen0>.95\vsize - \lthtmltypeout{% -*** image for \lthtmlmathenv\space is too tall at \the\dimen0, reducing to .95 vsize ***}% - \ht\sizebox.95\vsize \dp\sizebox\z@ \fi - \lthtmltypeout{l2hSize % -:\lthtmlmathenv:\the\ht\sizebox::\the\dp\sizebox::\the\wd\sizebox.\preveqno}}% -\newcommand\lthtmlfigureA[1]{\let\@savefreelist\@freelist - \lthtmlmathtype{#1}\lthtmlvboxmathA}% -\newcommand\lthtmlpictureA{\bgroup\catcode`\_=8 \lthtmlpictureB}% -\newcommand\lthtmlpictureB[1]{\lthtmlmathtype{#1}\egroup - \let\@savefreelist\@freelist \lthtmlhboxmathB}% -\newcommand\lthtmlpictureZ[1]{\hfill\lthtmlfigureZ}% -\newcommand\lthtmlfigureZ{\lthtmlboxmathZ\lthtmllogmath\copy\sizebox - \global\let\@freelist\@savefreelist}% -\newcommand\lthtmldisplayA{\bgroup\catcode`\_=8 \lthtmldisplayAi}% -\newcommand\lthtmldisplayAi[1]{\lthtmlmathtype{#1}\egroup\lthtmlvboxmathA}% -\newcommand\lthtmldisplayB[1]{\edef\preveqno{(\theequation)}% - \lthtmldisplayA{#1}\let\@eqnnum\relax}% -\newcommand\lthtmldisplayZ{\lthtmlboxmathZ\lthtmllogmath\lthtmlsetmath}% -\newcommand\lthtmlinlinemathA{\bgroup\catcode`\_=8 \lthtmlinlinemathB} -\newcommand\lthtmlinlinemathB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA - \vrule height1.5ex width0pt }% -\newcommand\lthtmlinlineA{\bgroup\catcode`\_=8 \lthtmlinlineB}% -\newcommand\lthtmlinlineB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA}% -\newcommand\lthtmlinlineZ{\egroup\expandafter\ifdim\dp\sizebox>0pt % - \expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetinline} -\newcommand\lthtmlinlinemathZ{\egroup\expandafter\ifdim\dp\sizebox>0pt % - \expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetmath} -\newcommand\lthtmlindisplaymathZ{\egroup % - \centerinlinemath\lthtmllogmath\lthtmlsetmath} -\def\lthtmlsetinline{\hbox{\vrule width.1em \vtop{\vbox{% - \kern.1em\copy\sizebox}\ifdim\dp\sizebox>0pt\kern.1em\else\kern.3pt\fi - \ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}} -\def\lthtmlsetmath{\hbox{\vrule width.1em\kern-.05em\vtop{\vbox{% - \kern.1em\kern0.8 pt\hbox{\hglue.17em\copy\sizebox\hglue0.8 pt}}\kern.3pt% - \ifdim\dp\sizebox>0pt\kern.1em\fi \kern0.8 pt% - \ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}} -\def\centerinlinemath{% - \dimen1=\ifdim\ht\sizebox<\dp\sizebox \dp\sizebox\else\ht\sizebox\fi - \advance\dimen1by.5pt \vrule width0pt height\dimen1 depth\dimen1 - \dp\sizebox=\dimen1\ht\sizebox=\dimen1\relax} - -\def\lthtmlcheckvsize{\ifdim\ht\sizebox<\vsize - \ifdim\wd\sizebox<\hsize\expandafter\hfill\fi \expandafter\vfill - \else\expandafter\vss\fi}% -\providecommand{\selectlanguage}[1]{}% -\makeatletter \tracingstats = 1 - - -\begin{document} -\pagestyle{empty}\thispagestyle{empty}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength hsize=\the\hsize}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength vsize=\the\vsize}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength hoffset=\the\hoffset}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength voffset=\the\voffset}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength topmargin=\the\topmargin}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength topskip=\the\topskip}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength headheight=\the\headheight}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength headsep=\the\headsep}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength parskip=\the\parskip}\lthtmltypeout{}% -\lthtmltypeout{latex2htmlLength oddsidemargin=\the\oddsidemargin}\lthtmltypeout{}% -\makeatletter -\if@twoside\lthtmltypeout{latex2htmlLength evensidemargin=\the\evensidemargin}% -\else\lthtmltypeout{latex2htmlLength evensidemargin=\the\oddsidemargin}\fi% -\lthtmltypeout{}% -\makeatother -\setcounter{page}{1} -\onecolumn - -% !!! IMAGES START HERE !!! - -\begingroup -\renewcommand{\thepage}{toc} -\endgroup -\stepcounter{section} -\stepcounter{section} -\stepcounter{subsection} -\stepcounter{subsection} -\stepcounter{subsection} -\stepcounter{subsubsection} -\stepcounter{subsection} -\stepcounter{section} -\stepcounter{subsection} -\stepcounter{subsubsection} -\stepcounter{subsubsection} -\stepcounter{subsection} -\stepcounter{subsubsection} -\stepcounter{subsubsection} -\stepcounter{subsection} -\stepcounter{subsubsection} -\stepcounter{subsection} -\stepcounter{subsection} -\stepcounter{section} -\stepcounter{section} -\stepcounter{section} -\stepcounter{section} -\stepcounter{section} -{\newpage\clearpage -\lthtmlfigureA{Sbox7771}% -\begin{Sbox} - \begin{minipage}[tl]{0.95\textwidth} -\small -\begin{lstlisting} -subroutine psb_foo(some args, info) - ... - if(error detected) then - info=errcode1 - call psb_errpush('psb_foo', errcode1) - goto 9999 - end if - ... - call psb_bar(some args, info) - if(info .ne. zero) then - info=errcode2 - call psb_errpush('psb_foo', errcode2) - goto 9999 - end if - ... -9999 continue - if (err_act .eq. act_abort) then - call psb_error(icontxt) - return - else - return - end if -\par -end subroutine psb_foo -\end{lstlisting} - \end{minipage} - \end{Sbox}% -\lthtmlfigureZ -\lthtmlcheckvsize\clearpage} - - - -\setlength{\fboxsep}{8pt}% - -\setlength{\fboxsep}{8pt} -{\newpage\clearpage -\lthtmlfigureA{Sbox7788}% -\begin{Sbox} - \begin{minipage}[tl]{0.95\textwidth} -\begin{verbatim} - -========================================================== -Process: 0. PSBLAS Error (4010) in subroutine: df_sample -Error from call to subroutine mat dist -========================================================== -Process: 0. PSBLAS Error (4010) in subroutine: mat_distv -Error from call to subroutine psb_spasb -========================================================== -Process: 0. PSBLAS Error (4010) in subroutine: psb_spasb -Error from call to subroutine psb_cest -========================================================== -Process: 0. PSBLAS Error (136) in subroutine: psb_cest -Format FOO is unknown -========================================================== -Aborting...\end{verbatim} - - \end{minipage} - \end{Sbox}% -\lthtmlfigureZ -\lthtmlcheckvsize\clearpage} - - - -\setlength{\fboxsep}{8pt}% - -\setlength{\fboxsep}{8pt} -\stepcounter{section} -\stepcounter{section} -\stepcounter{section} - -\end{document} diff --git a/docs/html/img1.png b/docs/html/img1.png deleted file mode 100644 index e7280f00d36d73c160acac44123814715d0282a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~q!py+Hm=TrK1>|T2_=LFr|NnpH%$cdFsm{*M z@7}#TbLPydRjWEWI?Bq*fJ%&vjPBmODa8A;yv*zhDN3XE)M-oG?!p z#}JO0$q5M$(i~XXB_zZQ3``E}nCNh(u)DFboT-?(%PL=BBKMIV8Hc8~MiVj~Bqk(e zP1w_r_J~d6teyC&j2VmzZ6$gRm}I|=O*L3Nt5I=sBO^oEM_!c$3~G~rHZXX)`njxg HN@xNAz&uI> diff --git a/docs/html/img10.png b/docs/html/img10.png deleted file mode 100644 index e94e2a07b561799143695201bb1d6f20cbd23ffc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 447 zcmV;w0YLtVP)N0}~h+Hh{?_mU`XI(n83+U05mUvlV6`R;Q^4vAPE%nXPiKUIp|($XCGNdH^B{<}(2qofptd>H?-R1(+zqTDw-S;u>5*UT2UD3nw$ pfHE#12_i({K1U4#Y@$OA0003oRdzkQ%@F_q002ovPDHLkV1n(5r*!}T diff --git a/docs/html/img100.png b/docs/html/img100.png deleted file mode 100644 index f6badca21146f4a33fb163270ec8b2d12afb96e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 603 zcmV-h0;K(kP)vdLMKHOk)R@>qDYTRO2bvhLpr5LT9k^UxO}@lC&rv8P}1>9o|&E5*`3!K z7-QNHWyr9J&$x>qXOX2@#ptyQ=}?d)!(#h`p`Zo*KK zeu7Lu#`G8_p38=t0Ju90!z^?ot|adaj$3@+S9_xoTyqkeSHx*+ z|Al=+EZX4#9zI7PFTB pMue^wuUl2zhJ8x${d*o^@Ea(lbhv=4ECB!j002ovPDHLkV1oaQ9QgnM diff --git a/docs/html/img101.png b/docs/html/img101.png deleted file mode 100644 index 991e37cee66b74720e38c0af525b746a8ec341ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmV-E0m1%>P)~5D>e&yC0vO-~a#s0d!JM zQvg8b*k%9#0KZ8@K~yM_V_*OQ4h9S$#epWs%)r2Mm4RUa7PaVri{k+wm~nuCi?C|! zfCof0Ffi~)1j=&UqJhh337#vVi!gUSfU=svWKOri6TYVkj0?cL zMGKIm81681Ft8ke#q-MsgcQ2~--d!m3~!J%L8XAPYs|n93}SM@tQsN!0PWT$5ZvYQ QU;qFB07*qoM6N<$f>23+6aWAK diff --git a/docs/html/img102.png b/docs/html/img102.png deleted file mode 100644 index c8269e63edae8d233ef80b3eee9596c55103d787..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 487 zcmV@RJ%^YFcdv)Q#THzsaQH81&O^LkeHCl7XW|2!b~M5 zwn$8Du0Sw>%Ea1%oqPcbW1#~p1Ckepiow`@t*AOg|mD&jTF z!;hv85TF=TXxnrpxL6>`p)qBq8f)n-z4!!?;i9XCVJ{oC1VNQ#JPv~{nTxoB^8@F) z6*3M_Sw?C~z#UZAJ;vexYdO6oL)TOOq&bfR7xom{X~-n$2;t& zw4NN|D^TVr6aO+~KFH3SdI|R`*GD*6Eqhm3j~m^YeDcx<_Ch);Ztx`Mq49s`uJ}L> d-jcdi!Y}RxPPit&Uj6_8002ovPDHLkV1oAg()s`Z diff --git a/docs/html/img103.png b/docs/html/img103.png deleted file mode 100644 index 61f04c6da1ed8d22886f6315bc88d87c5accc519..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 397 zcmV;80doF{P)~5D>e&yC0vO-~a#s0d!JM zQvg8b*k%9#0S-w-K~y-6V_?7sHZd?TF$gd)9731iU;>dm^YH3sU|@q#1!%%IU<~F9 z1Ps6c2iO&mcn^TMfdML#VaKB&0J2H}2p=#s@G&rQmvaH-85sBwTAncQkZLC>0K@Qx zM@SqFH~|9&K)1mJPP4qQ0y>uiF2KXV%Lo);1qn2O)D=8nVq!>OU=*riTDs8(R0DPUK@JOM~3~m4b2E#CD2rR8B00000NkvXXu0mjfOT?4B diff --git a/docs/html/img104.png b/docs/html/img104.png deleted file mode 100644 index 3aa2f86ddd8c8d586120351409f5fee97b5eadde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)r!py+HXqXmw8OSjR@CkAK|NsBYnKM&UQ=Ofi z-@SXMsHk}6%$ZfIR&{iAl$Di*goFSU8W|bgy?a+cKw$Uo-F@BppMgS*B|(0{3=Yq3 zqyah8JzX3_B&H@OBqTgwdBnuV5s;sdFyjCN^BQ%@4UETF_!J^rLir>==xZb-KV>#z z;fp9Z>2#Fi)gcy{`>J9EUCn1X1sVxsM=XFw-1c)I$ztaD0e0sw!mWH|r; diff --git a/docs/html/img105.png b/docs/html/img105.png deleted file mode 100644 index d20f20eb916e3cff767f73bbda05478e8a382237..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 423 zcmV;Y0a*TtP)luya47hY9Uhram4j4GgT zV><(90Z@Q*0*0Co3mIw{SQ8in7~V4QgDhjmRKpg)aGYT#8*>4t0s{xwK?fN4=ez_u zdLB^i12DxUz<+?jzJYh4^aTdy3m`Q&aXGh;VI~8^dEF>fZsKm&~=|7_S}I3Cl4Ip6@AK(q{hZ}?JZSSu0aI+X{iEF?hQAxvXSU;qI|28IF#h6xPFfR}*-h5r#uZeU-?;5TSM2rw5QOJ87M habWNz-giR|004}KFBO;P>kj|`002ovPDHLkV1i-Hl>h($ diff --git a/docs/html/img108.png b/docs/html/img108.png deleted file mode 100644 index 452a9c87f5ccd95eca5fee9cff47340be799eed9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 520 zcmV+j0{8uiP)0000mP)t-s|NsA) znVDr}WkW+l?(Xg(AtB7n%&MxYh=_=Gc6L-$Q~&?~GBPsV-Q5rn5WBm(j*D;e00001 zbW%=J06^y0W&i*IhDk(0R5*>*l0QoWF&M_5_S(Bk={0pK1;K8v_Yvyipa|{i6wt*% zj1CsTp@@THT*MAi2S0$5gVSwYGZh>P{Q^Qj+#Gz9w6%p!9SXif^5e<9e;)1yCecIz z2(dH-e&$}HDOBDuR`dw9JZ(uN?#%uKO65CB+W{Ihz^R>LwTNu>h!GWS-7*mu$C7bj zn*`+|$CssA+73{IRFJ}ic!Bi!1`K9MZqNl=b%+&0Q$HWlQ3h(CaiRm~h|j(Z{8e_u z)2wB98UwL(E{QN~Ru#0($X=fr#zduE4pC|{!qho;-h>Wq6#-K~9%53NO6UZK77g?o zyss%D;jWw^N~X(t>#r@~GFe#Q2Y2o*RA6GJ)x^9lH;YUDD>p{cvaBt@5blHE*)NVCxC)r`uOEv#O`szmH$~hF5vio1uUJ0000< KMNUMnLSTYI*ymjU diff --git a/docs/html/img109.png b/docs/html/img109.png deleted file mode 100644 index 0d45d2e5571a321c21e3009f9df80b97837cf0fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmV-k0iphhP)GYCvO;GfH3rcWXgc+zHB* z&Jd`BkyfZ-%7r3-wB#T_i{}c9?2E@|++P}i!{}$WO5LPMtdOq9F>Y#P#G<}{iely@ zDx>w|yPQVS_zRfwp<;=h3YC?gd*`cdgv$v+=@`~7Wj7dL2Cf~$)mxcSf{S9Bn8L!P w_#EBwA*JsihTf~aZ^mt*<(AI$#|yr}4Tx+iw$jiQi~s-t07*qoM6N<$f;iQj?f?J) diff --git a/docs/html/img11.png b/docs/html/img11.png deleted file mode 100644 index 5af308a8d1d779b827b769262d525b0672dfa850..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 576 zcmV-G0>Axz&*5Iro*`faln=Hc<_E-1 zl1z(r+AJaymUw(WAmX84?Kd4abVKxHiOwEkng({!l3~85O=Q;uYe#+B?RqD|nq*ID zA==awm6%bJVR#3ooYLELL3z-!|6?*3 z7E`G$jGiBZah%@#@Tt~H87M&i3s@FW3Y}#$l@)$=a5%0S3A+L_G4KL+@Ow$C^XgX- zWO#Fiy^rz==xxAHdnEn`;*ZCw&1SAUJyoQW5_q{UCRjQ27;sHKh!!5FdHI5Py zz~4{{*g23xND7Cn4tX)vOC_fqTY?HY3))g4`K{1rgz&U;XvqNTei3W6z=?21Un_Mi zpU9dZxMElu;f#g46XNc4Lw#cW8D3(XrQq`L@h>LEHjHgg!NxtX7*>VmBa#p8x;= diff --git a/docs/html/img111.png b/docs/html/img111.png deleted file mode 100644 index 4cbf0c4939b3311726bf65c0642f4402e48268cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^qCm{Y!py+H=&E0p4dfUE_=LFr|NnpH%$cdFsm{*M z@7}#rR8%~3=FF;9t2#P5%F4<@LPCHFjf{-$-n}azAh3J)?!NB)&p;u@k|4ie28U-i z(tw<7PZ!4!j+w~`K%mbc#KSFdpyA>t24;wLQ z?gmC_W@hQbtt~8UdiR9#*wU(YiqPx#=R?L5Yk5|SU;qM6H~|3)jNB-Eh6@a=PZ%aJa5G>B%s?!_0Mx|D z4^~{j3le3Yi9$!E+Fyhyu)RR6QFy^^2qg=(ltqDo zffeXtj_(2vK!GJd|9t>jYA^xLVPm+k7p#n%*MWhHx4<5(lg$g}?wLe;kshEJh`T;O z*z5{S32=$?U{Y8BL}oKEYyncWa~!@hup2-XOa3~XbDDWR> z_{@Q12Xg}00AOUhFtDJ+kpBl%m)-yW|Nl2?c#(Dh0OK7md3N$d=>Px#07*qoM6N<$ Ef=wZe2><{9 diff --git a/docs/html/img113.png b/docs/html/img113.png deleted file mode 100644 index 709c989869cc2b00b70894b8276c3419b72cb984..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^@<7bT!py+H7{vQ(5s+gL;1lBd|NsA)GiRozraC)2 zzkByiQBm>CnKP?at?KCLC@U)q2?+rzG%_-}d-tw@fWYqEyZgHHKLdprOM?7@862M7 zNCR@Fdb&7eZBy|b@;+C9OlaRnsG5f&j zfCCNu1vTOUa}LzYoeud<9nv(ENpEh9cQ`zuuIL7_*Y<%61Rg>=s{{iLE?@B2Ob?@Dq&`3 ZX1H)nsda~XSp?9544$rjF6*2UngBF;XXXF^ diff --git a/docs/html/img114.png b/docs/html/img114.png deleted file mode 100644 index c7a30bbdf0311a231a9fbfda4cb09f2c41fd08b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmV+~0nq-5P)~5D>e&yC0vO-~a#s0d!JM zQvg8b*k%9#0I*3!K~yM_V_*ORjsgZ0Ai&3f4p=TQU%f!II{%k?r0vLy3fdWweo!kQu zhn3+#09+X-Pr?KUr*{F&fCJQY7nJ}Hn0&5;A@Kr2HGznnZi6QbIZf;e=n@Qf7&<@% z5WIU=`0m{Sm;}23--ZHq0ZgNS_8CJhg-Z-t003sKDuEe9k0$^C002ovPDHLkV1g8C BY6AcO diff --git a/docs/html/img115.png b/docs/html/img115.png deleted file mode 100644 index 3ee61bda66d209d8071a342cae4b733c713915a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CH!py+HIB&`YPawx2z$e7@|Ns9pXU4G0e$3jGJffG7xp{(g5!YACHj7l(cyW z(V9z|aB6pgoKjwJu1uE-TcWN7&#KY*SmxJA(=YRp2s$NJyc02Q*{aw%Df>R2>SPMF zZI&8xahK;a*UW%N@i61~io^Icz_0A}#(+tEm|?5M{(G$X zh}=Tg@ePv&9s^HA%S4Wn;dx2UElKj;+)UXX4$dJa|=Jt zT8yiICgOs8Yd<}Ed7HB7*&uw2Wix=W zoDUcn<}rXNAdgFc*Zj)_?IYNI!-0o43UC1&B?XQI3;?elmM?%~FOL8K002ovPDHLk FV1kP@nH~TD diff --git a/docs/html/img118.png b/docs/html/img118.png deleted file mode 100644 index 585737f0238b71c884efe53d0b08b003463c5bd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366 zcmV-!0g?WRP)`6pHR5*=eU;u*&6Py{)K*9uebRh!}!3a{$z=0&Z8wwC2K%M+x z#s|)s3=Euq8$coq{7fex(!A&f<1z;wOn|caII9!0=fMMp$`Cx%Ntd-0_kqdAYyqtVM2A2a=fRmx&0~4|#{0tXZ7*GXh2+(}L z0aJhoz@C82b0nmEGKL7FBo+l6`r;EAntn)u*dJzMQSf0QLoq*>0K^FgfNtP21_FD8 z0=58#w--_&S~xq94fuI(BE#$i1}*_!bD$|W00%CKAq>!yJ9=~j0FRe#j3nV`00000 M07*qoM6N<$f{k&6MF0Q* diff --git a/docs/html/img119.png b/docs/html/img119.png deleted file mode 100644 index 89de8dc3246d22b8b3d9421a55cbe8a7f745865e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 857 zcmV-f1E&0mP)0000mP)t-s|NsA) znVDr}WkW+l?(Xg(AtB7n%&MxYh=_=Gc6L-$Q~&?~GBPsV-Q5rn5WBm(j*D;e00001 zbW%=J06^y0W&i*J*GWV{R7i>KR?TV@K@k2nv(r1h*-5V`k${kW0KvIM5Xt5gFa-AE zC8q%~;K|9wD0qk>sJ9M+8YH-a58%o3Jb?@d3pp(83kZWh!5pNm{+Z2evL-nQVo1Ss zSAYFgZB128_X3CHg&tD3@Q{hs>@aCx95ZbL5n4uPmk~Ciql}zr#~k8UIJntVkU753 z&^lY#gE)cpiKRBwg3@Y(oB|4uR_W=@BQh@eC7 z=sll1FyZhGEO*U&h&eeQcL!!qnmj~lM^ddN**DWpl#_1YN}~Dob_0x+pyjSi+@Jiu5p%(M}X;Qg>7kd8rjmWeS z^^c)5dfm*m2&&X9f+CHPdo;AsuF~<6S5eATNvOB{uHIXresh>uIhc_%IXzOLb0{vY z?~P?G06T^Lq_873lq0n88Zc`pj{UOO**hu*x+|;Q5yaWu80Bq&+fXf=MX1b_yq}Z7 zl}BBI)`HHccf2whn@MozVvFpI$`flfm20&60k7A@NR#;&!yiCT4bkH2y>KkDRPHyS=_Q~616nmkNqKI6f^4tEfyb${kc__@B>r5 znlvf`lla?o6>D@U!~=^vb_)Kil$qBX^(IYoYxC13=X;+vf$Mk^o77IMUs^X;AjRor z{3DI)i9tWlqG54jYZf3{7Pbdw}-J!L8jMqY}ldw4Iu&vc# jOcebb{N?+ diff --git a/docs/html/img12.png b/docs/html/img12.png deleted file mode 100644 index ca3ebaf2b71d649267e5814c4dac5c49eb7d021a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^%|Oh=#LU3JSSYbw4#?pN@CkAK4+ISVF9Ny$88SDQ zodYr$OM?7@862M7NCR?|JzX3_IA$hiB&0MnvvHI%_!K!<*l=iW=wRw7Xn1MRU|7M> Xv4`o`XSvK}K;;acu6{1-oD!MKR=;o4KotHGr*_V&b16&2RwNdtT4I0&)%g$7|G*5) z&4fT=FmwPW4iy0&ic+Z(urYPcUw}@kKw^Q29m%4iQYLf1{3~%%BoG7Sll<=d-uv#| zdp%9$ZjS|WuxB1cVFmW3Vxqr#AYxxprU-){^Jhvl5LQNHjSS!bTr zO%85^e6QYb*5DropVQP8YfTT16a-^dSk%*J>x$O)iB|5-uh6PlReJjf)Z9`RiQ|NZ zC(%hWq1j>rXWn(s-;!rbQ&>(hk9gw2a~XI+>4?nuTd^zpJ=K&nO%!FQ9eNR>Zs-P% zIc5}%J7_m-9A#04d6coHgdE>wX9^G+h3%ok)g7rO`7z99bRateGgVc?5150W@m5$t zygots?sh(FByhq{wUimBlBEw+DgASzKbN94`UNM6sUG%cDdw|(^F>*?!P;B*N90oP zvhAaB5vW)fIaQ)mDLRVB diff --git a/docs/html/img121.png b/docs/html/img121.png deleted file mode 100644 index 61df3677072db8097bfa090839e9e06db779847c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 423 zcmV;Y0a*TtP)!L4YtAkD?DKJWdetfZ>1tUj|-223A%^hW!5@AfgFy zwHF9mO+46*1#BR!4FL{-9mI|hXogUz0mRI}z;6H&;RkyHv!;LvYe02C_Z2*6PJVI~788k+w9zreuHIpM=Xu+Upj$mjnD0)$HT0|^K- zYuMO;X0ZiuD6l19n913JWc!Q;E>M)37ut&<`{CR~Bpxq5AB}i`ErDUp#Q+MdpoIs+ R9ZCQI002ovPDHLkV1mBSqeuV% diff --git a/docs/html/img122.png b/docs/html/img122.png deleted file mode 100644 index 401353f2dbf4ca549c251ae333a911143e4d8228..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^JRmj;GXn#o1jC}|K#p{PPl)UP|Notxo!`BC*U`~Y zR#rB1=1e0aBLM+{-Me?cJwGD?sEn~B$S;_|;n|HeAVfPjlZh{uwZC*eR%<4i`b8IpDlD{A=IL=NyDVNBv4J?aQ4p+DN z6tc4APq@%NljnaVtA&U}T2n<1BM)!9~5D>e&yC0vO-~a#s0d!JM zQvg8b*k%9#0S8G$K~yM_#gRWs13?tVe;9V1U9(G$u$7g_9wA2BP@a_p29a{SfdFTMDQ!#-;eLTHv@BY`3k)dJ3~gKzEf7A5VnIx z!pF#GKO+uSQRk5Bd-If*O2R(gkJF1NTLC%dQ|%uSFMi}59PqGAQi0T&dYfJ|db#1& z#?_cTB!DyDXeN15kt>@y#l#2j8b;K5Aa1~jeU9Kbg3};-!iBhv!^=0#7MvT{SsLE8 kf!nND%ZV|+yZi6(4x7g{X4lUHHUIzs07*qoM6N<$f*HZ9f&c&j diff --git a/docs/html/img125.png b/docs/html/img125.png deleted file mode 100644 index ee72c1c30a9efee573c80897adb80221fb706be9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)o!py+H=(c3y3LwWIz$e7@|Ns9pXU6dAc};NK8#m0D@$PhPejE*d>}%RhbX7F|wUwb}(dCnaWecvnJse-(eqvvnLyv z3yhjH@ zc%4F6gXV08FRb@jHI7d{$dSkp{l7kyW&QNVg;J+j7;Z<4^|~A1)&aVP!PC{xWt~$( F69Br+TY3Nh diff --git a/docs/html/img126.png b/docs/html/img126.png deleted file mode 100644 index 1f336182b0e3a374e81a0615bf158489acd7c46d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^vLMXD%)r2Sd6(BJAV)XAC&cyt|Nk>*&P+{Bb#``s z_wJpdqT-n|XI8CR)zQ&WR#p}g5&~3cWMp*r?%mzHcTcL9)dTVwOM?7@862M7NCR?u zJzX3_B&H@OBqTgYc3_egIK$1u!*oYn!hk`UnOU9rF!KVPX69u&TnsPyDj2S*9N55^ z5@;>3Tt{I6FZT|PZQ>b^7}?m=C(L%_OKrR4Em6^E(#

v-{}55O!CdEQPMrYs?1I zbD5d9GrPD&FnD}m{K>z-E8f@PS@Tj!i8B&ijv~rFf~T!#SCnKP?at?KCLC@U)q2?+rzG%_-}d-tw@fWYqEyZgHHKLdprOM?7@862M7 zNCR?uJY5_^IA$g%Ff{E{NIJ;EW{~hC{r`am26-NbCnd*NR1AArjV07Q7$h0j{K=Ea z;rYRE+&#|Gtt?EzyJ6x_b$NAWX6eK1c42A@^z_*JIL{nqs@VFNW$R>1o+6owPx~bc zIDa&{-ZR>eoA^LGVef=f2RODxHa6-u9Gvjb_^=P#2Guz* O0000Md%8G=aLi0jNJw~)*ubF5Ch_1&N`gSbgF6i393Bi4r#hVZKdqFBSxexYDf1+s zHv&@?n%**Y`0U^iic|R8$SD3HFCn0L!;Njz53=mmcaW5v!>`bz!q#T$z{SA1kgxRP Tf!m@$YZyFT{an^LB{Ts5dJIj` diff --git a/docs/html/img13.png b/docs/html/img13.png deleted file mode 100644 index 8fa140bf554dc583fa20b16430d6143f20bfb13c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3564 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 Y*AzJ~84tE1e|A8+_YLorY1xJRA45?rYXATM diff --git a/docs/html/img130.png b/docs/html/img130.png deleted file mode 100644 index c39e7eb240ec2b712d3e96298c2bf3249a02f729..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^Qb5el!py+HSYPqU8OSjR@CkAK|NsBYnKM&UQ=Ofi z-@SXMsHk}6%$ZfIR&{iAl$Di*goFSU8W|bgy?a+cKw$Uo-F@BppMgS*B|(0{3=Yq3 zqyagto-U3d95a&>7@C-Q0t_5G8yk6#J$&*c9Tqxx6 zasHF~(^id)!W`xt&u2AWHQw0#Bh#T)p^B0DHnYIqM#YCpC;B3mv0jqj@WP$7*5S?F z0}I$5?qx{Y_BK_3kNw7tciaMU^BE?bcu>Rea4S=x5c6Rv1y%;uDWdN<+5gTe~DWM4fS-xV- diff --git a/docs/html/img131.png b/docs/html/img131.png deleted file mode 100644 index 8d05ac1ef143b2bee86f9d9525fee445c2caa5a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 943 zcmV;g15o^lP)N@K1X2Pi0hjRH z4ZljczXQw7gt1sL&ZYG0xA|f8bANX z9vv+)T3Rd+Eef~n4*?A5NbrH|Wt}(U3(-Nah)8tcEC$dH5pfoD03Eak5pndP3oi5y z5owT@vv=d;d*A;VpPk0f!S`hSAR?!OJl)bc?rx2)Fo?+Rb@>E3us08n_@UqoxAX*j z8xXJoaBih#eJEImcLu;Zu#VoDpzI{@mgp_s0eDODEyX82Zy5{IK2o)4%0=D4=K)fgaFWYYimu9)(5#k3tcP0zv{5u_Pej>UkW9 zkil0|47um_UX_`g^(=7oAZ_|0X3jZ}^ebn8`{Qda8yYXk~6+SVIpNDfi zUj9cGcVZ^JKZIwI;buX&iT%whQpH`Dh3!z=mkYC&g9M=a=MyB$$2#_QA-e+O--#w$ z-T(v*q^=MYfCi zG8eciS*SSB7Bye~C(=4X4Rn$+d1oxdtCgV5m1*dtD>cyFT&}AuNdekGnl7^`8U;;(G&rOBX;5DgDUI$w9{hkk0Yb|&FgT(}@S?;JCs5gBRGnTRf>DyeLn_^tA(;Ux zF9pOL`r;FTT0pVzVJ1TYD==JUG9c;yu#lk`80;Vm*bgKy2s2z@s6>`$3t)JAfq?@g z&)LDTT85V;M0085#HDt4+ RLtg*@002ovPDHLkV1hhhoge@J diff --git a/docs/html/img133.png b/docs/html/img133.png deleted file mode 100644 index 70e23fad651ae92bd5a7dd5932bbb6e176c1b19c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 425 zcmV;a0apHrP)R5*>*QoTyVKoI`oYBsAEms2EYqmOVeAf!`#3AfVrs;h)c zX}OJ}g$Q!sYvd8q+TA0pTw@n!HX9AH2o@Ii!R*d_JHMF#0VPR}7_J7o4EHXHJ#M4^ zanyYs+hFdv(#hr@!UqlH7^z^50Bx!}g%vEenOTt(FG^s6DKs;S;On3w`ThqDs)1F5 zN=qFq`Na!#Jrndqq)wZx+k-ZoV~1v1Qq*PJIxNZeOu?X_DH0AT_$ZOWh_E@+<;uAJ z8bca?B@US7_Q&IFpx^uRB9bCG#QD+nX*vPM7HZ1ed;d7*obC~3i+%|U&BD~dyk)>M z)JAQvk4BPylOkh^^K~GGmU^4L?tPTJ--imqfAo#sgP3o;`Sba=sh{9Cx4!rU_V_#9 TRYuDq00000NkvXXu0mjfDxkpW diff --git a/docs/html/img134.png b/docs/html/img134.png deleted file mode 100644 index afdff9bdb362158d18aeedf78c01c2bd14af3fb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 359 zcmV-t0hs=YP)SU;qOL23`hakd}a8^8xV$25bOHkHdruV44N1LIhw3 z8OFoOz`&o-FqNO-GstA|MVxF5OBf0uDjFC#37CN!6aaNIFdP86jGZ4M#KXYA47AOF znT?Y_fdeRTfg5PS1E4IIJ10;|9Bi8d0~136Gt`t13>V0D0ZD*80Yb|&FqHA41TiOA z#tTF+N-}szrQ0$jGcX8FVBiFW(ubK039KI&7-ll?b53C32kB%#kiZ}ebay2KLk$}P z2S|vsgJZeS4+l^P%xGX>M)niLviT^E;RGt+pouq8005>wB+FCSx|jd}002ovPDHLk FV1k_af4l$y diff --git a/docs/html/img135.png b/docs/html/img135.png deleted file mode 100644 index 59f6cf6c4ef275cc267545e0b9e79b4c1562dab0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330 zcmV-Q0k!^#P)D+)22Y?jFc%PV1aDx#3q%A#u!vxz z)plxUGb(-Z9=$bQjHlY~9fly51=Gtpfzyg*EHa6Z)2W#4}&tUi*8aN$Nysfd{ cnf*)D9Z9esid<9@8~^|S07*qoM6N<$f=>v86aWAK diff --git a/docs/html/img136.png b/docs/html/img136.png deleted file mode 100644 index c43d12389e72941be5b51e77886f2a17fad210e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 860 zcmV-i1Ec(jP)KRZVCUK@|RGvwyRjxN9jbR+QY-o)&WIsq3W_R2mOn z+ej4;R#|^4T3T2{sP(kk9@;}O1*M1xIrLKEPYG|1_@5C9Uc@E z1VmDHMX|OstFUa(CJ@+3R>(PWj{VrD6xivUc&&^lVM>!=WHOTa>E3+0xaeQ-<~|n-FqTA2Am~cd zz01bzRBab_@VD_N4>4&Xz@?uN4mEh9s#tFDCp|XRc*($Q%Bv$)*y^F895tsY-LT`M z4#698hhcb0_79z5xC?xnbX#zb$fYcj3M#NMC}ebW zDY>e6H{*rs0_N}lU*d25h)#??c2|+~*@#(ZU3_3(cB^uX-f`7u8{m(i@(3XV`Nvw- zHQz*}B^kTkvE%*?Gfs&iw|b(lIx4RcUPETfXOEzQ-x6FV<<{!&?bUiJrY2(A m)_uQe!kXYWs5{s}b9@JnVX&FT=dLLL0000j=euGjv8Z{Og zV&gY>0M{aZ>_DRSbioL*qNj%^V=H^waH=TOb^Rj6I4GkEj~16*N-Gln4$73%9=eS4eGB z&rov03SGU%bcMH2CBT~%Sz=Ma}=^{B^=b=z0aNzf5#OF>+;r2 inTF+sPW+>Xwcrh`bR(^r9}Up}0000*Q^88ZKoEUxk|t@p-5`P@Li+~>Jm@h>PlDJ_2#SJ& z5b#iXGI%O@i6BBx+8+?XqlXs!frzJqVy`_2ksbwgHi1wMzIlxOI{B;CW4=If-t49!>l>b!Ep%amONRiF=WvfHSllW3r9a--5OVz zqM)%A7I~$>);M^Ht<$EWt44G!`s5$1c<;X;fST~a8fJ5r5J~!>fCVtSaV%8b1PWB8 zM@N#XMQ-Csfh%GXypj&dlQIsNF81o!gGtAfstW1q2I1LWfC_}nzLSS9i+lpHc56N0 zR|iZn_RBLiP>vjaKeo!E%U-0h3f+#Q!|@~=!eqN-mazkzyfqBL>ebJ&z0j;cTber~ zwH+e7lTkZpf#(gCq#b5VC{71AbeU}&Q4Qjk1!8^JXaKt?JrheKmeHKIfLsl)KD4l~ z)@F;^p$N3`cnp5+9n>#ydN-g}HP}i3De5j2q7{Qwym_D1TbqBjpxqF#Z4h=;SKkwYRXsGhCR=8~A*3q>X zE@W;{C#V9>S+sw^rRVf*KRljQ#K^T3Pz4P{)b(51wKqQdDMuaeOM2sMwMpIvk z2*G9%Ei8ol6NF$t-g)P(C|r~33b(mJ<~&k}g@uS>VQV3Z1Q)ar1>-k+zn82@A&Tg0 zcE0!CzMb8f*$+rURvv};Qb4IstGzpw;aH&I|M}Pc3m`{}*v?mp#Sr65Sf7=uKFh4w zpTSmz_&hw8L4zNo2$Qc7IAY>+lx8gz6|bX6I~ppzz(z>PlUXW8YaLjYecc#q+j6+n%XY`I)?=OD8aWy!y@vcD})xACA!C{FCSoLr$;el`&xb6e8hV z`&jp1PZDME;C#tkBjN&XVGEfMRX$-XV2Yc?TV%X@_!Jo;(j1klslEY5_=qzYRf=Y^GCUPStQ2K`>15$2!u{wK8BDp}2rvKLythP+YW*L#n{x&e;Tk?oGst~ cB{^~Y07w|2(-D6QHvj+t07*qoM6N<$f@~ diff --git a/docs/html/img140.png b/docs/html/img140.png deleted file mode 100644 index 05dfb1938c5ae367ef5cd80145bd12b6bc0c9827..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 zcmV~5D>e&yC0vO-~a#s0d!JM zQvg8b*k%9#0DMVAK~xx(V_;xl;8?%_2LcQXtZ)v?1qKYj#Ryb#!~s(R1@KKsc*zc= z7wB;=CZH4@us>VSl?>FWz{Lb~%7Fkb22P%YX#yZALbj3%a=HzkFuZ9pSP0_WVdwx6 zk|3uD@NFnySKv|rvUwO7j2U>(9DwQJn^HibtpKnt7W}6z>W=^b002ovPDHLkV1hyc BTf_hW diff --git a/docs/html/img141.png b/docs/html/img141.png deleted file mode 100644 index 2c6ef8d9201b9eb7017f0ea8cc333213752bce07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 619 zcmV-x0+juUP)KRZU16K^T4c+w5#Indre>V<~u&21@a|y%Yq&bjzLa!UzLklhFNqY0%OK#p|@vP|8gRmAVMuc@{Hp$LrHySaA7Wzo$=gpfp z^L;bS0wGkfENhqlbc_LEE0t^lHb7k|4Wosmtf?$h{W%7T?>MEu=IvP5U!ypPU%dk4 zrQ=|uoT5l=IGiS)8K}~4K58Jz?r;Y>4;*Q%Q1eCpf<8YrW_3F6~E?bVhSC~IRZ_W z%dC8+x!Q20lFPrHJ+{UUk&RjC6qUwRp_;g?Z74IvvwY}C+ZMlsvPnquSb z;k_t!hVx=~GYD#1V^v&Qb>thwwt}EE&N{rPjR}foJ1=_*XE&S7d^R;vO#l6Du7{UJ(EQ002ovPDHLk FV1jo^9v%Py diff --git a/docs/html/img142.png b/docs/html/img142.png deleted file mode 100644 index cbc74cec0a796ef25f325fa01f4012dfaa2ab5f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 626 zcmV-&0*(ENP)(EFH-73RKLGTBVt`Z<JMi@u zqOPN8wf9V4i;)k2z~|Gp;_Z~pfmeY{2DW)`5s%NK69n5}WrO%+dL1uSB~UBP=OCP_ z78EQTmx+{qFUAA4O#$w2Q#gEJ%1?sZbw9ojvB)HqQQu5JP-70VYAo`wVTq9I=qj|p z_56%?r|aW2SC7L%npVn&Ku0)!mnc{Se%mdGCi7aY1YO?cYOG7#P3F^F=dkEz6YVSX zR4H&m)g$mBQUzgVLZu83QmQC8`@5F>GsHaY?RdcxV7Is9xbW~_zR@-heb;JY?1tB3{d=dye2R9U*we|A4sHcii9k8U#iN!`Pm>;Q#;t M07*qoM6N<$f*kH15&!@I diff --git a/docs/html/img143.png b/docs/html/img143.png deleted file mode 100644 index 6bb04de64e04c3c658be961e1f919e3950313112..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 395 zcmV;60d)R}P)9rVMPD61!nw1Ck&+ zlr~`a;4q(oa{>dy1O|3S?EsM21ROSC7)U@J1c3eVV8a4FPN>`R|9=3BC9p6sun=Vg zQD8R)*g#kl1ROx+He;$_W?}M{P)VIlelglqhWAHqU)h~5V1II;?z2~e}rO9V4~@G%bnt{8%%?wnh9b>Ur5RV-Tv;rdnvZ5k5? zWuVg@#!{yhh)ULrQcRl)A4`sO^2)Pa+>fTzkp{fl53KY$tgwv0000KRljT7KotHY*^1>vxq}X!3d)wHprQ_4if`zYr5f8! zYe^uQvIPvy&`dQLS_Dm_l0fK|!F&8CDBV01I&}*bO+$V{@=mfVD{3uswtE9-Fcesknk`<1$b>d7%;tx^4XuYtxuxzi&M%hA=Z zMja6m6hTuZEubA};$ThNw%gW@gWkRPq#qgkc}Msd)k0u#Ffjoiz)6MZ@ZK zobd3R)~QBPQ?TuC`_D-GmJoSk&q|c52`;x}JQ`1-s;DyLlNyuM@-$5rJyna9Snv5E zKYaLlkjmOAU$BN~{nS%zZgabfx=3x_2%EU3t&lWR;2dxq8y>?i{8$6+pyoKx5xMRl zn!bd=28Gz9=MQO*rCB%qFKOJ*yl{p3_#{m6Uom5;UNOThcBeRVl4cp`B#Ie~j%xJF zvG<`cTswJR0teLSfvoI6f=+yUkzH3VH-ge;oo&DgSK$>jQ|SKRXt0?P!v6BOGs+d1QA?=V?lV5#mx-4pjQh-W*SkB zJSOirjCt!7QHVksNcJ022p4Bt8PKFDO(QU5yy7{}o{Vc6cr*26~u|ivl^& zQwFmoeKdWof8eL6FOO)_gTxL>PxI|`sOk&&I?{P+W+^mXVnYV>n@BOPPjt$DOi;mR zvB3;=E+j2C3IgGRJ29l`qdoB0KPX}Jj1Nt3BmLA2mzf^&U18Re3;Y9q0gwT8u&>&O Qp#T5?07*qoM6N<$g3~nmkN^Mx diff --git a/docs/html/img148.png b/docs/html/img148.png deleted file mode 100644 index db3bcedeb78dce821e911152adafdc8737ece175..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmV-20nPr2P)SU|?Y2Q(=IEvv%i>00mfPj}lh$p?lg7HYggR};wFom?l6X(+%n7Ab*EF>jv$Q+SjQEMoP z@z`;oftST0laY;Wft6XgS$P|;!{VJgb~@Cgg(ZeDx-ZzmETEQf@!W2yqc_wHPS!KH zq;>6QO=A7FQd_pcPvk)WLt>k~!pikLHP;^2^Tk!w@ diff --git a/docs/html/img150.png b/docs/html/img150.png deleted file mode 100644 index 59c6a079e6fad840a0fa98a520136106ac2bd736..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 889 zcmV-<1BU#GP)naZB zIB$?!>L0x2gbd;!$OTR~RFI0diO@mhuy}O1O~v5g;^4Ws96}aBIU&CHC25niU(#Ac z{K5Ap@Atiz_rC9YF98^ey)JaY1t>snh6(Jh>oZnmxJCjZfaCx)geqr&Ig*(GE}B!w zACNbhAP2Cz>Z$?V2G27h%M0V!9tEw$^HOp_n>q;>&f4sGI*@CY8!pkby5!Gtf!}gS zDHYF4d%X?P;M*c-rYZk1a_O{M)OEd+^6G7WcupPeif~stq*@_ag&d1wac^<%!Y7>O z@p!ccJk?K<74i)$e&dubFGfQZ#|Cl`Oh5*x^=RK|scZ(wqv7lk6I6S&c=PPid zo=P|VZy}`98Cf%0-t*w>==zBcm$r+BUoZ%_-6UO=>9UwmqQS9~v;}X2bpTyTu60ed z<|Btxq(g;GXH(tUx9Da!>`O+U7RhX0$t!-0CMMV^7j&Jj3S~iq=<;%TiETm)j%q(b z)k1LQ!rHa9>(;$^YEFSl&h=nMABdJfA~%A7=HgLNAa%UR&ywK=PP;CaJ&#*C>?()w zvDbpMGi|$p2gAXVh<{;bsgt>MMwVpIN;>`jpx8-4mNNfrM!=Oxl+@K&cC(b%v6c3#5y=zQKLDx8 zzOlD9lp30`3&s%=6M7Ypl?Gua3{TpX8`R)M&)7GB70(6v&4444UsqN_V#O$E)Kru& zFo}X*odxmESJ)Z|*`Qv0A3iU^_Z+pN!D{JGjETlGIGQmGN*`+e{W=|(ufOIk9fC?5MBJA`F9EeNl;H~~10SuC zvC;oBi(^|kFeXUmvK1z?d@eJCl2B`{a5^{EW)Ujell-(^oIn@z?(gC^J*K>@64{h+`1o6XN>+|NogYXQrm6Iy*bR zd-qOJQSr=~Gpkmu>gebwD=P~L2>~iJGBUb*_pX3|!0z3<`?~W#1BDn%g8YIR9G=}s z19B2PT^vI=W+o>90eey#t3p%bM+0V&nuO$p2MvWH%S9PZHZTiIY+&enFQjmmiJeJ8 z;)Vp*GDCxckH$3zmI<+5Ial~2>HtsJ_i2f0&RRD#Sf}aoBxX8@=`%MoUoc@~V2Bi4 U(IIHz477{E)78&qol`;+0PIOiX#fBK diff --git a/docs/html/img152.png b/docs/html/img152.png deleted file mode 100644 index 1df9a2b42a3868bcc99032f1963282c0fdead1eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 zcmV-+0*U>JP)KRZU16K@|RWH|}OPjT3_4sSr<*p^UwD3sm;ONj?H65mV`GqEbt^zYyY zd2im#$9r$yd$R$$$N<9}Rt|SS0k)0+M%y%d4zr4s(CD|Fay*6!B!(y12Ks>}Wu$H; zBBJ?i5i!8>1+f()GRAR~pk%oC;P(~r*AefN2;?#iJRp_2!f+{LY-6KkY5G7t0V}mF z<1`J{Y)TfM(&hA6>|4VuctZM6vZ7DUkX+bb|KwHv0v>jkpRXlQ@dg+!i>Qmv%gU;- z#W>SM6k676`^|Kxa2P4QT~J7!Li>SDopQJ|STwI0m}@4Il;t=9JkN#yJ?Fmyb;|L) z1b(fkbv&7q=rrTeL3zGTdQ4im@vT-CjnZxR{#Vm^4}w+Di`VVHkn&EgVJqT&Vg}fe zb~fzsxGsdF8-2EWJAJ^l+^0FHZeq6DfL Qg#Z8m07*qoM6N<$g4;JGp8x;= diff --git a/docs/html/img153.png b/docs/html/img153.png deleted file mode 100644 index 986f62fdb4eec3565fee5fde2fff31560300ab89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 750 zcmVKRn2P?K@|TryE~i7hZ|6=qSD}B5YVf*0iozAryjgG zqE>PcEFN^UBI_C~#fM&CW zcNQh9xd(Gb$@4iG!ms$14iDl3P$l4=9@{u2RLnQp(^9%=B^=?PEFqKIH5%!t;SCGM zS?K=`d$5<v6?A;~{VemBbT z^|u1Yk4$D`beyg1ka~he&A&&cJLKMG@(pzNdDf$eSr0itQOTpQPSC^PKG~imE6Z)Pc{~^P0t|seag-OvLdw!O&{& z(_R@}4B1=Vnq0=|)H8SL);0b~rWOt_uozueKBYw0ZUZMq9>kv`KUn{bsFC5AVfi08 gjK;W8ckwUq3k30$YdvprWdHyG07*qoM6N<$g5Kt39RL6T diff --git a/docs/html/img154.png b/docs/html/img154.png deleted file mode 100644 index f358d2063c7f1afcf65391b9ade0aca72bd30f48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 534 zcmV+x0_pvUP)@Q@u;WKoox=$xG6&L|g#&>(F5d_8;JlE@cJM;D+hzHprp|mk1{d`3*j2RB=iCN5Biby0H~j z0fu?ZgF|V7lA&90HiM31%j&c`3n5vxK^QXd(O$%$4_(Kjf>>5y!DpKT25ppTXW2aD~b8th&V!%YlE-FZ~axqJv z$Yc+4RU;7&*Z5zt8*37u!qe^0o?<~Z>3TFc)8{xhePJjweWceJy%)AuyQNpE}>4T_E)l(EURG8_u}fHGjqVAYR~5E+2Q%*$e=G~z_a3L^W4Lg^ynMDm4#qor99i}5BeaqR)=aSJ3AVqF YF93*I(ktoO`~Uy|07*qoM6N<$f(|n5eEfFPDZMZzyPA;E*e@J5V8fI}UVvJn4@GNypuW{0iJ6Vg0(6fiF0 z7G-G=Y-aE=G`P)KR6R=rK@ffS8Sf<7Lv1XC*rhx;Tgg=-HeP9Yy`s@t z@JI^VfK{qoA=p}23R?IBR*Ogq5r2Sig^e1ByPI50a{1Dzl@E4j-^}dn%(Anc|Ad5go;3@-+>3)U8#<^-bSks^?j?NW>w@wNvsfzfy>XE?(SuAiBMX2P}2u#?h zCAVl(6fbbJ1mWJP}$H(d(o@zf&u=d*{jI5XpjqU3o%uCImgn)~Utu~<1n*hXIVy#@%%9C&c2AZtse^XkMH9HE?#S*&Hl}n00000NkvXX Hu0mjf&IkdD diff --git a/docs/html/img157.png b/docs/html/img157.png deleted file mode 100644 index a32e3e378968206beef795ac65f289f73d0bf70b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^Qb5ed!py+HxJ5CnKP?at?KCLC@U)q2?+rzG%_-}d-tw@fWYqEyZgHHKLdprOM?7@862M7 zNCR>zJY5_^IA$g%06`){qXQeq19m5i2k9G9A4C`kDn5w&IFa#4>Ca;aPBpNfNqF^0 zl>Jh1y`jM;BLjm?n~Z80iY)gV8x@E=xZJ@x%|LH|=7lp89ves=S$*^If%3-2TFVdQ&MBb@0L<}Vvj6}9 diff --git a/docs/html/img158.old b/docs/html/img158.old deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/html/img158.png b/docs/html/img158.png deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/html/img159.png b/docs/html/img159.png deleted file mode 100644 index c857d6ca2e9a22b4492aba2fc02f58d62922fe94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9773 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 diff --git a/docs/html/img160.old b/docs/html/img160.old deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/html/img160.png b/docs/html/img160.png deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/html/img161.png b/docs/html/img161.png deleted file mode 100644 index dfd97c4b827b51f9e1ca5b1ce077efa07b3253ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1148 zcmV-?1cUpDP)7MSL z#C5); zma{Bz2^}fmh(8kw*vS?WRpim*{in!PP{raLj9%tJ4vM{6b?7#Cs#{JF@7pfvb8Tk3 z|6M-UXlDbR)gGFfBd-1Rd2`%Ohpf42lI@(zZDCMVP^V<9#9+yqf~ujP*i=V;(?hQh zbk}i6f4x{iZ|iy;KHNl4`(5t5W?XsP>oq$nisSJhE0bKO{b}FKn_S{}(ADZOn&e60 zY%1;eE=C)~cgZWjC|0i41IM9dH`&m_;#9He6#?xgxd-ErBx_T-VEvkXm%Sc`4$u5T zk3TN7+?$VeVWl_|Bn$J>mM;=c#VZqE24`NUDzECr?oY$|vc>onQ>_4`g0a(0Q}yD8 zQX!?^RO&JPg|Xw1CZBnp7FqL6Rx6fF|O5qORes`0!yZZ);O*OX8 z?*Sjq4xoNHZ_o4UjTqP7e#<^PG1L}*((e9q`WbTJCXqb$_U`YH_iKhKNjO6e)_%+` zoLFsL-}~gVNW$lkiiXV`Ph#d_iq02iDR=NWybz6uzv~MpHG%gC$Ga|@p2|gOj<6>L z`+S-Z$A>$tDsFC}xd? zvAaYo3PVHWV!)2+FQ*Y>QP^BZGYI9ymG65CKlxFD&21%xaogJ?dhwZECy6e$xl(Md244BE3 zUoAC86%ebGmy4q9ev+@3Q4}-x_vV8c&T*>4;Y0)t!KT(oRGu`2aH(^q1o^iOuOq&3 z!;xuZ-*1CdS0$-xG%;Q#Do24YZx1g469?}hJ`Tr6nx2z{ z4@n-dpObF(;s}|{8a8C|?6U~o9c@WeK2w6BvA$KDyUPiz89ajF!feu?K=xicFgCE; z)*1Q{T3rjU#CSAL0e2$0C8OJ$Yq%f79`^&Y@Ze06R7k2takHs)3$^SGdNW=ybUmqs zwAN$bRzx?`S}7dXqUSgXc%*M90^X?_u6;nxLVeSIC% z4}FMt%i)0Wrqv`mpMuZ8!h7>FfvukkH|BuTL4B*EfANW-9sO6lbL37TzMqJ-a`J@7 f#qtR_^uqlEtg^T#cqLxv00000NkvXXu0mjfYQuAD diff --git a/docs/html/img163.png b/docs/html/img163.png deleted file mode 100644 index 0f16897ed3b8435d3951d2fd4faff4cb5b78297d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 934 zcmV;X16lluP)&i%M|F@?V3 z=FK;6zW2?0vvWYgdl!G*_2&8GzC!EeI zGyxe?05oqDaXHab$NFk6gyPLCP4w@~!peQ!2jLB7}OC?)%rZ57z?-eAK zza+RZp5Zh-m#a_RQ*E(fzEl)4iwpb%%)0B6DXfD)a>{Wm?bF;A7HqxD6q)c0<6&o= zY(Xjt-7>gw<@JLVn6InAsXH+;Ipb60S)?aM zeVkkom%0%4j#v4Z)6XLsDzWx)0opm)rp+cLisCVkS(pyeZchH8fxP>HxGf#_Hlp`! zt7hOSEWZ<$Y0?uPPTD-Zo3Hdi`88-ZQWZrLMy2Efu81GU13RRF?3Sxg4JKzkRNc#PWXQs;B94trhyliiEQ#d!4a8yorTX~h&VLI3~&07*qo IM6N<$f|QJ`fB*mh diff --git a/docs/html/img164.png b/docs/html/img164.png deleted file mode 100644 index 0e6a371eec594323f07f8742068ebb3a9823c047..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 966 zcmV;%13CPOP)DCFU+Y@b3TQv%I@5M>%q-`X)>e+Yq zzWd(g?p_UykU&7d3=moY0#c`G#iT5sR{%{I!XecaSwOfwfHR6#iUt?9&Dx<253mjC zF45bLFd=E~=z&Q+>OrwEDTVO-ej23}hh``aDSmK-#O0?|0YkELe zKVkUDQBqegJL%7Jn3IAZc9{;Xj6o05%3{vp+UcRl(Vvzh9NBK##vcQO*sJG+^OF#M zn9XsKe2EZUCZSn68>H3eQcR_XdET3(Ft**C?NP@FvFB;BO%$BgF+*LCCHduo9~P70 z3Jm?=F(tgs3f={z(P;)pk zH-Wa__A@r)DB@8Tg#v-8r)@t+K~Yz!;x3F25tHkf-{?Ww9qh;+W;=54N{4XF6wu{y zDaz`ELMBPU0TffgqZW6WT7ffx7L6GV1GSlaIbAYQ=L=+0PHAQ;@pLGrXg=s_+v);H zxyw4=P(6&=s=8z&W*Y-tFR_oP;*|QwAy3AWYsrmKunuM$&?YhGcJQ*(*1L!||Mm#uo&PL4h ozsc_95E5&w8~LAPeH@UFzu{^L01(`M&j0`b07*qoM6N<$f?5^Jv;Y7A diff --git a/docs/html/img165.png b/docs/html/img165.png deleted file mode 100644 index 1c5b9daf9d654465fc11f1a29cfbde8c2144b230..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1251 zcmV<91RVQ`P)T~3MZt?8c(h;-aTjD7JnlvZ za>{Ky>M0{140@Px=~kVPrIi$c<>TrM;7szzN!c3B*aTSw6s=KQv zJrfoD3_V@--+!-O)$g7Jpd3MQkSI_?ffqQVp#*5bsEc<3l$t7aV}W3!rBCoGK_Xg+ zKqScF0sLw(hGVH^#$E-NomX_*ZWouk&}J4rN7uf{vuTivOtUxUI4DF+X1pSq8-nS} zNy#5_j-`UOVBt(-6`V8T8Yok$u7v_bswEU{*!7&w2XdX}%zf*aUD`tnvaE#)ZCXKL zQvilJRa1X;%y8g*0n|4JPG!NFjT&=UnHt2Y5&bg|Q37xtj|Yo*NJB_4XI6C{uZoOB zdLDv7S|yJ*Wjv_YL5@W~Nmfmw7wc-A@~8vB^HYUKBWi*w^b!Q~Di}vf`00>X6)JPf z!fFk=<_u+PiHaoRIjuz_T*~kWp%S4iJL=eK=_zV^6xCBRLg?KnMq0*HbW*!A-JY8H zXL%d`C2>xe=9cb5r1FhuI`F3bs+oy&V{p;K?KW2v`;cV9IifR3p!B+!EvlHGDI*w- zy=5!f>(v+W>j+y+jy<3HYuU0NVRwp*3{$rA3u(aB|wAM~+3u5ucnePcn<5NEe-A&uvhH_6u9D z@7wg&N@>*3(;BJly<1`DQhUp4exA0k!E|n`$1wHSl)J0ysS=gx(1AS$_{+ZN#2Q{2 zYZZ(?Kf+6G`nlh%z*96fsz*9rxQ+z0ic7`&vN~thk-7QF$xirpJ|CFNML|A4owJZR zFWAy9XWEsTr4SW9lbk$*_yh3o-;O}+yaZ*Ro4dFnSGIZ3Si73QyIY9{`ggCO&j6vi zE|-3+k--BjdvV=0iko{Pn~$(lm{~&Yhg}D7yxyV1#8r^e$;xf4KRxbn!Q1ckHETia z`{#=S7Dcj1!{q436nzGFAc&yRZ>f^c6ME(+(Ed)l23Q=yt_I%W^9)f%*X1$M$MG>G z%lnOE{B#X7WhYYrO~6W`N7xVGKo^8kvpVo!iodW1#j<7{A}czhMFYIq_x_mbTlVP} zeH!40?6Z;Bx(j@=i2GxteI6KQZAz5@nNQGr;{OKShzr})>-v6sNpL(8(4eDyV)?p%#ve}7->-NSC$j5RQLW$PPM7@0Z@HYqSj@)lM0{;L2 N002ovPDHLkV1g-mUU2{b diff --git a/docs/html/img166.png b/docs/html/img166.png deleted file mode 100644 index 0918f651cbe44e848048b4100a7ba3d46b3246c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1436 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 Ai~s-t diff --git a/docs/html/img17.png b/docs/html/img17.png deleted file mode 100644 index aeb56396d478b80bcf41906b91220c3bc2a27730..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384 zcmV-`0e}99P)0wX0000mP)t-s|NsA) znVDr}WkW+l?(Xg(AtB7n%&MxYh=_=Gc6L-$Q~&?~GBPsV-Q5rn5WBm(j*D;e00001 zbW%=J06^y0W&i*H{z*hZR5*=eV1NQnD1Cqd6)1p7uA&PJSOM#Mh7#;DsDKf{WJYj7 zOoj^vml|M>$b<-y1F&g?it#Tf2%KBV_3IYM6Y~W47$yLrfc*z%1_6TxMlAZUiBSq1 zu!v2-EynR(08^cSxe;fHl;kHQF*acM39xd5eae3lDEffm0T*w9K?5tJWCIJb!TfKz z$`}$ZBw(?#jd*ViBEa8lK$JR8vXs@%arjD%X>S>3GW@&W62fqYp^HJ0p#e!5KQNAd zGJr9M0{?-A&md9e30$(J*Ap19W++|;1{a3U3@lF=t~#*nPdT>udy!0h$OAIdhz3;u5 z-T7lSH9z*v&iD8CeQ&;byTAl>6c8&ci5B(|vX}sYgg~<37d`WsBS#hLggq!J0YM8= zDOv3=$|^-Gn27CmMHuNqd+V9A{RTs-qfh3`mF;qK*;>I!*YfHB6wAzq*M^(~&ihVJNsO z4LwF=zwc44iaC0RY+;;wrgm#!@bzM+DfbcKR6RGaIZ zMk!-9R9!uWN(iEI%5$EF-z_L~)%nRSP2+zIHf`X8A(`#M=$ABh>_c9CqR`a6#f#S-ejf77%JsM230bwj+r@=bCwXzeiCc0> z8=S9pzWn{OMC)l6A6t%bZj}o5biVH%nJ!&^kNTMtF}%+&gB_=nZqQ&WUDLUFgy zRABt}vZmZW(Ceo@9Dvim7-#2{e+iSOBsE2-o2E`zHpLYASKlk7R49>SU;qLp5OIwG4pbQh7#JonAOqHL28Is|cmQLim{J-8 z16xce149B35&_`m@h@mN@RRu$2V*Xfv(VuSvpAOsM*&oh7?TKq15lb%+;fQ}=fo1u z1_lNJdj?K+M&^JC3~UU-3<)0+7&kC5a1}8(_y;UkkQZQJ1*+dLApmBC3l*F}3Sh-5 zIul*s?_>udhAj;LlNn}$m~2NN(e{=>ixbF*1xf*#+5f>I&0)Z3!0jNwZ@@VL#Pnuh zX#k4y-Ms*cFkUu42QbqOq?CVY1K4=a8xvqmdIJE3Ff&JR=CcU^0000sd#O3liEREdp+3@mJ!nRtZmW$4O8 z9>Ee4q7oI%OdSwwyL1m@>C#8YiWuPRR8XMmK;gIUZ0Bs>|K9~Xv=V3dib*E!kngCY zOa0^PDjH(#HkuX$afF)%8CkaR-YQ}lj2aX*<&s6T2~gOwg@v44H)WBkkpAZ-QLvfW zuaUT%qRP`S*nY<>Nk%R_s)u-1B6Y_wGD4mOi$G(wY~A5g*#>pdkoG@Fme4hXD~Tja z@jnu_M{s#9Hpn`~5D>e&yC0vO-~a#s0d!JM zQvg8b*k%9#0Ix|zK~yM_V_*OQjsymDAOXZIXksi^F_d8d0|qWG0|tf$28II*z!VvP z1Bm%1Byce?#Jzg}<}obLn5p@q_|~cR*(VIjjr^ z92{UWoIDA$48WY;1q>j$K@OfP;go6ulR4c6PxwwKa|vL`Fx+A2VBkH#IDr8eAwYnT zVHe=rP*B9M2-7qk1_on>J7;j%_|lymFVGqQ05iWP*Ko_$lmGw#07*qoM6N<$g2y&% Ang9R* diff --git a/docs/html/img174.png b/docs/html/img174.png deleted file mode 100644 index f11c95c0e5ec5a781a18810333272d0593baab81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 998 zcmVSB!r*WZG zk+{Up`Oe>c@6Pw$a{vw$mH+;9EUxMN*Vg3rZ4H3L)u5tVv07p0nI@iyun{+Z$fQV% zi)o_)?x=|CLYW|&l_ZU&M2J_923X2PTZKZF%gU~j_2v7ZsCz-si*=>mpo)B@+hvzk zsmAqoBmx$#Ls49t%vH3(1TtlH1W;uS&r@%yYo^nc4)}LP?&KH{vmock6yQm248TM; zMiYwkPy%U?FuILpCs480K&yM;akD|Y$j2UKMXg3gY*XG`=Rx|WKO( zj6uzI20Nk7r&Wqk7{=TUeIVr_86fj~sI7bEK#)D46LeoI{(u(L@B`D+ z)&Uq3M;bt}sN90_N`>!OB7-WQq0v6V<|tMXXK@uLwLWS#l93FWx)xYq35*e~K;W9< z9;b_ah?UDtUO5aqYBPrwJfh*g%OuOt5(((MMN8E=?T%S$s9(d@he>C!r<(OwSk+N#&1 zXsaucQO>)Y(^iQaD%k>s`PgB^PT;w(=VZZZ`RxTo$4Gjj(>hif;Xq^No7Qp3Z+$58 UY+D1Ud;kCd07*qoM6N<$f*p+2&j0`b diff --git a/docs/html/img175.png b/docs/html/img175.png deleted file mode 100644 index ff19444e706cf2eb24757dc49f2f107c7b71c313..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 719 zcmV;=0xsC8_$pbjaBG{5 zjd1wEDi$IZ*}cLxaD{Fm=HM*swh@FAyu!jp3>Jcj;y)k+1V0Kn=OvqLHf~E2i{bLup$fK6i`gL}0jxt0MZuwoQLb%SnD@Uv{-(#A3NfS-N4 zh_?B;9Su9qLrl@9AJ*6Nd;TOBO5<>YCZmJSeDB#nz6I`?H;wOw)bjJ%SW=i^oMFhs z@0G)Ahv4rO>zKm|u{Bl-gTZ$@<*+cd|3tD+0R3UDUd@5o`l(S+pB-(JzEGE~_2X4d zwn>9=>-9mpCf}&V4ziw`8QYq;1uyL-?!R|7n{?6BgiC~_qD{hBUuDLxEp`MuQh+P_ z5n5z!g?Z1l-9;f&yUUUwFZO{iIElN@8O}rX#$+5<7t@Y6SEuOdj^tc-O$v98KEz0_ zyinJqi}{g@3+EkBU9>)u`#Zr#oHi)3(0LlU)@>Gt`?#-BH1U^Q{U8Kf5nH8 zl!ZwhwsG5!Gv8R5oEA*#)9$mC*|SLv>UHg}G)5G<7Y2ZVHj7eT|p#k1iaKToI;{Clma!XrmERjxcpi z4%_IT?xlfqGTa7srUsY?M)A~*mEXmN8fyVvC>N5xPETFVCUv@Lw*`ewN@?w^`1GYY z1bo>PGCp`^43Fk#Gl1TR;iY5j_7AW;bx2S5dEi}jp!OJo(XcI=T4L8ioU%5Z{Yl4o zOJ}YF$DX1oh>BAs4MkOG#s4jA*%W}wrZS=B^Ad$UM6(ID8kXeHEK9Q1O9=AtYu*!U zIml5B8@RT5!g-3W&&>S1DfaYuXz^#*qMOqN+U?2E--$%|9Bt6q31Fq+;x;)DyTD`p zp7w3RZJZ#`$VSc*a?p%(EQH@FCLnYp_&fQkQi2Mf2u-Ir1VXxBu2o2g-%K;F=zj-A z)}vIc?9V9l_fIaSVCuAQmlw+6y0oe)Yy$V+ExMAmyOkAm>8Fn=7y~!MYrcj5a9ut7 zi9e#=Kw!!@gk%qrFO6G{_H*4ih9L`Z^MD+_0!!fpbvq9lHJ6=4=*@v}TETbr(yY$>rmWV1){4GB3Q6bjeLU zvlbL8l!M$NI!{CTpC+?Ye_utR*#+}WE=&W1DhhP1n4KtKb#8&Q_>Emhm|wPE&8-k< c)6BnuU)`gWXAS~8UjP6A07*qoM6N<$f-<#MyZ`_I diff --git a/docs/html/img177.png b/docs/html/img177.png deleted file mode 100644 index 4c5ed5a3b67076a96708ce4d093493416de2bd38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9b!py+HsI*Z~9mvrQ@CkAK|NsBYnKM&UQ=Ofi z-@SXMsHk}6%$ZfIR&{iAl$Di*goFSU8W|bgy?b}}?%k8>W%Yo3#*!evUo;8U@udIO1Q;zObRvZ#md}!M<`!n0hnUsWDzp}F$ACr0~FZ) z{|9>SGaElB1lSlj85oR>4HyhIfTbt!F$i3k07?{G5cM;_B+~@xU-AxMBeBE>j>I#p zzy-Xrny6fk{rD8~Zb0Qv*onlcoy=jt0!o@QK>)~LTEHoQB=5;!1k5y+tO;O63~$lQ zzRkeXzyOS4P?`qDZvTH}1_l^{gIxy&#ViPy`(P|Z-qG=USM2$%^O)RC=b kNWt`q0~@-cQ9u>|04C%+zVV!Z07*qoM6N<$g0ID|aR2}S diff --git a/docs/html/img179.png b/docs/html/img179.png deleted file mode 100644 index 1c7be3b530da9843ffb23e52ee93b39777e31ced..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2571 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 T(xjOU00000NkvXXu0mjfQtsI5 diff --git a/docs/html/img181.png b/docs/html/img181.png deleted file mode 100644 index 8ed7190c36909f2a0472946d7c53af2810264194..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcmV<60U!Q}P)G7LLK}`IBPm|=zILT`~ThJ-#{`6aE$DDPp-Cx8%R9U*lr|1#I@Jt366sYR z0-ZUV+JABZ0000mP)t-s|NsA) znVDr}WkW+l?(Xg(AtB7n%&MxYh=_=Gc6L-$Q~&?~GBPsV-Q5rn5WBm(j*D;e00001 zbW%=J06^y0W&i*IPf0{UR5*=eV1R(b#SogG0R<$4u|XIgP{sKfI2afhH?Sm!Pe9Yb zup0(8Ad9jGfXD_0W}s2N3@kwQ1R#^0!y!QcA_@Wb(d;2;E)w8GFc}3Hz-B&}z;Izg zz=j138xUd%47@;s1?&bYfZdpYc+Ce8OfDeiHvq9FAOx8qTz-QMmHq`E4g@qz1q!f2 zlw6p=$H~U#Ai#o9$K~M2#Lb$<&#;ISY#zj@1dvw~E?h{!>IDA(--vfFg#cSvQ51gc z3Haq%1fUH51K4CI6+jrA;BaS@WS_dyq3L6#So;D7wuwayERD;GFMt(Di6E4Hn91;m zfuBo&{QyH4Lm)#F0~<1Fe*%(q8cnUZtV?M(x(fAMkle^W=cNDxZcsTB2=Ir&umo6A4Hf_Z&i|QLrow*J00000NkvXX Hu0mjf&*it# diff --git a/docs/html/img183.png b/docs/html/img183.png deleted file mode 100644 index 045d4f07c0b632cb0b2f4474dbe1a7560870d9b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmV-f0jB zLkeRG!+r(^E(b>@hJ+6Z92*=U?q=g28U6!U1Q{jSr>=Bp`XR-@HnE6- zccM5$rUb}@4>KA5Fz|B;Ffar%G%*-5++`KWyZ|!(K!Q0NLn_d;0EV~uz~K4~F^98* r!M=rIA&{kBc)Vc7cLB!!LIwr^M3F5CnKP?attu-k3keAUsxmS%x_kHT?%lilTf=REe8!R>zhDN3XE)M-oHS1t z#}JO0$q5b3tPW?Y7(F)lCO9xE7>a4k{>b2Csz1TN%q$_IfF;!Qu%kw80`rVVtkOIS zEqijKE0@6Gj2-~`5f_%iId@w XsAxZD{K?fo8yP%Z{an^LB{Ts5U8hUu diff --git a/docs/html/img185.png b/docs/html/img185.png deleted file mode 100644 index 0cd52618141d931f1091509d53abed697a4b824d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmV;#0XzPQP)2Tq0w3|K(|11=dbFkoQZz`)1?W}~XxjQ}X( z>;X^)KLf)D-?p+j6J~-nvU4zpIyB(13Ju^g9|dq?h=A;RFoEF$Hy1ZU{s*uS+yDPy z;RFU=1_lR)1Qy~QL55?AayNEx07Hbs07PO&5Kx%kU_&J{4=WFI3IoH;ne$=73>PNw zF{Ci2Fzkn@{}QX0$J*X#|vhB u7hvo!#B{~aa}x>sYZTxH*fT%&BnklV*P{`#<)yv=0000R49>SU;qJL24-#sG>{>HE&>Eh2@H%4uQo6+uo)l(cSFDi zga|tWLjaiZ!N9=*NP0h|mh3xF0g0OcR>GVmOj02Je5;0N&&E&#>zdX$^Nfq~zAg293XKzA_;0Qo?{3lA8o9YF5= z3FdP-D6l0sI5IE@0t1B|qWc0v0?;oE;J~6aK=tkh3_d}?o`7BaqAZ#K{{bKY6J)&r z<}yk$H2sibV42>|K6Rx7P{30kEd85-VLy=iFq5APnDkiZUt#zI)yQawkY+!SkP4(k zSmGJX*&wnDL5AFB;N1eGI6D{?0;%~w3K;BLfD8|Hh!Jciw=NL&*N_Ff@qrBh*Clx= T>N8p~00000NkvXXu0mjfy^){r diff --git a/docs/html/img187.png b/docs/html/img187.png deleted file mode 100644 index 45adb542d7c0e9bfd7bd5202624569ebca8357a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^vOp}r!py+Hn6DC90^}G3_=LFr|NnpH%$cdFsm{*M z@7}#rR8%~3=FF;9t2#P5%F4<@LPCHFjf{-$-n}azAh3J)?!NB)&p;u@k|4ie28U-i z(tw<)o-U3d5>t~C7@8s^7M?C?Y@EBWfsv_#d!6wC24!X;fy5aME<8McSRIc1XVfs- z-;!8m$t-ptG7}`q$iwS!g7X4f5)C94ua8*Q!BN-QJ;rmzvySqWPx zVxwuTvPud&$I8UUwek|Oy$CGQQN|4I=K|pekNrTqC!AhR`hcBM zhM7gGDkZY?Z3;~uzX55494NJ@9!Kcu8#Oq)zZKOV!|UOr+}cLV4!ZoR-YVPoEG}*? z$6;97?>mnSP6no=6m2q>(gZmh!M7=I5fNPV)-Z-xtmFCy!_A$3i^RC@GofoxLOl@? z_0MYmZu>_9*3|xB#FzM}!HkX6gdRLJ+XUz2Kow|Za(k)6x0+|u7!j60)W8Bc3N#+7 z{J=ceDe*m%W&u(jN*U@J*7Hml6+;p+8&F?I@aFW^ZfqCDw# zJoTsXixBqZ=rix|kE+x+%guG*)@$_ruO4(u#pYZwYOBn{V0j{}(Sz^D6kM-4C2&dr O0000$?IkNdMN(k6$jzR0nACr$hGtQ zkYjxvtIk#*oMhS~xz0dxk}W+_uQ#59V3MCK# zKyCtvWR=Hv1m(im!yBb;^Ko4pT#M5tMMJ61kh?a5Nf0eXxb zdiLFEh*QsW7|v_(D@iFwAy*FI?l=c={HuN0oPMpM-oYHp^%7}3nRtEc>Wq)3syf3k zb>&2=^milfSTwq&XkxwoZj4g-1_(}d-%hlhrO4rjGh>v(KM*7r!B_aOC4Ao?5e-6Z(u2i~;p1_g z*f~WDC3?>J{UNHyKtB@am9{d#EJ3q8YLMwMmPCtD?G)+BoU1|qUH(0I5@+;SESJT0`Mh@Zd`qTH+x;9}q8tDQ2;oF6X%N5`xvTiSDMfd^`+Ux? z6sjhsHZ&UM!gul=-9qk@LOH57o_8))-3q^LUDfQXn@QYbz>&r+NRXu73}v@JF~uzn z(VSvuES)U892fMy07vuCqJ{v*fwDe~gN5~>s_8OG7F7ju0!U<(JE<1yVyoBjWL|8U z#uL3x^?Y7$CFRHIx8{n!u;K2fsBs>ib5cQ_FkY{#+*R)7x)f%M7NlF3sujAo#G5Hv zXE#hP{n5RqeqIvCIhH|LJ>>g`VMweJ0S8WHD_R3U;Tx=ig;Dns57cNzO4%AOBknhe z?j)Qxc5pq#Ptc-#ScCz5;gr5m0o{B| zJ#3xMc(|ezfP+SCR9FKvS_euXstl?!_g6rDUh^|l)K5U7Lr=aQ^^;}MSsQgHF%Vji zuu36U5keI~?G5EzHBRaqaYOy=!`7R$KtU-%k0j$IS)gdE#afU^r{r8q&gGm_DK%K2 zm}}XV#H|)JP-}aFxZgTzEE2z_1p@dcnZXUpXa)abvj=$G0wFzWNl?zI8*}?9D$1Uk z9Z`b~@;C|CA_?FaIIv|F`Ua}}$LUyezWm%B)|%Xw)Bh9Oq(qKC+|mY-*d8PN6tcLB zuV_6+cV2Ve#p_p5T~aw;x~QCET>pxR>^Huyy5NM|F6m9QmTP*|i@BG|HN8o(Wwpn0 z=)B-mYI-ESG@BHe$F=mTp3Wlk=%v|&np$!#_aro#Rti9SnqKt+TzZXd5{l4>FQXjRdy+Xno1yjyqgrR%6k$SN>=q9Cw zbpa$Rz@}}=>8ikD<(40|Xm;hOS6(`i@?b6fbF-`kUXg{~6kKo8DLHT0=DjJ4OP>45 zV)PN?)`Ih$lr7`kQy_h`*F_$Kn6ytYjBnt^V9`%IcA+p3-V}Z!3guzn$49t-44dQj zqp(>ZjAn3s3#14Yk|Z%HB2`xFf49*%2%f2FEekRu2#=m5nR=v0Nnp1%cO#oNJOqB| zRts`V03T(ds(~y9_OJy-V`3BFwp2X%t~Yb zak{yro0Fk+V=;9jA6R6PS*^dOJo5Rf^N|ggh(lFnK z`3%YG@r4v13lC(KF)IKn)R_GbX8FulotMqd6G(DOZ~yF3OERX;xXrjFsYmN^r9dfQ z-6!;E)NA0n|JRkjwE6XoYV9lsk0j^S^O6l1pvNTv{;XF0N?fk`4bi8C05%|80SMqj z{H>jl%&Vq8pD!gdUts3GK!i6 zY6awh1^^^U0I1cVJWw;$^f;#^DfP5^(T;}}T4R>D)})E`11yvuCBjws-K6Iyv99Gb z+KN9b7lG zrOG1!u6q$W1cg7X3e74I&6^%WP^j>&cFg{WU!lj<*EL!#X0(cR%(NzlR{8TR;>JDs z8lD!U!sC)Id>n2NSX~}AA4CogLV?JZPF}*oH<(5CxS=zQqzeG9zzmq>*dm8};!<+o zs=Q-7&SPXtuDvBuOw)KdDJEO*WToj>=nroSZP4CpttR0P$Fsh|VRxITeS_kKpVVCv z-CJvi1jncffNI$3wdy!(AEuJM`m|g!ZcHgJ`~0pg&9J+VDFmt;9QH4oVNn8+EmdLw z-$1}dwgk#B^$n`Gl}5BX?JZ1>2!NX+!K!)@icOxNgc~D_5Y#B-D*O((`0kc|D1aZy z%DMoAfUYR^w~Ay@0x%7x3>wCVkX5d!F%bM{MIl!K0KeHXKCh*@oKw%`M5mOp zH~DL4&JtthmNemdTE5nf+O59Qx_o5rBc@PX`l*U}jMsAs1A z`oq97*rU_3-w{ukv5$^753hkY53hj%dAMAuG=T+H7q|XgzIhD89Rdr}^5ViF|Ht_m zp3=X?K)=!qCWmB}hyZ|Np=O5<0KPE_<*c+mj1TcA;2W3~pnNz9g7(|c*Dw?hc`D3z zqX4)F|NHm>0NW3UT+GCYZLR@?e*glac$|0}^Zf!BsWeiukdOsrye_I)b&*bGkxpgq zO_p26SjtJv>H2R|Sx~OEEHpORd|BMcw-p9I6uAo;|FGo|gX>n-KAwX2`0yHd^Y9w@ z>+;ZZ!gUWl=b{fBs~uW>_Akma75PYbf*0`U6h`O48J~&2u3qW@j&C{*=he~=HU`k@ zn6cg9_Z5(DzlqiEKkTObz8d19o;$ch!ILCUuk1vW2V37l6@^3j{CO#09-#4G$meT1oC0Wf)8Dm>;y4EqaMKyOlOjlz7 zSd&|+m&N}7bQ{Od*vtAAcFV@cr}LnWev&q%n)n9;fU0 z78_ynLrIl2rNu{JMIuZsq=rwI!vOgF{_r^7JiG?pJiG=T(XGzV%iBFOe7zqac*ZZu z>?n;kP42#i_=5eRGZQ^|c&X*V7nDP1ym@#Hym{EeSIAw3nT4GJP(Bd2fPZkMFGc0c zv5zq*29v|gPau5b?kB~Iygd0WqK#eT0BSJ?!$3Tg#)LU+SqgV|v_t&wi5JakkxRD( zYB7exAPZlfBuTv?iL_dEEGBZdmMXa}NXqF+j0aZLE-~mfUMY;*c!PY07*{hNF8*W5 z#>xDxTVDfj9$o`Ic^Jvrp&$CnVLT?f&k!F_lH(kK=rPBAupk3V;{^w+CsBC&YrF>D z{u+b8nqtxX6B{k@0&U4H>_aTP0uKPNKSkgq2tpIVIwc&Nx0~_33J-g?3;|JW0GHzE zyKxUMz=Jh5F|fJG%j)Cru~c(z^|V zm^!TPYH53`T1$}4^*xG~rGqac>Fc-rs8hP_#EL``g)(v zxA+jX``K1MDx=cG-`(aI?IH9cn;{4n0*Ig&LAm*sh2`d37DD}|7b_%b2@yuni#>^% zpM>f+y;vRNn$-1;`k{>#Nm@eS?DEr;*RJpK^t~8YHaCwCl3NtA&>+`qDP@*T)&;Z4 zx*(ZKk3>N)t-?ssTWif-*hySZlhBm1ihm}DV)e%|g2@B>TOpiO2;u(_%9xF*$AFW% zDoLskCl$i#Fj?)=-H=33eq;jJTXx8W!Xg(6u%@(t1k9<`Cw%P9zWfmPWKJOggSs3v z$rRe#9xKq(#WK_0UJkn$1WD{dK$4j^Nxf46HOS$v?6Pg4^}3CePvh5lNaq{9lq`04 z7;FosQ~4iQ%1N9~WpRvAU3pNQ6p67dsMmU(Rp}n#VeNUX8fq>+x_3po^hFxh73p;R+YN2%@;35jw6VPxd5KG3q+wl= zgkI!85bns#{N#k<9kk)0=8AOiMH<)@$=`k}_dnxOc|)~EoBrTV(%sFNmD8sZlN#`G3#xa}8M<;amU!002ovPDHLkV1gL*aee>* diff --git a/docs/html/img20.png b/docs/html/img20.png deleted file mode 100644 index 6b9684baf89a95e72d05f90184709594485e0139..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189 zcmeAS@N?(olHy`uVBq!ia0vp@K+MO&%)r1{7`D3{$k7V$332`Z|NqRHGgDJjot>TE zy?dvqsCeegnN_P+b#!!;m6e5rga8%Zy?b}}?%iuY`&j`wj3q&S!3+-1ZlnP@j-D=# zAsjQ46C4=6v1v3kvNrly-77fpg3O3(rIJ4=-J%=fh4CNbmm?L&pNdoO* N@O1TaS?83{1OVF`Ov(TN diff --git a/docs/html/img22.png b/docs/html/img22.png deleted file mode 100644 index 19b9986cb72d46b8b616c27a4cd22e33c3cfb9af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^d?3ui%)r1nE0LiD$k7V$332`Z|NqRHGo78C-@SXM zsHk}6%$ZfIR&{iAl$Di*goFT985tSfy?b}}?%l~eoD+b2#*!evU%4@}~cRhBJ7&`njxgN@xNAHONI? diff --git a/docs/html/img23.png b/docs/html/img23.png deleted file mode 100644 index fa052e10ea7440384e5b93e542e7d532ff8de777..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmeAS@N?(olHy`uVBq!ia0vp@KrF|?%)r1{)UfjnkfR>p6XN>+|Nqp~RA*=BckkXQ zDk`2ib7s}5RUI82Wo2a{At5to&b)i~?(W^Y@A%%|4b;L|666=m;PC858jzFW>Eak7 zF*P|M;Xz760|Q5CLt{H5V}!KCj)p62GjxO!(inwU-#9E<#^5Z(w?n9*tKkbLqr$}l z2TnaWaA4lSh9q`70p5+P8XP5EHX9e1HoRbBTgEFeOEAUkH&Ywe1{33mDUAKa9~c;{ Xzwq3zP~UbCXeWcGtDnm{r-UW|Vun*5 diff --git a/docs/html/img24.png b/docs/html/img24.png deleted file mode 100644 index 35196adf1468f8338f5aa73dbd49c93d69720142..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 476 zcmV<20VDp2P)2!Sn?kLiG=?Lfe)ZW8xK|gVJ3q)!&e5rYhM}opD-6B0ELp_Rxldy zLKtiTKm(Y{Wy(4Gr!z4BZ~%!ZKoxZr>bF4cwihkH@P)000{V0{{R4vFTs90000mP)t-s|NsA) znVDr}WkW+l?(Xg(AtB7n%&MxYh=_=Gc6L-$Q~&?~GBPsV-Q5rn5WBm(j*D;e00001 zbW%=J06^y0W&i*IWJyFpR5*=eV1NSw2AqI}f#Cy~F#(5y`~*fY&5ug~6o91JAk0}n zeDur)AZf

0T{U}RuN(awS2EZl(mBbef1VBiFkATTo1%Q(aQ;hv9m|_JZD3|~VXhyK#Ab@wnOc0e)kirIxs0BbK z2WJ2WHjJ~vQk0rVJep?=j@-(!2H7jB&GnB>nhZ5fij&xhT{wh1mNAqNgxkH cfIrY00PC4dV72QgE&u=k07*qoM6N<$g6$8)NdN!< diff --git a/docs/html/img26.png b/docs/html/img26.png deleted file mode 100644 index 8c581355e69cf351eb90b36b0cf7887aab9be31e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 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 diff --git a/docs/html/img28.png b/docs/html/img28.png deleted file mode 100644 index b594d9fd4ea3d6f959808889b822973f0d5994e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 769 zcmV+c1OEJpP)KRWWN6K@|Qrx7ppf+-6TSMbcaQ$B z-uGtS%$qmw9ng?250=bYG&Zd@F?e_o1E={XNs(|N2gr_GvYvnM&hQul*+K;PF!ouS zeGA+1B$S~34X#Dh*Uxf8286xSe`PCKtX!a*EpkWI?+x95xd$|yB7?F2pzC~F&fS@ z_KS_u$_Ye?GL4<-1bgz*JM~A?g0w+-7#u46+-z50gTmzvNlr*1p&FC<5}UwgSH!E4 zZ}3cB>b(4bHn7OLA-9-YL`2Ez%bS7Zyv>d&r|7FKgepC`uCXMquW%)koiNUe+2_Yj z>tlL1UXCRlsn`91p-S&EagWXc^K*E{y7`S9GA?3HQK@gKf+T%TXk11rs;@vjDb~#Z z?(z5gUrtumuv=|&lf_PtD(sCCvEAx7`MAEorOn=8XM(G;!*(LJx4TVV)c;*{lWqk( zwriGQ1-Am{`PKyf5;mSVzO@J04wk45df$CGd=+L=p1mcndqgdl#0Tv&^&2hhOjldI++b|I7y$hkKDfYQP%kB{+a#)2dSEgfSa!j00000NkvXXu0mjfDAs3u diff --git a/docs/html/img29.png b/docs/html/img29.png deleted file mode 100644 index 79cf88911b5ca3a564e04c9e86b841862e251813..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^Qb5ed!py+HxJ5CnKP?at?KCLC@U)q2?+rzG%_-}d-tw@fWYqEyZgHHKLdprOM?7@862M7 zNCR?eJY5_^IA$g%G&HgbE0`$T+sE`gbXL)4ZhlbG(r~OvlE=8Agu$FyS)1AKz{iQc zJxgUy2qc_I{d?%Zfny&U8;{O!Z0v4a+_0ZCGY?zo#|k{;y|a z`*zvg;hKiQhMa^C3Dw6ou$*AFn%bz!=)r8ru-Z}7>9S197oa;BJYD@<);T3K0RS<5 BUfKWv diff --git a/docs/html/img3.png b/docs/html/img3.png deleted file mode 100644 index 61ee834b5f1524034cb5e7da8d5808c76c084ae0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3855 zcmV+q5Ag7bP)pXJ)cT^KqNlGFqN=NrxeWlWacr+T1Mx)Vy9HN9%ePZ`u z`=y3&=K>Bx9Qc_7wflKnZU^P7g%E%b0NDf%*o=g=5~w#{;kV#Y*}m7QS8;Ex9T&zP z{2a7)ZqDuYkc0B6@0;>E0-Uc{ZaXrID?V~gSfje2Jupi1ET*}g_@%j!yi+nI)sQUKjrsxSrs z1z3Co0w@$!&Y1}&B3@+Cm4=!I^YYIBetRdEEjLuT{GsZ`+6b^jX8YqSTLJ-%(Ya(q)5_3&@WTbU1 zyiq3R-UT7~__}H#L{D4r`V`e;qQ4X8rL;1@Bu4Xmegv89BT2NF)ee!6$u`BgdGk1c zPTo)-J^90+tml37(m?v|O^T+k8$7?ce`tIk*lC2yM52lkVG|IZjT;-a2 zU>~{rc+Srh>bxD}4DO)me?|)BsH6G3FCPvZ2XLI`*Y@Ku1wo=oyCO)p`c~n(T$3P4 z&7t)6`=n@Aa4w~2niv8&9oPYk17&>}2Q%wK0RhU|%_TgN903xe zrL1O%e3`HHG8%dLnn^U$%S2D7$GxO@JN(sL@iiUpdWxgkT{Md*b-?&ZdwiftL``Nb zNVhIkD|GLP7gMy(ZkSy9qkB#Lv?PjsPcvclB||YJ39E}z#5#b60if^>t6*WyE!Fnu z(rJ2jjaQF)k+=k>jUIfQ;wR`)J}kljzHt6+V^sh*C;%*=;3zo2rj6=y86Fu?69h?5 z6O?2^j=3CjNy;9&PG{U)Q3}9TA};Pj0&t)NHh_ZyMdpXV<~aN(sHmTSMCXy*okW+0 zI$NAeB)aj?W8-!(oLVdzU?YUt`rVE2L#W@X{W$e@T`#E6f(y5Jv*KSDZd_Pc7eKrK zY;rZ-7HzmN8@PJ)TOqWcDa>Z{oxjZ5lejdx2O9YgXzrJcx)+JBseu5#i6?M_VzYo> z+w1{u*FZ>*S`w5~>c-rDii)y_@^I529B(J#TEqby0|&N9L*E!o%;8+qLJVGkwI;L0 z`2WN@E|B5R?%#>f73+P3pQ0_U;yYT;(Y^TXz0mEF%4xRuor}Hu<{z20aPYk8aXAD> zV_Dity(Aswske$s%c)1^sYfqKN7U4kOSvVX z$z)0mdh|5C@&P#aG{Ic1^5lfX2_)Bz!bLJYw~btK9iK?GT@!R_i&Ht6NSP;+Bv&Nm z>L~CG7s-m$Q6eQ*^^H{4#)TUf)&+oA1#Pt@R|OUew|KL8lPkw530nwlj1p!7q3o<7 zMI9y#-6*t1xu#(Q`C?ntBll{HW*>kn6gr{zl+?ChyjHRyq}MPi?E@6!3%D>@^plQV zC=7%bg`bGRezx%UHu$hHY8|ZmF@tY2ya~ipnPUR>Z0_8^rKhr0%?L);Vt5z7)rZnnKeYX);2owU=eZZJLWcs`l>6sUSQ=uY z#ajyh%gpmu#fSYAAS`I*Bb72%f?WB z>3lwe>3rSKD5B%;a<9$hZtR^a&sXTJzX%1TEL4b4ZK{o|5XjW#TCyFk&zl}46H+qQ znMGA`s1+9z#$l@qTp7evhv(;*RF; z7RHR$CXXGC+M!Ki=k&qKJ@^?OmZik)EuH(=-5{`N*k&1`9UO!L8(TP80SjLh#m4TB z&J5FAa{w+d0VWyV#Qx4248enmk!1*?1yE$xD61EU4z${@FdkkM+MvDH+EEL4IG*(# z4qL`P$hCckqSM9w$6=?;D>R>JJyV|DHw8d7oT;;FKWpy>-Su@`!*Wf|88xPq_2pdE zmnNw0V=93128Zo~W>^%!#uh3z7woBs|r`a~>eD*OOke7J=l3LpqdX(to}%BKL3|A-e`rlRRmN|Kt1M@=%Ck|`69 zOqX2B^r)7`xlECJb1s)!r;yRqqcUjT0uLhS1OTb$C&z;CyRsh}%#KTgl^6#gX!`juv=c8Djj2mrvbP?PE%0DJ?ZP)rKz!}t)tmyZ^J^5Mh? z+IrWY$3Q$}i7+4Kg*Yz4|JlBmSieDJVj>Q7a}6N;Gaw-H+o`uv-)lHcrIC=igv<#U zEw}HAICDMTxywXtkUT`Kc8i+B72i%ZwcRaug`0f<$Z-u)*6Thxp>Hywf zcN)&Cr5|hrpw%&ByTWe^AX~qSMfDE5Dn1rNT-0*~S15RrJo@99eA*aqUB+E|q@I@V z%t<2ex$5YGYdm;TjdY*6J$LlD1#9r1{*e$z1KAi`(ch@@FSKX-A_d0w!4-hbJ983zt@21#n z78`8*jrjL0x60`Pa& zofN_V*hUx_gSErNk0E^HR*T|UR^Z_J!|F%S=hF<}N<6v8c!c8LEy^rBhJ zGU*mLj4&hyF?@NFB=w3U5=xKEM{;XRm0ac|<#-pNTjp0W=r&#g4BHydx3+&6g_pm^ zbKvE#F$k>5XH9>x(Hc+Cm)zXm#KJT1007%l1Wt?~G#gl_fMc_EOTK5}Ve6J5Ao3O9 zQtW&;uHp%Ju*Sv)HZxgKe*7sCiw$CITCTibbKG;_#ltYT)$QaNc(~Q=of(Ax3-y91NT_n=i_^ z)1@2^zCG71>TRaqu4+Sp2ATN)vs!jWIev z=vg{J5Y7a!fu04$>OBpM)q5I3{Xx$baZ*5pWmuJF;>V%-gPtw+aZTd-M*Yynia04C zaB}%+!gJSmdHPz6Gn9%LFGp-t% z=af?Clu~-s9%W8$!^rKHaT&Icd%%OtNgnf{NhZ+VdPm&T%;)Kzhbjg^5>*IDrrs#= zj@qYzhigrju5+!I*J9NY9P^M&S9&hFy~ALgCu5nH=RuOO%=aaIuw`yvTF%YY!P=uG_h@Xuc_qYV#7zDQeFq@jJ0{PlaG zDsxil4b>WL#)CUb%9}BZRTyjpe7G5mRf~m_wQcX~2#U9~s(I0EKcc_ddc_y1E=lhu zTkoTK>Q%z15A2xi)5bAHJNePvW4BaqWVs0pWna{{vddeX@|3 R?tlOQ002ovPDHLkV1l%$aU1{u diff --git a/docs/html/img30.png b/docs/html/img30.png deleted file mode 100644 index f9bd0a35c9d50aa25673fac2c48bd5d9f5b1ec8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 618 zcmV-w0+s!VP)KRliFdK^T4B?#%7nuUVA1AQopOhlK|ct->uBh&E!1 zn07(IXrb2~ip4b+SGhqj1QNVdn$ADrnvixYtK<*RY6CfuH0w9(otis6^;QJI*X;N4 z-kbS$=9?Ly4e^aKunGG-^V3gY z`W-6285^DHc(>y|118zj~l9e?^t&bnp!w^#gi?4`~&Hk%TtnFCikXu9OEyTVn zb3;OAW*S-l8}$`)R0xNuhot9ypg^IVMFHE0J1HM4{o%}^Bv9r$GKYK?Kk=EX5a1Z%40000mP)t-s|NsA) znVDr}WkW+l?(Xg(AtB7n%&MxYh=_=Gc6L-$Q~&?~GBPsV-Q5rn5WBm(j*D;e00001 zbW%=J06^y0W&i*KqDe$SR9J=WSIuh_NfiIhbWe5HB%K;p*hmm|#Dky*2Sj%-G7T#z zf)K%tmjwqBKQBAW!iGo=Z4j62snnSGks%Wgdd+{ZbCJF2oP@w0B8aeiYK53lg!aAe zo=i^?i4KE-B@e3ly{h->SN-a}*VVu#WQ|iN;0eHimeHV3tq$0m8E-)5GWX8qB2chb z7w|h+X(Mu?M=zkEi1~%K4&sLAN|0@njA-Vgf(i zeyO!V3_P0mpA>P16%GuoXnGuauv9Cs>}r~=nitZu>lar^Alc&0uD{0Dr|A4F?!2}M zKIHYWSxxZ0(WAzlfp#|$ky~Air23=~ZmtK&1VI49kYbkNN;1G-#4Ln%su9o$)*YFV zp;vv5J>f84s=H`~R*71gMS;ADbgqTVL#2AjBHZquOFGx}CAX>DRQI@#s+XPU;~4k6 zPg+WFEr`1?G!a!cC!STGG>xr7G9@b`st{3jxZ1!-`Jap-j@xn&Ssr^UrR`)K3i26U zsLjE^~nC1D5!t!*q+DJ6Qclt}0g0xDn1NC%X08hS|tQLd1wdJ{nQVM&)H zdU#8;;lgR}m>A9s2AElcx5JlW3cRho6L7SH3AE~mmsneoDLTI3TMq|_< zmpWz{f*dvq_#kVX(IDUD_HJr{%c8}|gWNEN~gKHPMQDln?~3PsnvMTi!o z;yg_(L;@R363*nBcO4g`)mxUjG)D4H)a^>FWNV~HcaLUss)nM+?4Q3LydIk6W7PNm z%Ku&;p8BD2|Ju)ZS_$ut67w{(Yb8fQXmEwZqiay_dZhIMMuR@9_Tz6FuBgUJMh72` zwqRY19{b9W&CqsY)E31-n;wmo<~|!swf;#e$t5dI##@&;389`;`hq{j$u0R6yRsFa ed~(~=5q$(~73u=sM)Ift0000{0tWY4ovvK%OG$8T|ag(o#VU20?q=CE1OzlN1TZkL z@})5pObd9%U;uPsO%*@G2leCa8pIh%7_c2-52&5v@U?*X1Bl7cz&s%gD4gxUCBX2O zVJ1T=gvsCyR-Mf7m61b%WeY=C8i>ihK$BqtNIZq%0xtuD0|OhF$#8`sfq?-4bU-ZI TW?Mn^00000NkvXXu0mjfIM#Mk diff --git a/docs/html/img33.png b/docs/html/img33.png deleted file mode 100644 index dd77d1036f3e2791a6e48b46d7c388711c2df255..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4351 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 diff --git a/docs/html/img34.png b/docs/html/img34.png deleted file mode 100644 index 8fdb928396ffe57f3505bf9fbb65c91e524f9605..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 808 zcmV+@1K0eCP)fb&D0000mP)t-s|NsA) znVDr}WkW+l?(Xg(AtB7n%&MxYh=_=Gc6L-$Q~&?~GBPsV-Q5rn5WBm(j*D;e00001 zbW%=J06^y0W&i*Jrb$FWR7i>KRy~LlQ4s!;>~8X6_BP@Vc1EnU$rd6ua$DKh1gr$% z)}JPo2?rjc;06TI#z7Cy2zqN{saIL*wl=z;jbNdTsMYGBL`34em)-nbylfE!#V=%c z-^@4j=1pcM3rs}AvVCy?-CVpb1JPvWFql>UNG16g@|R#vw?Po!g?y9?=acKm-PWI! z1l$5S!)z~w$5bF|@CfkY<}=4CK%LXYLAY{JDWE8n%tD?@q!vjK=7e}M$O&A#bLA7Epd!I#lV>VDM+ym!W()FicZs zZhV&*PMVYGKhv=OQRFw37UFw|25n@8sy7=X;&mW@DEMQnpyx~zcSLM_k9wH1ewbC5ww^ zxq)JZY>S(WHG(5F_**e#A%y*?8K!{>2jQ|NiQbB9Qz46iRQ6l{j3dw|CT|?sG}8#$ ztyIqbqD)H5^m0>#yj&oA)rVB}$L zU|<4^a}+fs;ILO6i}(T@?i>XefC(w@Di97aW+deXIF)nZP|kLQJ%C{e+C2%?L8*nNJG%B!J+^F diff --git a/docs/html/img36.png b/docs/html/img36.png deleted file mode 100644 index 87fedc7bc9449d2614a9594c4cc6cbd86cc43a95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 873 zcmV-v1D5=WP)KRy}OfKotILCw4BxwIwJO6P=(;y-F-hm#)cHs78N99-kpD9lF~A?o%)pA zoxgkE`+RrL&jz+L*G0`(1}0oPLu`kE1KPH<5hud4For;LStvxdF_B+x%gc-vBc5M( zE4Oi14uciJLkaOVm{DU}N7x7J+J@=_IJ7e0+WE!#(2*0O)=H=J1IjCa8u z@ykM>K#0SDHR6PmkLnIxX7M5%ciZ!0;0ByrDbyN9s6Ys#|K9T3BZ(U7ITWRx0@L{e z+Z9XC-Bnwg?<+&A0Qo;T0Z>Uf4vHF~KsnD^EOcZ2*i2TNIL4x@(>T|p*ab%uPwzZ2 z6(~7=$i4_JGYVH^%5f@NM>_~8w`6uXn@LPMLTgl+0x5mqe|3HTQ?wz4n z1~`#w?cAx%v3v6ec3^vBdbx7Wsy3wmX#Y#Q4=6nK|E#=5$*+@kjGiFg3!6SK5@@sr zJ&o;kikCv!ubuU$%Q}uIbg+eI&No*rA4}SsADjuRv+7*NSwbsONyqB&hq&o6ide&$ zYJkUSSgTJbX=3(;x6v}XB~PV8>%8IBUEF`?4aJ8%48=^C@~dL_K_V?%&rl5WeF8>| z$_imWQ=K)bl5CDAzq9pxlfOkwl|3cjp~BR}hIT8cduw>EVGb9)>U2O3-^=?pr&t$E zj(fVGcndw9@_On=TD8&2TU?qhdFDE}P6zp!`oQ*RRLM%PUDlB&T_N}cY|o@2-&%*5 zMDt*lJqw*3tegk6v{ZKnj(q^=dG3&JyKR2}9`?^;XTOZ;00000NkvXXu0mjfPO6WD diff --git a/docs/html/img37.png b/docs/html/img37.png deleted file mode 100644 index 34780cb0a532cba692d7503f019fbd666fd05cbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 zcmV-M0lEH(P)^G0_hcnoNgtHyE1Q=@e zI550r*uubffpY>|07y8Q;VWZa0+$270jGjM6N9${YZ};dDGV1Fu7ONrxB_IcFfaf` Y0a8*f;uBPH9smFU07*qoM6N<$g0Q`H%m4rY diff --git a/docs/html/img38.png b/docs/html/img38.png deleted file mode 100644 index 9ed3c9281e9cd097b784f5f82681a00604e39274..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4251 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�GL?6E^#T#6lKZCIcV!40i^G{of5 z*K&H0oI{;A!TzJ0L(G+-ehkE1a1ieNL4YE9re?}_YT4VC5awvkTo-|m*RVTMNaT=Y zZ0)f~F^hLSjt~g)H%0Yiia4mjkh&+<2Tl#dT&#@>*df^6=|sVVJj(x@_83QfGcNP% zHLkWk)RBX5HJn0wjxrmfNdS<#;cHp33`dpbmYVHIJp=>}N3Ls!h>Wq@U=k~wZG5uRs)9`QHWkd?6JhK*g_Q1rHs`Bbk> zgPe;^`Gc}$@ z-S{uiuQyTF=NAu6IqUO_hvKU9GV7CV(7(1!G3%ohhIC$Lec&^#>1KUcA=7!9^`SF< zs#zaa$b)u%W_>j$6=pr&&U@>vusKYU^mv@k?)2qztjJSV;B|Cz2UdlOJ@~e-TTs@8(=Q=pCy&uj z>t+HBbjl7&FTI6C8I&kV(xr5Er$3()=Y~i@{J%%x&vZDu6aR;i+X{7cg}A!oV002ovPDHLkV1jUfC5!+7 diff --git a/docs/html/img39.png b/docs/html/img39.png deleted file mode 100644 index 65c6b5047393e24a356d22ebb6bf64ebff63d165..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536 zcmV+z0_XjSP)_0000mP)t-s|NsA) znVDr}WkW+l?(Xg(AtB7n%&MxYh=_=Gc6L-$Q~&?~GBPsV-Q5rn5WBm(j*D;e00001 zbW%=J06^y0W&i*ImPtfGR5*>@R69$)a2e^O_nY$?Wj)q2?50p4t8=iAh<{& zf{TL~7ae=S$*BGAueKF;<wf3lFXsjr6nX=P3yN)QXpe43l(I;Bw5~4_xA24>{;Rb85nD+unY>MNs$RXIe{f=8ETQ$=7 z*^)l!OT5KpU)3+-94xoYREIxJ#QzY3_+w)+wOl@RY!9pC-l02Mua!mGSp9q!b)`1H zs6RSqj^2YX-9_|ay*XeqUkQhc0!?gTGdubM>?JXb`yMWUg$S0cuhDap>y+bf434sf z^eU&%xWW!_*#!4x?sW*?2$vxa9@6^sfzofK>e2l@xr?jW-G}FSq;*yIC+>?*PSTA0 a%pjkkbYDf+AhAIJ0000FVdQ&MBb@03sKR=aN0KomXRhwZU;u?rFrB$QMXG`OIl!V-vw(ribG zQKTRQNEQV`ND)gYcr+PAkx(TCEmHn~Eg~8kxBCNhkqiwcb^UpWPN}oA0OJ-5fCx3VTw3oBJJ`~)K`nFz?I;BeCruz7z&iA@m}=f)^z9? zqM63b1B4Z5VLH8chxR!`JI^`KI2)x+NyaIId}W_Rf-b?h24foOjo(NpL2Ny|Ha4jm zq}1-0k&-qYeOZAUc!M2ajni;Wi8zJf%|=~Av}Sdh{Xq?ubIi9sE7}hZU4Jd;8gE4|Cn;W@xo%C=fFr)`I!TKoJG>Ai8 zh-?JaeTG7*wRPo0W@!W6bHv~3z?j5AQC=}oUsi!C>)-%$>7yGyjs(2uJSp-8T03rN zZ5V-^VffnKf+T{AtL+%?v^*ILlrK2LE&ndA(TjPIxefa(y|B*rEg`w4g;VtG^6jT* zbSA~4JOdM2n}qEu)aU2Z&v!28`^Aj5i7BMr!zUbIx^s-&wtwKW9l|@CK&XNKG?#7} zm`AHmgcl7-9j?}a%o&k-8S_zlF{XtXXY#w!im9aEMfGM}*V}0Z;_bc(CUhgZv0LHf zK%`F5;-V2xVpitzb=)0G5;GZGeP0hTA(uvy0V_D1`G4&Xf!@P=X+60k00000NkvXX Hu0mjfEfbT} diff --git a/docs/html/img41.png b/docs/html/img41.png deleted file mode 100644 index 61ae82f89f5038bba4c08a2edbe62c433be399f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 576 zcmV-G0>AxT0{{R4T)viF0000mP)t-s|NsA) znVDr}WkW+l?(Xg(AtB7n%&MxYh=_=Gc6L-$Q~&?~GBPsV-Q5rn5WBm(j*D;e00001 zbW%=J06^y0W&i*IzDYzuR5*>@Q@u;WP!RvcwrLVglPV~<=&A_qpy(nviQ-@;9Sw-+ zW<-~6Z7B#&ad2?ZRtH@Rf=d^{f8hNA4(?J&QN%%r_g-2}Ypl@0!5_R!?(W^kyAPlP z&I}M!Z9v2~;Cg6fUl*VM+CcrvoU0lLSqvcm#7T;u5~^(HJ@u^Xl{g+(Mlyr(~t(1Mz`mY;wxUb z+Gp@Cu+NF1naMk>(Hr;#Nb5cakD+EI@?a;L@nmdpYN5`EU<(6|>e`Yi259puzsWSG zL#EdAqu diff --git a/docs/html/img42.png b/docs/html/img42.png deleted file mode 100644 index 93aeb8984cd8fda8611f28e90f48694edfa26a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 594 zcmV-Y0T0{{R4QK04;0000mP)t-s|NsA) znVDr}WkW+l?(Xg(AtB7n%&MxYh=_=Gc6L-$Q~&?~GBPsV-Q5rn5WBm(j*D;e00001 zbW%=J06^y0W&i*I&`Cr=R5*?0RKH6jQ4s$2HredkxY<=f!75y*93;hwHbN>dRmHOVi@-5I*F+4^$`No!6=-nV%uC82Hde*9RBjPZp zDJHWCbOK|2zeX^G9Q~}z2MZG6J{Fi9%gvl(iq654piM^%t|E#WrSQ^?iu7kQ%Us5l zB*IU0_#*H$H=d*)FA@hjnY){p5?YZ4%X00Z(4u_%c!d67U)GOfXZ|@%C#QMX^-xmg g`tQPOa$i2i6B)H`F;084yZ`_I07*qoM6N<$f{2$39smFU diff --git a/docs/html/img43.png b/docs/html/img43.png deleted file mode 100644 index ddbcb3582a72704300bf9e8c42680ef01db0f0a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^+Ca?5!py+HXe@f-0gz)5;1lBd|NsA)GiRozraC)2 zzkByiQBm>CnKP?at?KCLC@U)q2?+rzG%_-}d-tw@fWYqEyZgHHKLdprOM?7@862M7 zNCR>%c)B=-NK8#mU|=d^_KXM19wsL|_@TF8qeEd7BlCo_3JLog>Kz%SnFDyG z54SS3H82ZH{FIc~QNhh3!NM1D=U&fUpPU4{+s-UBAhIz_ovP{d7!+JvBOe*1FL}nN0Y0i$Pa!K6Glm2o_l<2GC4i}*Eh9PHrgdH iXt5=Uv9+;u@G|uO*Vp@;{oxtVZw#KUelF{r5}E)F=y!_% diff --git a/docs/html/img44.png b/docs/html/img44.png deleted file mode 100644 index 5ef68fbc33622ec3921207a8b9b9ec6ede457f27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4294 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 diff --git a/docs/html/img47.png b/docs/html/img47.png deleted file mode 100644 index 8886c4048067a8d93837473e36703550149df286..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 521 zcmV+k0`~ohP)p)nji`mmw323a}ihnfRG|Z6d~r4Yf0Kvs7`_p?#sJ--^=B``vQ#O z3a|vV#zbIdNryHN8fHO;oH!*;A1n8=l*~%3AahF8cvz;yF*vF6upN(p69%=N&1J#w z_nQuJO%6oGJ`~;8eOG=5X+;s2*r$+)6dEvs1|7KcYss@TJdeN7ABH~!MLgr{-azr4 z$Ez(Nbq;BdzRmk}z(^&+ghV9pLTxfsB3?rVxQV3DVCB@Q*Caw2BWyR)ngXn_5XGy&JH}P)9u8ZPwH5 z+I=+7sKtpZh0#vDSoZUtb*$v}dBG(QDcMcwT>KL!J(y<7ooF%Zp{5?RsmV$C23vdT zEI&^#x6dhXoG^lZ9TXa{#seQVZ(|4PBzGRc6tJ#MzAwe7=jZqW&r?v|a;+8X00000 LNkvXXu0mjfycXsm diff --git a/docs/html/img48.png b/docs/html/img48.png deleted file mode 100644 index cf61ecd875a2aca57b28bcfba2aa653ff318f094..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 554 zcmV+_0@eMAP)Kp1|~CTY$#q$m{>`~k(mIEjOJgM*XgCqxj$ zMco~GqTuK`+2T@NTwUG#37K3R>`#av&>oa0RTS9w8M?6l$*sCjHe4{~qoDmZF#uGd(Fl zGyR{bR_wfENb*F4Mxa!pW*&K4nUME<4%dX0h&9|GW#>_bOpf1x93qNXtZ`ZB!ZENy zf#`sYc!J%w^uFuNRGSXrZUgnf^C0YJ^Zy61*8c>ow})RfdoTXro|ZZkfg;9~y3csX z1n$Yc+{2j?$LjRvQkT!p)P`6pHR5*>@RIyInKoEU^?epH9@f|1$L_%Dj0#hN1h?Pi@Dse~a z2v9`D^(k5;)4n9%Mn~7%@h+pukr-e7Zg3HYl`)Q6(^SHcV26xXaHSV8a3;%JzzL zFJh5QNHw}9tXC*p#5XB)C7i;IGTY4w_1aL}3GS0!gRQkj4a(605fadI31ZiysXxl* z7|B%RIY#N>@c5t2_I6-ZMd_FayLjnc8m#3fh9Ip=gYVEuEgzMbwiQ1Gs!Y`D(i&qY zh|)nUMGDlxds-)06AkwVlLzqonhLhU10>1>MpeWWvTc>7b)f=v(OxS%(Uz&{N>~#6 zrE5MaUGjg0=E-dHCc26o?^UiZdqO+5eFgvQbm;E{&Wi;2K0x>;o^~-zosns5Fx|)l zyf-g-!)NMQ;>Y)&KO7KlPJcjCISNS!3nX9B3@UpU>R$Y$2p{W<-coETzH zsIfMj(Emd3s~0m0Ap-uS#c{?=nh(NMbQ0LTb)3`DTDsF_rj;xAPw&3}_CR6sbCRy< z<3wK;LU;Ep#`4Ju@HOfTZBl`>?k0EPlb|HlufNm{;3-Yv57n`8TQ4bsvH$=807*qo IM6N<$f?b^!EdT%j diff --git a/docs/html/img5.png b/docs/html/img5.png deleted file mode 100644 index ad004662323b3bf16443f68bccdf2f4b936f1a5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^+(0bP!py+HxaE)(ACRLJ;1lBd|NsA)GiN$GJHLDP zPEk?u%$YN*R;}vj=qM{I3keAUsxmS%x_kHT?%lhSc{nEk`HUq&e!&b5&u*jvIT@ZV zjv*W~lM@=6nc6rNUNKDBoyFLZl9rH=oRE-|P>|pt*v^or@GRAVadp^Qr-FzDCc+`H zOal1{2^LZZ8bsGH&DzU#vxcpVS;a3wy5ouE1;%HF&Q}Ue8cxhpPB<6&=2_BaP7W~! ZhLe}YifsS7F9O=h;OXk;vd$@?2>@iNPkaCX diff --git a/docs/html/img50.png b/docs/html/img50.png deleted file mode 100644 index d7303ff459c4b321affde064f6ec66e97a689a26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621 zcmV-z0+RiSP)q$gGR5*>@RKHK#KotIhor^Dtaa2SFNR?XF4mDH7fO-Q%yHx%Y zjD&;`5@GMaAys1Rbt(=E?b4N%jsKvYx^!s%0VFqV1xTRde%Of{2#qSb@JYV=eD8gC z@1CC@P)17+*#Qw0z5p|895;YH<{%J;`!_i#1ZMO?vnL=LsB7wo5&lE?(~WoXgVxm( z>o_9{o?%flWtdPQ&j4vz^J=_<#zNyqpOWjLCL3m^McmZ}D%(<`0YRirfUDBclkmW! zLtr`A#mvrWY_%y|c84+lKhXMUn~&P>(#sH3Mk)n&^9lnF@_FAsObk)=;u*i6ROb$8 zHks>a;t*qn6NCc3i>g$4UZpLsXSauZcd5z&DMKb~MaOmUnwo3W?#yYR*w?Ntmwpt? zTHnIo1olSXosYizeFN!;-jjcmKF4JGcduc*P7!>O^Vbb4r?f3XXMfgY^qQze*_+j=k}_t&_>613>5`2{mLJiCzwF$xo2aX*m oXnDxd&pb)UP2{kQga!k{GdbR}hmn8o0iD3$>FVdQ&MBb@03P;M!vFvP diff --git a/docs/html/img52.png b/docs/html/img52.png deleted file mode 100644 index 0c0745732a5bbd1d8071b7dcdc78f03f08a9555b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 251 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 d8O=yV{{vPqPNn{m?Vg??N z?%g{@Ma45`&a7Iss-vT$tgI{~Bm}6?$jIpK-Maz;0=swb?(5F~3>0E43GxeOaCmkj z4af=cba4#fn3;Wu`+j>uC1miPV!umx}mFfg<%=d4LzW)KK8pTX1B K&t;ucLK6UH$VssP diff --git a/docs/html/img56.png b/docs/html/img56.png deleted file mode 100644 index a2d8c23cf4b43a65f0f31bcf5248dcd38053efa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^fCnKP?at?KCLC@U)q2?+rzG%_-}d-tw@fWYqEyZgHHKLdprOM?7@862M7 zNCR@xJzX3_IA$g%I5f=U;mN5<5PQzTmY2pBw}VHVnSDY^(vEWn4pbMZF>?vbd&w}# z>cD{srxOkw*wB#3%zT(_8w=Yx4^g(51ydUxk1?L9;xM_xaO43;LPA0)!^R&h5)#i2 fOsVxvNMK<2e~FJl&usBppp^`su6{1-oD!M<%komy diff --git a/docs/html/img57.png b/docs/html/img57.png deleted file mode 100644 index e49a3dc80e403d2f6165ea59a7512229410caaec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 444 zcmV;t0YmSU;qP7W`+q2P>{KR7-2rP!#^AdCg5HO$1?lQRg2RaiQWSvr*KA=`ZMA z)PjN#5iAA4v4VAHijU5K(kXW5W)}W{EL};UA{1J1;ih2WiqywK@SfbvbY2z(g)aIf zIrnkScXD#hxdFOhcV+<`5(E>wBFW@5Syj$+XFzWa?C9e>pE2m4z>xy+?l1XE^uIHS z13=5?ndGQGjpLYhH+iX56;30h{Try{LDC{cp#Rgr{s24+-ocl4PVQ5F+OSmoOg_mZ zFBx`;A-ft4A-^S_y@DjEniork=KAYWExnj7%3N4gP1@y|(cq7i9$?%ybS{J))TA0w z{*ILxqN^fqUw|ty`yb!EXON=UnGd#ejYOD`WU@3O+jRZz2G&$2v%GnoJzq_F8r^Lx zVP0_ksmLl&5o=UUY3X9!FoWxMNt=qIuhtV`6=YJAzf?6k-(p5hMXEBw=_``hBmG9qCat_5LMnZL#k$wHGD{i*l!2NQyua=>+%Xr zG6}V|s!l1|$xW>QG-Nzn=^D4D?XC=E2RXDx>V%<}UA>?zw?VVMdHrH+QOg@i+ zOFcy9E5#5rdRB^dt-Mt@OhX0i-n{86mn`bGlrE*Bc%r-jtR3?7#d$ajW#Z^99EdUZ zdDbJgq8VPXA{yCH2(iUt<aKF_v1l*(hU{$vV%J&u3~J1*ornXb8Ln^%m!!qXi9(n zA8!|+bssMG`KBiow&$D{?9n2YzDKBk^N6#09Q7KOv3fUSYkg<(Cgplf&6fu1ur|Cr uz3hIP`;+7g62$>VuJ}EOJ&d-GJ%wKxL9ruNCTTJN0000PbXFR5*?8RKH8zP!#^|OLCL@OiYAQ>E!5|p+mdfsfAA2IyRtA zLJi$o5Hkr*-mO2NRR4fNhc4Y5q^{{w5Elp0NeHwSGR1T5dq#N?S}k~sVZf4TK#H?RPRJ0M5z%z-UH41^N`&)T+zM@=#@%u6)fO@B5pvBrS; zFG{G=anCqa+G}Nn($!RP@Golldpo!aV&q&;?OUZ#v0)dYeGSmQOF*rv@}0ISbML09 zfG?zjd#sqOOjQlB*0zw;z6Pps6!D0k9cMpN`s#(EQ$q;=$;m;hf$H z5IM6U-k>_1crNMGd^eGO$%H9ez%|E#1??n>~rgP04p#!s8bv>>wSXL{tRVVvbtt- zTlB8>Yw!TJ*Se9Y?(}D&4yaZWxLoDlyPM|GXg~?@gCn4=wNZz$Wvwb2MME2`rhzVF zrJ>T9n|@G@IaTkQ`I= zGi&GfmQZETPe8Xletp@W;M|n}hw(qb9^lvK?|Yt0fb$scO3=ihRlCqBdkAst6%|c| z#@R54G3P!Rqol=5onYhu*Ngw+lI0nx!26Gt~ANoNyu zb1*Wyc%vPR_#gZMPIe{6LH`9NYSIbsy;4fiMXie;;kev8j{ClM51@u%#RhuH6Sb9) zuVqpTt+2LaDPsU0T2zE0Y7XnQzl9TB5s<)QNDem@Au)l~Xk5NX6L_vSI#+n57mjIy z^$E0H$@2_hCb$O@l6>Mvp#|gS6}Uv|VLgI~T~Vn7SKACo|FZR8!YjSZPBkrw!Oh{}(%hSI=-P#R`4Z4u%Itbl7ebC%>k;H%TpN>OM<^#G6g=X{sb zhPYL(CPB4=goK3lfC@%-0b{3|3Y(=RBxX!#>0t6nn11jJOS9)Q7K5XFg2GKVo;IxM bQ($0NA;_$#rX6|#XdHv5tDnm{r-UW|(sw$a diff --git a/docs/html/img62.png b/docs/html/img62.png deleted file mode 100644 index 8e0ff8da46d62ec664809a9838e599f594cecbdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 416 zcmV;R0bl-!P)vDyKZ?RxuX<7xr7Z3tgHj>K9 zB9AbYm_n|w7Sh_~5w1P%B~pl$g)^IIE*h}$zz=r*zRd176QF~FQrN_vm?_X;h@BTJ z?t6KNSs$iA6#@!@8gKXwOVrff%#vJ2%dhx8*t1Rg67Qk$5Z9V#pA$^pv#vrS8*54&8{(Dmp`WzAaP^GqcN($KPe+Uf zw!%8)RGl2;sDXz9Q7;C#I)4_o&PrevDvObs)T`J>KJf_qfAIlLbUaOzv8~wv0000< KMNUMnLSTZ$47+~- diff --git a/docs/html/img63.png b/docs/html/img63.png deleted file mode 100644 index 819da0099851045ed4c675a8cff541368b8a0bbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 467 zcmV;^0WAKBP)zQ?W|KKop#~F_#UV35cW;QVDhee;{aKVQ*_bA=p_Q zrnXwJu~Bn>Vx?^g8#_NCf{2B1zPIbfM8iSg3J3P>yV=QblYIgD$YMlrevvu69Dm`O z5_YIU4d|95qjgS;Y!tRqGN=T#)lSE%mZNQ#Au*fOoisr_AYLpQ`spEWB<<=uA>mWG zn7?h{8ug2P+WL%7yiz1)b9CpxtACD!t`sZ)e3)Am)LqVUL{cX|<;a4%b*NC8o6POA z0tFs?ZM??ZZIt+DB~S`UCl=gE^rpa|M!CwM{}DrDX}KBnTi1wtijVyc_e|>%ce#7ig1wye6M1%-ZunM}USWWFIli5}`O^edo9gD2_i zL+$+~9hp~_!2NP;-Av66sN^lWvC)ljDA{5s1!A!ry!DpFoB!1F_t*u_ z@bcm4d9d12;%xi2!fq8RcW2Z4(_#elS?_g)eg~f5zRxj`K@rn$UuiV7!~{4Oz$J%w z`wSl89P*LFtCPJ8Yy&qba9GI}2eZ|8k$%u*zY|98X8M!-O~L}_T{c2eh4#(>0000< KMNUMnLSTZFCnKP?at?KCLC@U)q2?+rzynFZV?%liBe)h8hau`d3{DK)Ap4|W$(dX&n z7@{#TIiZ2cjGfKGAi;rss)SMmV=>bN0fjJAj)H>{(h?F$@9*tBaNz8L158goH5`#C zc)3U}W5%fi8yGx_3)mXoq^{XpEuQmU$&am#Tj9H=PlCk+hQQN@-KxI_@I**W7nNtY zw1-K9DTimH0$=ivSOJD#JZcFHd@oaW)NODGUzo=|V>yFpD|Z4T!=g}GJB#I441g|U N@O1TaS?83{1ORn)UuFOR diff --git a/docs/html/img66.png b/docs/html/img66.png deleted file mode 100644 index 099c7bbd31f1cd385c8cb6336cdfed74a60addbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2084 zcmV+<2;29GP)NuG6V)9k|s;CJ1mk;K+VR7Dcxl!J0?yGfz3v6`$ZuPi!DAFU)*}g5Bb9p zC6K_7o9WDEcAd<4&b?LL)z#HMyR#tZ8M@~Fob#P??z#7zTLlcIK*BARBoY*+d9`xR8iENH~(vl3a-rKLXS(p1%WV0sn++ z(-5$gTLfuR(s_F9!$EGZT07hBfXc#1FJdwbZHtlVwu`~g3lf{A%cxf|oN$AUA?-_zZEow8F2z#?s0GyX-7q{iMIwd9@+OQx$~pw` z>@SFtCuplq8$nPfh!+YEUnSm!DRPYZ9&2$*?7k^;%KcTws_H1OP+LifyX+^6{($al_+ry=82)| zY8hkv$k^K9h~9sXhQ~aykFxVqdQ=QFJk(A2aXj1~)$GviEyCP?wE(LP| z1-$lG)(Y$Rp1HlkO+tCSkF4oV{pKhJsL zvc(C;^k{E!s$ddjGn94NUImKL0t(JKlDNi2&4u+$tOG5hW^hvqd|4Vc7s#l1BPiQD z;R(LHU}`7UK{u>{anlrN$oQX`YM#buMU7eHM^zE*Da#@FpQxp3G@j;{`KZ9>J zr)Q}3QGh3id(pFybDK)Uz8TMBS?(vX;vS9C!M6kPEoWZ$K0UMU%;#r}H+1(GE%8C_ z2*Hq|mQUrNdj{#+)3P*I_BK!@uGTBcquBKW@7BF8Kdn@oK4CQ;XZauIrru3gbO zwg}fH7=mu0Vt8F0)xa>74wG~gQKKclv!{dn<`p=Q(xGFPn`s#MER061gK%Afq3u5x zP{}!u^Q_}ZZ!svYW2JR|Nfj=tKFGD#RLz+>5uU@cKNpl+UwcZg_BPHhi8YJX>Wm6q zXw8>`jk1p17cLU+O9ay&v8?zKNSwft&Q%S z_;cLKWfpbnT&Go8sT0*WapwDs$mv*6qneI zoXf8^HrsFg!%yH9S`>|98)vbxU}|(GC6*vov_UsiZfGpv%C6iXy3aR09B|{!klqcO zWU_fN9-4*u4rbZ4BB`#Tz;2koOa`N{s@>o;u%ywMM~S7}=tOR4Ea2oW+^}w?MYwC> z=G*o#+uY%bj7p}ev}bM|}E+_$;Z5WfrX;4wZIWNz-e_}jCv{}2P- zf9&U9qS*${K6XZqsl zoW346+F6RPsfrI+IhG-Y?@bsUre&o{7t>0ZsvC!>fED@E?}k^@bwM1)VgAs&#t7yi zyan}@5_kK3=X@65kmedL;AeP9qcbV7e&aMAHSYGDc5?11+(PG_N5$GEI_Bv#ytcQ~ zg(U+|@tn1HYp{xw*GGTvGxs0kA*$l{FRLnUyL|CiRUFSG)z~a(U)uQ?h1(BnbS5R1 zazo)!gP3kh&Xqp%$ZNhDRki*nUK(E8+v&p6YUZU`#lKP6Nx9J`99zg4X7cexB2n;?)c?y>upQVdJO7>ePZ#azkZ6C zx)7fFQW1-$1Qoop*N`Zp7|2|@FB*aL;0RI6oGFnKUH02`z O0000hWZKjt6R}`TSdvFe7$qwT-bE(~# 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 A;s5{u diff --git a/docs/html/img70.png b/docs/html/img70.png deleted file mode 100644 index 1e347c622a4aca6e42765a09e936100617422ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRs!py+HxZuL(EkKSzfKQ0)|NsAI&YYQ=n(FNA z{O;X5MMcFkXU?ozwW_0|qpYkfBqRi=(8$Q>?%lfr0s^~t@9yi){|ppjED7=pW^j0R zBMr!D@N{tuk(ipCz`&FyaB#!SMsXkG56(XX3K(5#7`TiUFsrq(^Y92ev@Fu-h;LrV z#MQ7%(&dJXM1{S9gh4^`mjY%};{u~4jH>T`H&4kqxKv#H#FXh?3>S^~czDDVj>|9z z9dr02ogsa@PNDgC^L}T!h_g$geA(GM%vMJ(i2{0QhOnr`LIZ^rK({b>y85}Sb4q9e E0P$m3b^rhX diff --git a/docs/html/img71.png b/docs/html/img71.png deleted file mode 100644 index d0d4e7a673d72e28a20fe4f5f6f9e372007d4e6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g%!py+Hxc1!P&p?iDfKQ0)|NsAI&YYQ=n(FNA z{O;X5MMcFkXU=qVbd;5qg@l9vRT&u>-MxEPKtN#k?%gY0DtLiHj3q&S!3+-1ZlnP@ z)t)YnAre!Q6B-&AG|rwqaNu|Y{|6>R>lt4eR@+z~W)V1g^&!I|E{O`M4^r)X5t1Sf zBFfE-9jjh2aK|My1hKIuuw}YEV(U38E30d8PKB*aPh)Z}FY|pXz<3Gs4AhJbtL(=?|VxU79JYD@<);T3K0RS1l BRvrKV diff --git a/docs/html/img73.png b/docs/html/img73.png deleted file mode 100644 index ec9322e9321b69118a78d7f0782dbd6da88ec5ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2512 zcmV;>2`~1EP)R#1#k?UNR4bl)|cu z;H3{yZ`dT--EOm-`!n{8?e#i|6D3lQ*4M{p&fh)v+;h*J1key;5JVh2pzktD?_wO> zaR#!l2DN#o8UdxLYKXfRkjKWq;uRkeyA$m79E)>x!Nsp$vEPq42H4zS3xFe(vTOJI z5OAEE`O8&A^7lFv*8xU-M&72`$8ZzjYb4&r1< z-Qo0f9LYQr4pJ>+rNmN+ox18@PTG}!GhX+^c^H? zrSrjDN#=$@IqiH-4C(Ai(l?1!_fD#*(ZMgrM2xD8G}ND`!Dx`SqH{44iNNwvP3&*B zr?6a&LJC+kb-}UWupdW6FTP}dbCJe>&`3!wgH35zkUtPfY>pNNN>P8aLWWor`CBp?bH*lh85<4R1tj!E?C{f?x@yG{##v`RMuL(MaOfB$N2yu1&z|99IFs2z1y(SqVpA zDFa3-oxK#@OGl`;324wKFHftR=TK{qLrN6A+wFRwHEUE7hiXy5LM?iNEr13*kwJbS);9v)rf&??^z) z8V1olXQWG3^Gg-39co36i58Wfit87B=@2boOV*VT^4n$Hl-E$;A%!BtW`~yQ9sa6tG$!THB#4!~=f44>tkkI`zg*)gk7k_D`{A z;bawevQ4Ag-52x_y5K+-*NeY$VN99pUl_Zo!hY1B(6`?;vUm~qM(l!i$le;6i+Gjf z+)12Tus2o+5z7mTf5ZC!xs&U1lMV?6 zs$+)xhF+iC`q02e7$LC|9twv-I)wH|)IwcRUH;jIGl{A3(lmwK20PDYDcNg(k!fHZ z8s8rtiws_xCIN`9jT*ZO-z=6#wp_9!+jRQDBY4d^BnaPVP|v3b)U!=DU&9!Ph1xgS z^98XrS&S}~6khz6#Iq&VLl4NT?|m`U1^O1+Q?R=-zOZ^tU-eWR?KQ_=l_N~y?2o`w zZ;kC<%Ju%`>aJhJy)`JF3fpJJL5!Hw5NnZSF^2iCtYddSI9c^-=%O)rj3Z zFn=-WgH7FqY=rDxA39DCPb_jQtvRe{?lEHBaEjeSPuE6rYWwK3c4933YQX&InlrFY z9#+B+eefAcRTerx8OU}WBopjoPb(QZ({4@Atk);$p|Hql@@3t{Z4a{H2wYj6xhd~(~4o-UU!9+>T?!4=TB}BTL%U; z4kw0FahriNx^*Ar8;kehHUj&)bI1%v;Kq%DuDrg6jY-q%-9UR1ml5P@K zu5i_sYNOr_-&vu0%E-f_)!5}J++gW-%-K- z?DBFfgq=j6vXG6C3G@MCLgHSA z=<{`zO%fi6We%BDDZCf=N~*HZxmctlr1Yj#EQ!1j4wzpij5YBN1&nc_R7NsYfA7AkW~02=nx>oo#ozo6UECF2u`Yi{H_Xv>4W=82^-qE< zSu^ic#)1T6ZOn}W$*P2BG*w%;++(P%H>G06)ed0BqQ{aRwE3h&OtF<$z6?j(T%c`f zEm_;XoP(R$_8t06nsi@3f0eht8t#%bl^|~o#qRchx7JBXK8Ti;)6J)gvw7mk* aS^a-u&;;%i(i?XG0000Xz<3Gs4AhJbtL(=?|VxU79JYD@<);T3K0RS1l BRvrKV diff --git a/docs/html/img75.png b/docs/html/img75.png deleted file mode 100644 index 82f4ee3c71b8e36929fc0933c2bd4460b9e29bd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmV-X0j~auP)SU;qIwAYRFU0yr527>->)74w<^A{Q{=2V5Y{5Ho?` zCIb%v^=S6a1X?n4CPM&_&CT$Dfnft5C&=0~295@{1ehv*6Os(Y4<-lz3E`Oz42+gj z*gyhI3>z326u7}Y$mLI9V7u_G8)WqY2DrC?Dm)svp-zrvIFK+E9#$(FsOUB_0i(R& zM*&RX5{9=71z=Vy1H&Q&gF^wT;2{IUVFZH@>L-q!Gl8Ll%m4$v26P4(^Z_yRg&7bA jD)`9|@PQ293_1V+dS@(WW*K8i00000NkvXXu0mjf7?E|K diff --git a/docs/html/img76.png b/docs/html/img76.png deleted file mode 100644 index 83bc19693c045a67a08aaa60e507c00a3594c635..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 789 zcmV+w1M2*VP)KRY7RfKootG&15&(#tF4qXi_A57-Yd;ib;{7Ghj49w{}>rC;hk z91!HrKrE+?PPSR>Us1`}>3e_-uTX;Wcn|^)3%v*s%DgQ9dMr{Y;)&xQIZf-CNR7&; zCm;ECW%xf(04Dp6okEhFBhKU@jt zefC&=%zos~B7dnzS30#)q9~o}bVmTKlkj*ZkPN>!A6m9$$5d?6YdybNAh#0N%>vzE zI*0aqD zS0PyqMi&e7y!Nsi)8^4)O;TDm^$Pd5P5(Db^d{9g+q7mZYDynqub?F-R^|is+5{-= z4>zN6iq371^>!hjTJT#}F~?R;5c{Tk8?vDaZ7I2Bif%@f-`|`>jD#`VUL3=WU}cbS z?8747q?4|RNe)HI(<;iEXfnGSTXCB3<|0`HHNC{ TV<4uX00000NkvXXu0mjfk_c}T diff --git a/docs/html/img77.png b/docs/html/img77.png deleted file mode 100644 index 2a05686fb7f65bf41e7c0826bfeb56324d8656fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5441 zcmbVPXH-+$whki2P!ED2RYXA$K~WGwl_Et562Kr3IwD<204YIGsS1ap2!zlfBtS%^ zCNzmO1*AytqO?c?QYAuOJomlv&N%Phd)|9{tg-fwwf35Gesg}`Tsz?=*pLe-3A3bR3U@RowG_^9I)9G1RS;3@WIv!6a65WaJbY5P%`>#i- zL`f1Y$ynCY)1y!*fZqYr>(g`!g|4U9v)m&oDcRH0lQo!y!{O*XJ#TLN?z$L;_C{O-p3*R1a6tf9Fcp;Y){zfR4dC!^94Vlr`NUK0~$SLf;U zCgz{rac;&&B+kgZQnGuTU@zyR$4@Vrpw)yORAOJm6=PnM%%8m&Gtbg>{jm9n)6IL zDyovq=5b4+WsS3smr_z`-8ycA#98EQN9*mQDY`qm5({;|wekRRQ@?M>HIuqgBi|<` z+zxNmW=z!Dd#CIFhV;Y*`_B4#RYLV0kF;`$#{qd1ulo$pqF@_)neTv9gJaR11#Kh_ zhuo+HXC*00{WbgiQNN#y*K^auQoX10?-Gf{A&>a$FR`0nEtRm?sdmt)ms3J&EjtG) zMNm7uO7L{$>JtkS(l??6G=R_I1RFI%uh-hupeNX@dAuH!n_H?EL>oq{kolo57skVM z>yJhq*8n1B*uI(CRA)eXZMh5&Amg@5eqT+zg@^jq-k$P)AOyNvT~obY88iGAD4Lm%tHP3sW?dr}XUYwnx zerVhtXc5g@PCr(}pSirrQ?j?*(l>Joy7ncdGfPeYDs71o`tfb*}1~lJP^qYKqn8 zvwcf@#!^O4_dW^}K`lBAHG&)C@FRDd>~9$lBdMFOf!6+(s8hS|vcE&|>Rf4QW2E? z5K~myl2()i0LL-2S~Ca>0F0!36v6sln?vv=g|6O3apWu(@-1R>OlCgpv<%1jx8U;1 zS6a$qna*$99qcK7(S?cEN7?`S5RqAW|Bgsr!`+lnuYs_W)meydzT8f^peiv|_(1m( zw$#zM;?Zc8{~z+?CEYji5$Gf@Cr= zM*vYW6Eg0rd2_eZg?(b#8nVSHo{{TI7T(4hxf!6Rk?I7Q`&xqn28A_Qh#T(xC(S74 z18bHU!`fzT=k0LbMYR_YBGZVx2jQI?Wgpu&%4SQ)@5n=LWSiZEqzZc}R+4Y0W85o; zw3DI42b+rys!d=)KVOcUC&?7&Yh|OD}7`2ViX`gCrnJ?j8lIdinJsM97lr*6#OaL|mfA_ck}R zbfR`dOEC1db!^|QQbSmYb!}mPar0|21k%8rLnRgfXq8e$zEOYV|3qS@U({!Z9}OJ> zrTKD(j_~Kp<4*}(I@PFhrCQC)E(D#TBBII_vEZ|S1%s=XWTa7PF7Rkes!G7`-QB*$ zr*RCd{iFmee7WxhieTft;8E$5Mg~?W=A5bPa)lG3b6->-zYQ+}Wa?5A%T(A@8{tO1eD8%cX@!=vfIkWI&%Dwd6vJL z{`X$zstDxZ{Xb`~v7R*_Fvs`NXtvH`2Fpvcs∨r-oIEpMj-Dg^*VWdKU>io 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 diff --git a/docs/html/img78.png b/docs/html/img78.png deleted file mode 100644 index 089b17f68aa07803d55581f1f6ab05a4bf24c073..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6161 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 hG002ovPDHLkV1i9mY_b3V diff --git a/docs/html/img8.png b/docs/html/img8.png deleted file mode 100644 index 1b047adf84c55634bbbb57add608cdef62494032..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!py+H=u^+J5XdnI@CkAK|NsBYnKM&UQ=Ofi z-@SXMsHk}6%$ZfIR&{iAl$Di*goFSU8W|bgy?a+cKw$Uo-F@BppMgS*B|(0{3=Yq3 zqyaevo-U3d95a&>5)zUU5@sAYU^l<9n~}wWNkT%e!9_u#U$L?AA)_`k^ZIKdY$*as z>?+$BR3+}oGYGNTIjmLKTv2AWU`6td1D{xZ?&lSKV4fYNd%#FmC+UghSIdsH+lLMq o@E=JCOMei{loXTrn|~1l%XZOMA3w~#4YZrV)78&qol`;+0OBB4ng9R* diff --git a/docs/html/img80.png b/docs/html/img80.png deleted file mode 100644 index d3448151e918609c869127e3f6081034aed15c05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 387 zcmV-}0et?6P)SU;qLRMm7dyz}@A5;4m`?07-U*cxwjSU;)S!h6xRf z1`G@iEDVen7%K6oMh6oZ82F*gfCm!{I0FWT^002ovPDHLkV1k=tj=ul^ diff --git a/docs/html/img81.png b/docs/html/img81.png deleted file mode 100644 index 94fe3652d8537d68dd79897452c2449d2bd395ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 523 zcmV+m0`&cfP)@Q$0w-Kp1`bF+WYy21QU@Ite<(*(D&N;F8JJEIK*F z+NDDwqjtK2sGI4cxOH&rq9EvIgo27lom>r67bh=CjZH1u4laFg$M@d7`|i8%5+H)a z2<>S9-9-{g*=R>D$;B!MEsn+9+B_g1Lmx%|h|iHg97b;wg9p>(Cm`A=2AstQb3Z`V z-XK8sr)oYET{d&Dd^zM_MO2@(Bl}RPSKsI+_YTluom1WK+TYFp4Qh=R+iQXJ)GGzt zYF9wHl#m%bK+}DK5sZaGbZc<3(!{Ik(KqF=m7k=o+N*l>)G5y2MNz5e9S#B~2Q74| z&d71faj(pZDVDe!4(+g)EJMJsV>_H#(x3Y#oFDsep5Q{%v1z2OSyU)@II;?{(_w#y zDUvnQzHo+2sfO!7S)rrVVb1CuZhKK{NrH(vRhMbuqB}#sBI+*KFEUw(+~QKkI*9!1 z;63mbeN7{v4On6BhU8>0?W+cLtHzFc8T<>U%YSr2`+YeHeh~9e;1dE*Ry2KGnsNXD N002ovPDHLkV1f}C?6Lp= diff --git a/docs/html/img82.png b/docs/html/img82.png deleted file mode 100644 index e58c5e69115e601b611398f60657d85c85417cd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQsxP)SU;u*z24t{91i@y8((wTdgusLej0Ox04lE3eHz5M- z1hs&4A+rrQ4K6SweBftb;1!r(FkgE2!Y^FJ7=jz{ZoqCA3&TZ$iv|>UFd4{c zV4e`h;13e!`M|b?fv;=}M3Fa4^=A&Y00u)K_5kW!pvf?yi_@%07*qoM6N<$f*{>~BLDyZ diff --git a/docs/html/img83.png b/docs/html/img83.png deleted file mode 100644 index ba4e52685df24da3b09109bf393ba8c705e6f841..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 363 zcmV-x0hIoUP)u&B700001 zbW%=J06^y0W&i*H=}AOER2Y?ok1Pyd-YrAI3rL~3BvIMK!+{#7Z_mux(-toIbchK`@^s@_FBXqMX$>W;`xyBTJxs91u zBo)W*Uh}&SyvXDcABUa;pVwVxM_VP=XWYHTr#`~1*Fy9DlrKH?GF(SRD8T>#002ov JPDHLkV1ntPp#%T` diff --git a/docs/html/img84.png b/docs/html/img84.png deleted file mode 100644 index 40453aa09d2d752fe10257d413bdc3fb52406a70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 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 V|CEWBkb(dJ002ovPDHLkV1j@!@ml}@ diff --git a/docs/html/img86.png b/docs/html/img86.png deleted file mode 100644 index 5dd0b395e190f087dd037b4c51400937ee8f0771..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmV;n0ZIOeP)00002bW%=J0RLN& zBDDYj0dGk}K~zYI?N!lj!Y~khAO;}a07fAF=)c_oDv=SI5gbNHx`8tS9l;&}kI;+| zMtJ=&307mkLRHmDeLrWNpWj{1=gW*3Fh|jzmb1`1;_RK5T~z>p418xIzd{pSkxTaE zRtS=$U=Sr1E)w?|ZH@*ln(7$%NW+y8q!7kulB$*BisgUvU>>1JU=CXVXdxv~Sr=|w zYpwN5Qj@F|mDy9&lR{H1b+oQYA9OeCXCodbEE{3f02XNSu0-`vbrxAwG;u*vlY&&5 zf}60M2V;yO70Cr$33RYeFL2no9FV8j;hl0zQkgw#MVfwcL1v?(U3ga|{yrn=gTI^(*zXXu{7<~O9G(02; gjrg5?^)HoKRKH8ZP!PT(P101;7f{e{annJF;O?88GdkuEaL6Qd zD|YG@+yY`F6#NJJ2Xt_8OWit%gR|JdA6SI=?j_MA7#oldLO*)V-TS_KclY`lfDGtn zCwS+c$38NYp$;}|prd+RS^>Huzr2A6x>HI13yfSO;Fr|^qG@fQb$1;=;!9w%c@9}! zl<+0cc&n=a*A6NJ%ZgzVOquN#$S9h!M}y)VmS$-qfB{=JEI~pp=^HNMnFHv%efOFB z4c)ymv*dpStw7>$cAKt^*hMlk8t?0Y*LFJ?8{^gh2#duQY?&#kL{Xw40Xtmd0JvtR zlAwcJW*@9&6L^9L;I-stXxo`uYxpC#5J+WWM43gne4ven<4GS z=lW&{$`G0-%-UX_U@yI9CND00002bW%=J0RLN& zBDDYj17t}=K~z|U?U*fh+(s0J-%U~2rvE@HG?NR>X8R9hTDA!c8anUR&DVsf~ zq;Lca$7L>?g*BTPmOTaf*tNZJyovYZ^fWIR9nIYLe(7rFN;7l-FAh!Wg_=eib&|BX zT&<<;N*i$(9)Q_VdZm>lHS0~I)ncW!RuaH+Qk(1}dOxW4qqvl$tukZ)S}*_via8Mx zv5;ZTu?{@9ug8ln9$W3Cg|r@TX>m}eG2w0UmcnLB09xT(4Rx}j2nApmWL*J7Z-(c; zBwz%Fc2^so#}Q7G*Qeu%w0?1=%@NX_bUxiQcP`yd>hgu8h14vxl_ZtJ`g+rKUDruc zv(;MLQY)!ZccoIzSU#m*Nzz)2a`AfNzxn3J+w<$$)!XaY)%Wk-y}Z$17graO&dVE(A?>|?X^?bd)zuz2# zzLp=LJ?5=`I{r%~_5W77oqZ~`um6Ex?&cc_dqibc`;{5TY6U2E^BHAG&XJr4vWvr} zi<@M;$2y{0V(VWDOLUQCTSve;p8?xac_zM>1&6_rfJmTsrU)T~5P%|NL&C8nKm{(Q zP=f{6AI%1Az>a*Zlmg7dfRAB_)`P*KL_zqCltw;QCeT`FJ(6k{ zGBvQ*CxjLo9Nu|MOUSf-Oipsb1Z?nlJMl>eHk6N@RwFF#;8V7rwV`acWqEMnB)il} zl%4`7dG$|$uZ})9zB>9iHrr#QSCRx{!~X0jrr{paoxSpo{pG>K(gp<8!KUqlsGllm z?Ks>=b@y)1{-M(Xz-09S#VSJ;iB-mq5w>6~MT9)*$_Mp@0fn^PL>JKC~aKf}tfAfN}jb4}!jCX~E)iHGQ!XrY>keoJXkhK#c}M zfdge+KV%JB+rEY98>-rq3r8@tj1DBTS1gl#zC@2$YMa}qw!_ID^_S(#;$PjL98JHyIoJRI N002ovPDHLkV1lIc$g}_e diff --git a/docs/html/img9.png b/docs/html/img9.png deleted file mode 100644 index 67fce13f6e07538f34052ccc7723aa4a5879ac8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^fCnKP?at?KCLC@U)q2?+rzG%_-}d-tw@fWYqEyZgHHKLdprOM?7@862M7 zNCR?8JY5_^IA$g%G%)3{#j#l=JWEeVN=Wc&D7yJmQmP^3>lsdmO^u(Gn2jzloiZ#m z)-W(A_+({Zkm1MLCHsI)h&w`5Vgu8$X<2M-)ec*EIC&;ZO7u0e{#5?|--Kbag_uD> rJ;UZaYl9PpF$^24Bqh4ON=h&sej)T=p2#O(p#2PKP)rg=aFKR+XfK>-5_H~b!u!M0zj>BZOBkTbT+zvp*c7$O34V`NmG zP%-Y4G!^KeF4*7zlo2QTt}=7Q@97{&&6$F^+D3ezuO1MZ8xs0k^7Yit*b6QVqgu_X(xI$dCdpTJGcJex0G0>z6IGjX2 zMoHq-iP?w}O$zRxu@L#fq(m9&SS8UTi|I;Ng#ME96aO{iZ z-x#ulR$_6K1!mMLuXsjvR-AF(l9-aXLImI{RM`hx-B(i_r0A?roL!LPs+FZyL@7bR zwo17S<%S(Iy+Wgjy4`}fDn!|r2&O5&ED^UB2km6FqE^>8!}ccJ26s)m_3b_BHK1O|1)7=&AGyOd zDMrYQ#g7U*=t~TfDz^O+W)%Z{yurITuNwI@k>3M1245MK{X@|WNJ;fmZ63Qpp`!R- zZLqeY%=Sv382KzLhz85W{CtKk_}gnhxD8}T?a|R^~SI(xPC%d-i zFnzo{_yPO{>(pDqE~Dd%hMNi8KfCzin~}!QwZ$N2a0Fh6N>o<`I%xD-BA=%Z$1ePD zjf!TKHeLbV#(6_3`yYphO`wQ1%{8`_0+eU^vECn1Zn5OAJxo59H}1$ekfElk9V}vP z-Zdy$bmfdN<|ZAsJlIiqoiZk^)0e{bS)=b-5oiouQ;Y&)Dn#;3^)9Zr9zEfoF?!Xq~=v^Ji*T)1fhRO)-K_TYb+p;EDOUvyflMxPG~p>!qPD!;*0Yz7QV%`8eyWA14-vc{ThuHxxPF1KV`N(Mk zayZJ@NQ_Qj7;Y}`({noxFb2+{i@_QG!8yuVHz1ejZvnV#xJP5S$w+A{hpoLftFdX| qnUQMWg76NQUj47L{!c>xF8l*aGrj%_{9RK30000BbKotH8mU0c!n)r*2$vAdng~;E)+{HmARyU%F zzosf0WzcBCj{g7&e}U<29QYGzG*J?hdiUBh2eb@^jjy@)dhfgM-Mx1$AYo7W1TeS` z;4?MmMNR{X2y=08B|XPn*ra9323A0`)tf#Aorucm|J+~(23dxWi6}41a*4}89_CHY zqGgM6w_uWn!Qu}?yPj+6vJo74H5F^aS=3<{0B!PmskmYMdOSfz^_ae3veS&^&|T#v zV_bh(W`Q(5`eBv7NzKS}nT{Qvs){Ci~X$pSV1NS$1oHq8D=;7dR>?>P?0_9v_k#%xENl!3IFzD* z3k(Gl7#R2y6c!wq@Qr~JC}MD-M8JTt0Bj(aCj&nN!vtas!VP#CIAF{PJPaQY5(Yqv z4Fn4089p;KfSkg`&k0lvRKU;A#mdI81Z;5v11rcU1|SWb4M2swl(~j%!1#fIJ%JZB zET(};FR-*E!+QqK#&$LX5R-wk04VlhCc}Tm0EV}m6F^J`evoFi0EPzU0!{_?2@LE9 z5*RqZ2AY>M@Gg|T0E}?X4h9D13sB<=8GyQOf|>JSR`UM^k#m6<9;!430DV&~O-h-R QW&i*H07*qoM6N<$f>)Y?{{R30 diff --git a/docs/html/img94.png b/docs/html/img94.png deleted file mode 100644 index d92528021402059ab8cd2eb5558113c66aff72e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^B0wz5!py+HsJ}ij0mv~3@CkAK|NsBYnKM&UQ=Ofi z-@SXMsHk}6%$ZfIR&{iAl$Di*goFSU8W|bgy?a+cKw$Uo-F@BppMgS*B|(0{3=Yq3 zqyafqo-U3d5>t~C5)vL{Cp0iJT6AxXZDeFFaCqtEqbc!V{s+YejLglJhYxWpykozk zHIeag3%@Y8goIj6%8mmEjvY9|DWdg!D%DDji<&I~Z(dW}eN?EVDt| yK$T&o4_lk2!z&f$!!j&K=N!mm2ztzHBE?W!#8dd&F18nFID@CFpUXO@geCy=z(Ah> diff --git a/docs/html/img97.png b/docs/html/img97.png deleted file mode 100644 index e7744ab3c0a3a94f8c79eadd4b06a4b76a9b513f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 440 zcmV;p0Z0CcP)zQn5uMCVouYH3%wJOTky>Q4V=&_u?Bthx|}BBZf2pfF>+_x$ov@{_zt(NLzmWzqjN z;4RDlMYzUg(RYFU>Xgj{P7p{S_NvkSEjJnb5Qu=|b@6Sh*Q9Vn;P!v5iX+BC`U(`Y9VmH_4CWz2Yv4im+WKbN9 zi&zjX{R75D6e?B_T=NHnfP-tGlZw#QL5Os5^uDC@gJkHShzIiSz2}|#l?M#)D34kd zHH;&)0Tq$FLI#{zUx2mE>|GwbOgdgWqnNpLM0t&-EN=l0RWL*vD{?H+*VYZw@gYzG z3mp$WHNI1dl`4%cV8Y;785@lcy(zc)QLv%cq)+J3$oTyM=gHw>&?Xp-7b<|xU8@MO zFG(AXEeHd!(Ay~>FjHmOL`>;QbHR;0Uz22v8S6|sDqM}JfSXpN2UjpLNQ&q;HvVI< zRp5~9%R>?tVyO0npc^nhajw$Xs3zuu9zaY8O&^=mssUzwXy+%QD`Rf)c|30000< KMNUMnLSTYELgOR= diff --git a/docs/html/img99.png b/docs/html/img99.png deleted file mode 100644 index 302cd0093a0c6fcd351ccfcebc3d6d42d41c32dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^fCnKP?at?KCLC@U)isxmS%x_kGofPld6-MhcXoAv{R7)yfuf*Bm1-ADs+ z(mY)pLpWw8CjbFcQd!anV@H<7Du->Su_nAVmb_Q!$FT7RlZ4csiUV0^PD}EgHZ)*h Y*y<$6>&|~=2GB+ZPgg&ebxsLQ01K;3t^fc4 diff --git a/docs/html/index.html b/docs/html/index.html deleted file mode 100644 index cccebd92..00000000 --- a/docs/html/index.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - - -userhtml - - - - - - - - - - - - - - - - - -language=Fortran - -

-PSBLAS -
-
-User's and Reference - Guide
-
A reference guide for the Parallel Sparse BLAS library -
-
-
-
Salvatore Filippone -
-Alfredo Buttari
-
-Software version: 3.6.0 -
-Dec 1st, 2018 - -


- - - - - -

- - - diff --git a/docs/html/internals.pl b/docs/html/internals.pl deleted file mode 100644 index f4977f14..00000000 --- a/docs/html/internals.pl +++ /dev/null @@ -1,206 +0,0 @@ -# LaTeX2HTML 2018 (Released Feb 1, 2018) -# Associate internals original text with physical files. - - -$key = q/cite_2007c/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_2007d/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLACS/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS1/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS2/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS3/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_DesPat:11/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_DesignPatterns/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_KIVA3PSBLAS/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_METIS/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_MPI1/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_PARA04FOREST/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_PSBLAS/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_RouXiaXu:11/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_Sparse03/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_machiels/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_metcalf/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_sblas02/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_sblas97/; -$ref_files{$key} = "$dir".q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_con/; -$ref_files{$key} = "$dir".q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_no_tra/; -$ref_files{$key} = "$dir".q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_tra/; -$ref_files{$key} = "$dir".q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:desctype/; -$ref_files{$key} = "$dir".q|node10.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:errormsg/; -$ref_files{$key} = "$dir".q|node120.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:points/; -$ref_files{$key} = "$dir".q|node4.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:prectype/; -$ref_files{$key} = "$dir".q|node50.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:psblas/; -$ref_files{$key} = "$dir".q|node3.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:routerr/; -$ref_files{$key} = "$dir".q|node120.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:spmattype/; -$ref_files{$key} = "$dir".q|node23.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8/; -$ref_files{$key} = "$dir".q|node70.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8_ov/; -$ref_files{$key} = "$dir".q|node71.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:vectype/; -$ref_files{$key} = "$dir".q|node43.html|; -$noresave{$key} = "$nosave"; - -$key = q/krylov/; -$ref_files{$key} = "$dir".q|node136.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:appstruct/; -$ref_files{$key} = "$dir".q|node6.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:cd_constants/; -$ref_files{$key} = "$dir".q|node22.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:datastruct/; -$ref_files{$key} = "$dir".q|node9.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:desc/; -$ref_files{$key} = "$dir".q|node10.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:intro/; -$ref_files{$key} = "$dir".q|node2.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:methods/; -$ref_files{$key} = "$dir".q|node135.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:overview/; -$ref_files{$key} = "$dir".q|node3.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:parenv/; -$ref_files{$key} = "$dir".q|node102.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:prec/; -$ref_files{$key} = "$dir".q|node50.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:precs/; -$ref_files{$key} = "$dir".q|node128.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:psprecs/; -$ref_files{$key} = "$dir".q|node128.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:sp_constants/; -$ref_files{$key} = "$dir".q|node42.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:spmat/; -$ref_files{$key} = "$dir".q|node23.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:toolsrout/; -$ref_files{$key} = "$dir".q|node74.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:usermaps/; -$ref_files{$key} = "$dir".q|node7.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:util/; -$ref_files{$key} = "$dir".q|node121.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:vecttype/; -$ref_files{$key} = "$dir".q|node43.html|; -$noresave{$key} = "$nosave"; - -1; - diff --git a/docs/html/labels.pl b/docs/html/labels.pl deleted file mode 100644 index 3c07d876..00000000 --- a/docs/html/labels.pl +++ /dev/null @@ -1,421 +0,0 @@ -# LaTeX2HTML 2018 (Released Feb 1, 2018) -# Associate labels original text with physical files. - - -$key = q/cite_2007c/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_2007d/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLACS/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS1/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS2/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_BLAS3/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_DesPat:11/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_DesignPatterns/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_KIVA3PSBLAS/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_METIS/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_MPI1/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_PARA04FOREST/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_PSBLAS/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_RouXiaXu:11/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_Sparse03/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_machiels/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_metcalf/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_sblas02/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/cite_sblas97/; -$external_labels{$key} = "$URL/" . q|node137.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_con/; -$external_labels{$key} = "$URL/" . q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_no_tra/; -$external_labels{$key} = "$URL/" . q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_tra/; -$external_labels{$key} = "$URL/" . q|node64.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:desctype/; -$external_labels{$key} = "$URL/" . q|node10.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:errormsg/; -$external_labels{$key} = "$URL/" . q|node120.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:points/; -$external_labels{$key} = "$URL/" . q|node4.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:prectype/; -$external_labels{$key} = "$URL/" . q|node50.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:psblas/; -$external_labels{$key} = "$URL/" . q|node3.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:routerr/; -$external_labels{$key} = "$URL/" . q|node120.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:spmattype/; -$external_labels{$key} = "$URL/" . q|node23.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8/; -$external_labels{$key} = "$URL/" . q|node70.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8_ov/; -$external_labels{$key} = "$URL/" . q|node71.html|; -$noresave{$key} = "$nosave"; - -$key = q/fig:vectype/; -$external_labels{$key} = "$URL/" . q|node43.html|; -$noresave{$key} = "$nosave"; - -$key = q/krylov/; -$external_labels{$key} = "$URL/" . q|node136.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:appstruct/; -$external_labels{$key} = "$URL/" . q|node6.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:cd_constants/; -$external_labels{$key} = "$URL/" . q|node22.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:datastruct/; -$external_labels{$key} = "$URL/" . q|node9.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:desc/; -$external_labels{$key} = "$URL/" . q|node10.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:intro/; -$external_labels{$key} = "$URL/" . q|node2.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:methods/; -$external_labels{$key} = "$URL/" . q|node135.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:overview/; -$external_labels{$key} = "$URL/" . q|node3.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:parenv/; -$external_labels{$key} = "$URL/" . q|node102.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:prec/; -$external_labels{$key} = "$URL/" . q|node50.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:precs/; -$external_labels{$key} = "$URL/" . q|node128.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:psprecs/; -$external_labels{$key} = "$URL/" . q|node128.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:sp_constants/; -$external_labels{$key} = "$URL/" . q|node42.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:spmat/; -$external_labels{$key} = "$URL/" . q|node23.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:toolsrout/; -$external_labels{$key} = "$URL/" . q|node74.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:usermaps/; -$external_labels{$key} = "$URL/" . q|node7.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:util/; -$external_labels{$key} = "$URL/" . q|node121.html|; -$noresave{$key} = "$nosave"; - -$key = q/sec:vecttype/; -$external_labels{$key} = "$URL/" . q|node43.html|; -$noresave{$key} = "$nosave"; - -1; - - -# LaTeX2HTML 2018 (Released Feb 1, 2018) -# labels from external_latex_labels array. - - -$key = q/_/; -$external_latex_labels{$key} = q|<|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_con/; -$external_latex_labels{$key} = q|3|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_no_tra/; -$external_latex_labels{$key} = q|1|; -$noresave{$key} = "$nosave"; - -$key = q/eq:f90spmm_tra/; -$external_latex_labels{$key} = q|2|; -$noresave{$key} = "$nosave"; - -$key = q/fig:desctype/; -$external_latex_labels{$key} = q|3|; -$noresave{$key} = "$nosave"; - -$key = q/fig:errormsg/; -$external_latex_labels{$key} = q|10|; -$noresave{$key} = "$nosave"; - -$key = q/fig:points/; -$external_latex_labels{$key} = q|2|; -$noresave{$key} = "$nosave"; - -$key = q/fig:prectype/; -$external_latex_labels{$key} = q|6|; -$noresave{$key} = "$nosave"; - -$key = q/fig:psblas/; -$external_latex_labels{$key} = q|1|; -$noresave{$key} = "$nosave"; - -$key = q/fig:routerr/; -$external_latex_labels{$key} = q|9|; -$noresave{$key} = "$nosave"; - -$key = q/fig:spmattype/; -$external_latex_labels{$key} = q|4|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8/; -$external_latex_labels{$key} = q|7|; -$noresave{$key} = "$nosave"; - -$key = q/fig:try8x8_ov/; -$external_latex_labels{$key} = q|8|; -$noresave{$key} = "$nosave"; - -$key = q/fig:vectype/; -$external_latex_labels{$key} = q|5|; -$noresave{$key} = "$nosave"; - -$key = q/krylov/; -$external_latex_labels{$key} = q|11|; -$noresave{$key} = "$nosave"; - -$key = q/sec:appstruct/; -$external_latex_labels{$key} = q|2.3|; -$noresave{$key} = "$nosave"; - -$key = q/sec:cd_constants/; -$external_latex_labels{$key} = q|3.1.2|; -$noresave{$key} = "$nosave"; - -$key = q/sec:datastruct/; -$external_latex_labels{$key} = q|3|; -$noresave{$key} = "$nosave"; - -$key = q/sec:desc/; -$external_latex_labels{$key} = q|3.1|; -$noresave{$key} = "$nosave"; - -$key = q/sec:intro/; -$external_latex_labels{$key} = q|1|; -$noresave{$key} = "$nosave"; - -$key = q/sec:methods/; -$external_latex_labels{$key} = q|11|; -$noresave{$key} = "$nosave"; - -$key = q/sec:overview/; -$external_latex_labels{$key} = q|2|; -$noresave{$key} = "$nosave"; - -$key = q/sec:parenv/; -$external_latex_labels{$key} = q|7|; -$noresave{$key} = "$nosave"; - -$key = q/sec:prec/; -$external_latex_labels{$key} = q|3.4|; -$noresave{$key} = "$nosave"; - -$key = q/sec:precs/; -$external_latex_labels{$key} = q|10|; -$noresave{$key} = "$nosave"; - -$key = q/sec:psprecs/; -$external_latex_labels{$key} = q|10|; -$noresave{$key} = "$nosave"; - -$key = q/sec:sp_constants/; -$external_latex_labels{$key} = q|3.2.2|; -$noresave{$key} = "$nosave"; - -$key = q/sec:spmat/; -$external_latex_labels{$key} = q|3.2|; -$noresave{$key} = "$nosave"; - -$key = q/sec:toolsrout/; -$external_latex_labels{$key} = q|6|; -$noresave{$key} = "$nosave"; - -$key = q/sec:usermaps/; -$external_latex_labels{$key} = q|2.3.1|; -$noresave{$key} = "$nosave"; - -$key = q/sec:util/; -$external_latex_labels{$key} = q|9|; -$noresave{$key} = "$nosave"; - -$key = q/sec:vecttype/; -$external_latex_labels{$key} = q|3.3|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90amax/; -$external_latex_labels{$key} = q|4|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90asum/; -$external_latex_labels{$key} = q|6|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90asums/; -$external_latex_labels{$key} = q|7|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90axpby/; -$external_latex_labels{$key} = q|1|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90div/; -$external_latex_labels{$key} = q|15|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90dot/; -$external_latex_labels{$key} = q|2|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90halo/; -$external_latex_labels{$key} = q|17|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90inv/; -$external_latex_labels{$key} = q|16|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90mamax/; -$external_latex_labels{$key} = q|5|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90mdot/; -$external_latex_labels{$key} = q|3|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90mlt/; -$external_latex_labels{$key} = q|14|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90nrm1/; -$external_latex_labels{$key} = q|10|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90nrm2/; -$external_latex_labels{$key} = q|8|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90nrm2s/; -$external_latex_labels{$key} = q|9|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90nrmi/; -$external_latex_labels{$key} = q|11|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90ovrl/; -$external_latex_labels{$key} = q|18|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90spmm/; -$external_latex_labels{$key} = q|12|; -$noresave{$key} = "$nosave"; - -$key = q/tab:f90spsm/; -$external_latex_labels{$key} = q|13|; -$noresave{$key} = "$nosave"; - -$key = q/tab:gather/; -$external_latex_labels{$key} = q|19|; -$noresave{$key} = "$nosave"; - -$key = q/tab:scatter/; -$external_latex_labels{$key} = q|20|; -$noresave{$key} = "$nosave"; - -1; - diff --git a/docs/html/next.png b/docs/html/next.png deleted file mode 100644 index 1628652aac7cff4b24228abd9908c320c6026a7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245 zcmVQ2aP`rsfsL)H8>rF50IrEKQ7U2mrM!9=R9*Dw1X+@W9RTx^a-#5T6$bi^4|h!q3s vo9V3RdqZP$JTTh9!JZ)`voZLAB<&|;0_>J~#QNZkD16SAR=O4@7anKqmC5&ngT;#rH1+qK z20S~FlZynq-MY=T{~%>KNs884sExd44P^%bf!zNDPxW#x21^f><@$FgzM-=J5cLN5 WGDyh~oC>l40000 - - - - -Contents - - - - - - - - - - - - - - - - - - - - -
- -

-Contents -

- - - - -

- -

- -

-


- - - diff --git a/docs/html/node10.html b/docs/html/node10.html deleted file mode 100644 index c4571f55..00000000 --- a/docs/html/node10.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - -Descriptor data structure - - - - - - - - - - - - - - - - - - - - - -

- -
-Descriptor data structure -

-All the general matrix informations and elements to be -exchanged among processes are stored within a data structure of the -type descdatapsb_desc_type. -Every structure of this type is associated with a discretization -pattern and enables data communications and other operations that are -necessary for implementing the various algorithms of interest to us. - -

-The data structure itself psb_desc_type can be treated as an -opaque object handled via the tools routines of -Sec. 6 or the query routines detailed below; -nevertheless we include here a description for the curious -reader. - -

-First we describe the psb_indx_map type. This is a data -structure that keeps track of a certain number of basic issues such -as: - -

    -
  • The value of the communication/MPI context; -
  • -
  • The number of indices in the index space, i.e. global number of - rows and columns of a sparse matrix; -
  • -
  • The local set of indices, including: - -
      -
    • The number of local indices (and local rows); -
    • -
    • The number of halo indices (and therefore local columns); -
    • -
    • The global indices corresponding to the local ones. -
    • -
    -
  • -
-There are many different schemes for storing these data; therefore -there are a number of types extending the base one, and the descriptor -structure holds a polymorphic object whose dynamic type can be any of -the extended types. -The methods associated with this data type answer the following -queries: - -
    -
  • For a given set of local indices, find the corresponding indices - in the global numbering; -
  • -
  • For a given set of global indices, find the corresponding - indices in the local numbering, if any, or return an invalid -
  • -
  • Add a global index to the set of halo indices; -
  • -
  • Find the process owner of each member of a set of global - indices. -
  • -
-All methods but the last are purely local; the last method potentially -requires communication among processes, and thus is a synchronous -method. The choice of a specific dynamic type for the index map is -made at the time the descriptor is initially allocated, according to -the mode of initialization (see also 6). - -

-The descriptor contents are as follows: -

-
indxmap
-
A polymorphic variable of a type that is any - extension of the indx_map type described above. -
-
halo_index
-
A list of the halo and boundary elements for -the current process to be exchanged with other processes; for each -processes with which it is necessary to communicate: - -
    -
  1. Process identifier; -
  2. -
  3. Number of points to be received; -
  4. -
  5. Indices of points to be received; -
  6. -
  7. Number of points to be sent; -
  8. -
  9. Indices of points to be sent; -
  10. -
-Specified as: a vector of integer type, see 3.3. -
-
ext_index
-
A list of element indices to be exchanged to - implement the mapping between a base descriptor and a descriptor - with overlap. -
-Specified as: a vector of integer type, see 3.3. -
-
ovrlap_index
-
A list of the overlap elements for the -current process, organized in groups like the previous vector: - -
    -
  1. Process identifier; -
  2. -
  3. Number of points to be received; -
  4. -
  5. Indices of points to be received; -
  6. -
  7. Number of points to be sent; -
  8. -
  9. Indices of points to be sent; -
  10. -
-Specified as: a vector of integer type, see 3.3. -
-
ovr_mst_idx
-
A list to retrieve the value of each - overlap element from the respective master process. -
-Specified as: a vector of integer type, see 3.3. -
-
ovrlap_elem
-
For all overlap points belonging to th -ecurrent process: - -
    -
  1. Overlap point index; -
  2. -
  3. Number of processes sharing that overlap points; -
  4. -
  5. Index of a “master” process: -
  6. -
-Specified as: an allocatable integer array of rank two. -
-
bnd_elem
-
A list of all boundary points, i.e. points - that have a connection with other processes. -
-
-The Fortran 2003 declaration for psb_desc_type structures is -as follows: - -
- - - -
Figure 3: -The PSBLAS defined data type that - contains the communication descriptor.
-
- -
-
 
-type psb_desc_type 
-    class(psb_indx_map), allocatable :: indxmap
-    type(psb_i_vect_type) :: v_halo_index
-    type(psb_i_vect_type) :: v_ext_index
-    type(psb_i_vect_type) :: v_ovrlap_index
-    type(psb_i_vect_type) :: v_ovr_mst_idx 
-    integer, allocatable  :: ovrlap_elem(:,:)
-    integer, allocatable  :: bnd_elem(:)
-end type psb_desc_type
-
-
-
-
-A communication descriptor associated with a sparse matrix has a -state, which can take the following values: -
-
Build:
-
State entered after the first allocation, and before the - first assembly; in this state it is possible to add communication - requirements among different processes. -
-
Assembled:
-
State entered after the assembly; computations using - the associated sparse matrix, such as matrix-vector products, are - only possible in this state. -
-
- -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node100.html b/docs/html/node100.html deleted file mode 100644 index dac90c99..00000000 --- a/docs/html/node100.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -psb_sizeof -- Memory occupation - - - - - - - - - - - - - - - - - - - - - -

-psb_sizeof -- Memory occupation -

- -

-This function computes the memory occupation of a PSBLAS object. - -

-

-isz = psb_sizeof(a)
-isz = psb_sizeof(desc_a)
-isz = psb_sizeof(prec)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
A sparse matrix -$A$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
desc_a
-
Communication descriptor. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
prec
-
Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
On Return
-
-
-
Function value
-
The memory occupation of the object specified in - the calling sequence, in bytes. -
-Scope: local -
-Returned as: an integer(psb_long_int_k_) number. -
-
- -

-


- - - diff --git a/docs/html/node101.html b/docs/html/node101.html deleted file mode 100644 index 50a232c8..00000000 --- a/docs/html/node101.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - -Sorting utilities -- - - - - - - - - - - - - - - - - - - - - -

-Sorting utilities -- -

- -

-psb_msort -- Sorting by the Merge-sort - algorithm - -

-psb_qsort -- Sorting by the Quicksort - algorithm - -

-psb_hsort -- Sorting by the Heapsort algorithm -

-call psb_msort(x,ix,dir,flag)
-call psb_qsort(x,ix,dir,flag)
-call psb_hsort(x,ix,dir,flag)
-
- -

-These serial routines sort a sequence $X$ into ascending or -descending order. The argument meaning is identical for the three -calls; the only difference is the algorithm used to accomplish the -task (see Usage Notes below). -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
The sequence to be sorted. -
-Type:required. -
-Specified as: an integer, real or complex array of rank 1. -
-
ix
-
A vector of indices. -
-Type:optional. -
-Specified as: an integer array of (at least) the same size as $X$. -
-
dir
-
The desired ordering. -
-Type:optional. -
-Specified as: an integer value:
-
Integer and real data:
-
psb_sort_up_, -psb_sort_down_, psb_asort_up_, psb_asort_down_; -default psb_sort_up_. -
-
Complex data:
-
psb_lsort_up_, -psb_lsort_down_, psb_asort_up_, psb_asort_down_; -default psb_lsort_up_. -
-
-
-
flag
-
Whether to keep the original values in $IX$. -
-Type:optional. -
-Specified as: an integer value psb_sort_ovw_idx_ or -psb_sort_keep_idx_; default psb_sort_ovw_idx_. - -

-

-
- -

-

-
On Return
-
-
-
x
-
The sequence of values, in the chosen ordering. -
-Type:required. -
-Specified as: an integer, real or complex array of rank 1. -
-
ix
-
A vector of indices. -
-Type: Optional -
-An integer array of rank 1, whose entries are moved to the same -position as the corresponding entries in $x$. -
-
- -

- -

-Notes - -

    -
  1. For integer or real data the sorting can be performed in the up/down direction, on the - natural or absolute values; -
  2. -
  3. For complex data the sorting can be done in a lexicographic - order (i.e.: sort on the real part with ties broken according to - the imaginary part) or on the absolute values; -
  4. -
  5. The routines return the items in the chosen ordering; the - output difference is the handling of ties (i.e. items with an - equal value) in the original input. With the merge-sort algorithm - ties are preserved in the same relative order as they had in the - original sequence, while this is not guaranteed for quicksort or - heapsort; -
  6. -
  7. If -$flag = psb\_sort\_ovw\_idx\_$ then the entries in $ix(1:n)$ - where $n$ is the size of $x$ are initialized to -$ix(i) \leftarrow
-i$; thus, upon return from the subroutine, for each - index $i$ we have in $ix(i)$ the position that the item $x(i)$ - occupied in the original data sequence; -
  8. -
  9. If -$flag = psb\_sort\_keep\_idx\_$ the routine will assume that - the entries in $ix(:)$ have already been initialized by the user; -
  10. -
  11. The three sorting algorithms have a similar $O(n \log n)$ expected - running time; in the average case quicksort will be the - fastest and merge-sort the slowest. However note that: - -
      -
    1. The worst case running time for quicksort is $O(n^2)$; the algorithm - implemented here follows the well-known median-of-three heuristics, - but the worst case may still apply; -
    2. -
    3. The worst case running time for merge-sort and heap-sort is - $O(n \log n)$ as the average case; -
    4. -
    5. The merge-sort algorithm is implemented to take advantage of - subsequences that may be already in the desired ordering prior to - the subroutine call; this situation is relatively common when - dealing with groups of indices of sparse matrix entries, thus - merge-sort is the preferred choice when a sorting is needed - by other routines in the library. -
    6. -
    -
  12. -
- -

- -

- -

- - - - diff --git a/docs/html/node102.html b/docs/html/node102.html deleted file mode 100644 index 10f2e367..00000000 --- a/docs/html/node102.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - -Parallel environment routines - - - - - - - - - - - - - - - - - - - - - -

- -
-Parallel environment routines -

- -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node103.html b/docs/html/node103.html deleted file mode 100644 index 419c426d..00000000 --- a/docs/html/node103.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - -psb_init -- Initializes PSBLAS parallel environment - - - - - - - - - - - - - - - - - - - - - -

-psb_init -- Initializes PSBLAS parallel - environment -

- -

-

-call psb_init(icontxt, np, basectxt, ids)
-
- -

-This subroutine initializes the PSBLAS parallel environment, defining -a virtual parallel machine. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
np
-
Number of processes in the PSBLAS virtual parallel machine. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value. Default: use all available processes. -
-
basectxt
-
the initial communication context. The new context - will be defined from the processes participating in the initial one. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value. Default: use MPI_COMM_WORLD. -
-
ids
-
Identities of the processes to use for the new context; the - argument is ignored when np is not specified. This allows the - processes in the new environment to be in an order different from the - original one. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer array. Default: use the indices $(0\dots np-1)$. -
-
- -

-

-
On Return
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. Note that this is always a duplicate of - basectxt, so that library communications are completely - separated from other communication operations. -
-Scope: global. -
-Type: required. -
-Intent: out. -
-Specified as: an integer variable. -
-
- -

-Notes - -

    -
  1. A call to this routine must precede any other PSBLAS call. -
  2. -
  3. It is an error to specify a value for $np$ greater than the - number of processes available in the underlying base parallel - environment. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node104.html b/docs/html/node104.html deleted file mode 100644 index 6eda8e7e..00000000 --- a/docs/html/node104.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - -psb_info -- Return information about PSBLAS parallel environment - - - - - - - - - - - - - - - - - - - - - -

-psb_info -- Return information about PSBLAS parallel - environment -

- -

-

-call psb_info(icontxt, iam, np)
-
- -

-This subroutine returns information about the PSBLAS parallel environment, defining -a virtual parallel machine. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
- -

-

-
On Return
-
-
-
iam
-
Identifier of current process in the PSBLAS virtual parallel machine. -
-Scope: local. -
-Type: required. -
-Intent: out. -
-Specified as: an integer value. -$-1 \le iam \le np-1$
-
np
-
Number of processes in the PSBLAS virtual parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: out. -
-Specified as: an integer variable.
-
- -

-Notes - -

    -
  1. For processes in the virtual parallel machine the identifier - will satisfy -$0 \le iam \le np-1$; -
  2. -
  3. If the user has requested on psb_init a number of - processes less than the total available in the parallel execution - environment, the remaining processes will have on return $iam=-1$; - the only call involving icontxt that any such process may - execute is to psb_exit. -
  4. -
- -

-


- - - diff --git a/docs/html/node105.html b/docs/html/node105.html deleted file mode 100644 index a9efb2cb..00000000 --- a/docs/html/node105.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - -psb_exit -- Exit from PSBLAS parallel environment - - - - - - - - - - - - - - - - - - - - - -

-psb_exit -- Exit from PSBLAS parallel - environment -

- -

-

-call psb_exit(icontxt)
-call psb_exit(icontxt,close)
-
- -

-This subroutine exits from the PSBLAS parallel virtual machine. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
close
-
Whether to close all data structures related to the - virtual parallel machine, besides those associated with icontxt. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: a logical variable, default value: true. -
-
- -

-Notes - -

    -
  1. This routine may be called even if a previous call to - psb_info has returned with $iam=-1$; indeed, it it is the only - routine that may be called with argument icontxt in this - situation. -
  2. -
  3. A call to this routine with close=.true. implies a call - to MPI_Finalize, after which no parallel routine may be called. -
  4. -
  5. If the user whishes to use multiple communication contexts in the - same program, or to enter and exit multiple times into the parallel - environment, this routine may be called to - selectively close the contexts with close=.false., while on - the last call it should be called with close=.true. to - shutdown in a clean way the entire parallel environment. -
  6. -
- -

- -

- - - - diff --git a/docs/html/node106.html b/docs/html/node106.html deleted file mode 100644 index 047d0ff4..00000000 --- a/docs/html/node106.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - -psb_get_mpicomm -- Get the MPI communicator - - - - - - - - - - - - - - - - - - - - - -

-psb_get_mpicomm -- Get the MPI communicator -

- -

-

-call psb_get_mpicomm(icontxt, icomm)
-
- -

-This subroutine returns the MPI communicator associated with a PSBLAS context -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
- -

-

-
On Return
-
-
-
icomm
-
The MPI communicator associated with the PSBLAS virtual parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: out. -
-
- -

-


- - - diff --git a/docs/html/node107.html b/docs/html/node107.html deleted file mode 100644 index a7b9c720..00000000 --- a/docs/html/node107.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -psb_get_rank -- Get the MPI rank - - - - - - - - - - - - - - - - - - - - - -

-psb_get_rank -- Get the MPI rank -

- -

-

-call psb_get_rank(rank, icontxt, id)
-
- -

-This subroutine returns the MPI rank of the PSBLAS process $id$ -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
id
-
Identifier of a process in the PSBLAS virtual parallel machine. -
-Scope: local. -
-Type: required. -
-Intent: in. -
-Specified as: an integer value. -$0 \le id \le np-1$
-
- -

-

-
On Return
-
-
-
rank
-
The MPI rank associated with the PSBLAS process $id$. -
-Scope: local. -
-Type: required. -
-Intent: out. -
-
- -

-


- - - diff --git a/docs/html/node108.html b/docs/html/node108.html deleted file mode 100644 index 813dd87f..00000000 --- a/docs/html/node108.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - -psb_wtime -- Wall clock timing - - - - - - - - - - - - - - - - - - - - - -

-psb_wtime -- Wall clock timing -

- -

-

-time = psb_wtime()
-
- -

-This function returns a wall clock timer. The resolution of the timer -is dependent on the underlying parallel environment implementation. -

-
Type:
-
Asynchronous. -
-
On Exit
-
-
-
Function value
-
the elapsed time in seconds. -
-Returned as: a real(psb_dpk_) variable. -
-
- -

-


- - - diff --git a/docs/html/node109.html b/docs/html/node109.html deleted file mode 100644 index e9725952..00000000 --- a/docs/html/node109.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -psb_barrier -- Sinchronization point parallel environment - - - - - - - - - - - - - - - - - - - - - -

-psb_barrier -- Sinchronization point parallel - environment -

- -

-

-call psb_barrier(icontxt)
-
- -

-This subroutine acts as an explicit synchronization point for the PSBLAS -parallel virtual machine. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
- -

-


- - - diff --git a/docs/html/node11.html b/docs/html/node11.html deleted file mode 100644 index 4952cd9b..00000000 --- a/docs/html/node11.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -Descriptor Methods - - - - - - - - - - - - - - - - - - - - - -

-Descriptor Methods -

- -

-


- - - diff --git a/docs/html/node110.html b/docs/html/node110.html deleted file mode 100644 index df63b41c..00000000 --- a/docs/html/node110.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - -psb_abort -- Abort a computation - - - - - - - - - - - - - - - - - - - - - -

-psb_abort -- Abort a computation -

- -

-

-call psb_abort(icontxt)
-
- -

-This subroutine aborts computation on the parallel virtual machine. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
- -

-


- - - diff --git a/docs/html/node111.html b/docs/html/node111.html deleted file mode 100644 index febe6db2..00000000 --- a/docs/html/node111.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - -psb_bcast -- Broadcast data - - - - - - - - - - - - - - - - - - - - - -

-psb_bcast -- Broadcast data -

- -

-

-call psb_bcast(icontxt, dat, root)
-
- -

-This subroutine implements a broadcast operation based on the -underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
On the root process, the data to be broadcast. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical variable, -which may be a scalar or rank 1 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Root process holding data to be broadcast. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$0<= root <= np-1$, default 0
-
- -

-

-
On Return
-
-
-
dat
-
On processes other than root, the data to be broadcast. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind, rank and size must agree on all processes. -
-
- -

-


- - - diff --git a/docs/html/node112.html b/docs/html/node112.html deleted file mode 100644 index 7038a6b6..00000000 --- a/docs/html/node112.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - -psb_sum -- Global sum - - - - - - - - - - - - - - - - - - - - - -

-psb_sum -- Global sum -

- -

-

-call psb_sum(icontxt, dat, root)
-
- -

-This subroutine implements a sum reduction operation based on the -underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global sum. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final sum, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1.
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the sum operation. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. -
-Type, kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  2. -
  3. The dat argument may also be a long integer scalar. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node113.html b/docs/html/node113.html deleted file mode 100644 index f1e003d0..00000000 --- a/docs/html/node113.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - -psb_max -- Global maximum - - - - - - - - - - - - - - - - - - - - - -

-psb_max -- Global maximum -

- -

-

-call psb_max(icontxt, dat, root)
-
- -

-This subroutine implements a maximum valuereduction -operation based on the underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global maximum. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer or real variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final maximum, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1. -
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the maximum operation. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer or real variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  2. -
  3. The dat argument may also be a long integer scalar. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node114.html b/docs/html/node114.html deleted file mode 100644 index 15ca157e..00000000 --- a/docs/html/node114.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - -psb_min -- Global minimum - - - - - - - - - - - - - - - - - - - - - -

-psb_min -- Global minimum -

- -

-

-call psb_min(icontxt, dat, root)
-
- -

-This subroutine implements a minimum value reduction -operation based on the underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global minimum. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer or real variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final value, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1. -
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the minimum operation. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer or real variable, which may be a -scalar, or a rank 1 or 2 array. -
-Type, kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  2. -
  3. The dat argument may also be a long integer scalar. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node115.html b/docs/html/node115.html deleted file mode 100644 index afa24b62..00000000 --- a/docs/html/node115.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - -psb_amx -- Global maximum absolute value - - - - - - - - - - - - - - - - - - - - - -

-psb_amx -- Global maximum absolute value -

- -

-

-call psb_amx(icontxt, dat, root)
-
- -

-This subroutine implements a maximum absolute value reduction -operation based on the underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global maximum. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final value, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1. -
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the maximum operation. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  2. -
  3. The dat argument may also be a long integer scalar. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node116.html b/docs/html/node116.html deleted file mode 100644 index 6ed39834..00000000 --- a/docs/html/node116.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - -psb_amn -- Global minimum absolute value - - - - - - - - - - - - - - - - - - - - - -

-psb_amn -- Global minimum absolute value -

- -

-

-call psb_amn(icontxt, dat, root)
-
- -

-This subroutine implements a minimum absolute value reduction -operation based on the underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global minimum. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final value, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1. -
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the minimum operation. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array. -
-Type, kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  2. -
  3. The dat argument may also be a long integer scalar. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node117.html b/docs/html/node117.html deleted file mode 100644 index 765c6835..00000000 --- a/docs/html/node117.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - -psb_nrm2 -- Global 2-norm reduction - - - - - - - - - - - - - - - - - - - - - -

-psb_nrm2 -- Global 2-norm reduction -

- -

-

-call psb_nrm2(icontxt, dat, root)
-
- -

-This subroutine implements a 2-norm value reduction -operation based on the underlying communication library. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The local contribution to the global minimum. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: a real variable, which may be a -scalar, or a rank 1 array. Kind, rank and size must agree on all processes. -
-
root
-
Process to hold the final value, or $-1$ to make it available - on all processes. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value -$-1<= root <= np-1$, default -1. -
-
- -

-

-
On Return
-
-
-
dat
-
On destination process(es), the result of the 2-norm reduction. -
-Scope: global. -
-Type: required. -
-Intent: inout. -
-Specified as: a real variable, which may be a -scalar, or a rank 1 array. -
-Kind, rank and size must agree on all processes. -
-
- -

-Notes - -

    -
  1. This reduction is appropriate to compute the results of multiple - (local) NRM2 operations at the same time. -
  2. -
  3. Denoting by $dat_i$ the value of the variable $dat$ on process - $i$, the output $res$ is equivalent to the computation of -

    -
    - - -\begin{displaymath}res = \sqrt{\sum_i dat_i^2},\end{displaymath} -
    -
    -

    -with care taken to avoid unnecessary overflow. -
  4. -
  5. The dat argument is both input and output, and its - value may be changed even on processes different from the final - result destination. -
  6. -
- -

- -

- - - - diff --git a/docs/html/node118.html b/docs/html/node118.html deleted file mode 100644 index 43baeea3..00000000 --- a/docs/html/node118.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - -psb_snd -- Send data - - - - - - - - - - - - - - - - - - - - - -

-psb_snd -- Send data -

- -

-

-call psb_snd(icontxt, dat, dst, m)
-
- -

-This subroutine sends a packet of data to a destination. -

-
Type:
-
Synchronous: see usage notes. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
dat
-
The data to be sent. -
-Scope: local. -
-Type: required. -
-Intent: in. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if $m$ is -not specified, size must agree as well. -
-
dst
-
Destination process. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer value -$0<= dst <= np-1$. -
-
m
-
Number of rows. -
-Scope: global. -
-Type: Optional. -
-Intent: in. -
-Specified as: an integer value -$0<= m <= size(dat,1)$. -
-When $dat$ is a rank 2 array, specifies the number of rows to be sent -independently of the leading dimension $size(dat,1)$; must have the -same value on sending and receiving processes. -
-
- -

-

-
On Return
-
-
-
- -

-Notes - -

    -
  1. This subroutine implies a synchronization, but only between the - calling process and the destination process $dst$. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node119.html b/docs/html/node119.html deleted file mode 100644 index 2d94be94..00000000 --- a/docs/html/node119.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - -psb_rcv -- Receive data - - - - - - - - - - - - - - - - - - - - -

-psb_rcv -- Receive data -

- -

-

-call psb_rcv(icontxt, dat, src, m)
-
- -

-This subroutine receives a packet of data to a destination. -

-
Type:
-
Synchronous: see usage notes. -
-
On Entry
-
-
-
icontxt
-
the communication context identifying the virtual - parallel machine. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer variable. -
-
src
-
Source process. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer value -$0<= src <= np-1$. -
-
m
-
Number of rows. -
-Scope: global. -
-Type: Optional. -
-Intent: in. -
-Specified as: an integer value -$0<= m <= size(dat,1)$. -
-When $dat$ is a rank 2 array, specifies the number of rows to be sent -independently of the leading dimension $size(dat,1)$; must have the -same value on sending and receiving processes. -
-
- -

-

-
On Return
-
-
-
dat
-
The data to be received. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: an integer, real or complex variable, which may be a -scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if $m$ is -not specified, size must agree as well. -
-
- -

-Notes - -

    -
  1. This subroutine implies a synchronization, but only between the - calling process and the source process $src$. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node12.html b/docs/html/node12.html deleted file mode 100644 index 019a46a1..00000000 --- a/docs/html/node12.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -get_local_rows -- Get number of local rows - - - - - - - - - - - - - - - - - - - - - -

-get_local_rows -- Get number of local rows -

- -

-

-nr = desc%get_local_rows()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of local rows, i.e. the number of - rows owned by the current process; as explained in 1, - it is equal to -$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert$. The returned value is - specific to the calling process. -
-
- -

-


- - - diff --git a/docs/html/node120.html b/docs/html/node120.html deleted file mode 100644 index 21a186b7..00000000 --- a/docs/html/node120.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - -Error handling - - - - - - - - - - - - - - - - - - - - - -

-Error handling -

- -

-The PSBLAS library error handling policy has been completely rewritten -in version 2.0. The idea behind the design of this new error handling -strategy is to keep error messages on a stack allowing the user to -trace back up to the point where the first error message has been -generated. Every routine in the PSBLAS-2.0 library has, as last -non-optional argument, an integer info variable; whenever, -inside the routine, an error is detected, this variable is set to a -value corresponding to a specific error code. Then this error code is -also pushed on the error stack and then either control is returned to -the caller routine or the execution is aborted, depending on the users -choice. At the time when the execution is aborted, an error message is -printed on standard output with a level of verbosity than can be -chosen by the user. If the execution is not aborted, then, the caller -routine checks the value returned in the info variable and, if -not zero, an error condition is raised. This process continues on all the -levels of nested calls until the level where the user decides to abort -the program execution. - -

-Figure 9 shows the layout of a generic psb_foo -routine with respect to the PSBLAS-2.0 error handling policy. It is -possible to see how, whenever an error condition is detected, the -info variable is set to the corresponding error code which is, -then, pushed on top of the stack by means of the -psb_errpush. An error condition may be directly detected inside -a routine or indirectly checking the error code returned returned by a -called routine. Whenever an error is encountered, after it has been -pushed on stack, the program execution skips to a point where the -error condition is handled; the error condition is handled either by -returning control to the caller routine or by calling the -psb\_error routine which prints the content of the error stack -and aborts the program execution, according to the choice made by the -user with psb_set_erraction. The default is to print the error -and terminate the program, but the user may choose to handle the error -explicitly. - -

- -

- - - -
Figure 9: -The layout of a generic psb_foo - routine with respect to PSBLAS-2.0 error handling policy.
-
- -
- -\fbox{\TheSbox} -
-
- -

-Figure 10 reports a sample error message generated by -the PSBLAS-2.0 library. This error has been generated by the fact that -the user has chosen the invalid “FOO” storage format to represent -the sparse matrix. From this error message it is possible to see that -the error has been detected inside the psb_cest subroutine -called by psb_spasb ... by process 0 (i.e. the root process). - -

- -

- - - -
Figure 10: -A sample PSBLAS-2.0 error - message. Process 0 detected an error condition inside the psb_cest subroutine
-
- -
- -\fbox{\TheSbox} -
-
- -

-ifstarsubroutinesubroutinepsb_errpushPushes an error code onto the error - stack - -

-
-\begin{lstlisting}
-call psb_errpush(err_c, r_name, i_err, a_err)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
err_c
-
the error code -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an integer. -
-
r_name
-
the soutine where the error has been caught. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a string. -
-
i_err
-
addional info for error code -
-Scope: local -
-Type: optional -
-Specified as: an integer array -
-
a_err
-
addional info for error code -
-Scope: local -
-Type: optional -
-Specified as: a string. -
-
- -

-ifstarsubroutinesubroutinepsb_errorPrints the error stack content and aborts - execution - -

-
-\begin{lstlisting}
-call psb_error(icontxt)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context. -
-Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: an integer. -
-
- -

-ifstarsubroutinesubroutinepsb_set_errverbositySets the verbosity of error - messages. - -

-
-\begin{lstlisting}
-call psb_set_errverbosity(v)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
v
-
the verbosity level -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: an integer. -
-
- -

-ifstarsubroutinesubroutinepsb_set_erractionSet the type of action to be - taken upon error condition. - -

-
-\begin{lstlisting}
-call psb_set_erraction(err_act)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
err_act
-
the type of action. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: an integer. Possible values: psb_act_ret, -psb_act_abort. -
-
- -

- -

- - - - diff --git a/docs/html/node121.html b/docs/html/node121.html deleted file mode 100644 index 384e43c7..00000000 --- a/docs/html/node121.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -Utilities - - - - - - - - - - - - - - - - - - - - - -

- -
-Utilities -

- -

-We have some utilities available for input and output of -sparse matrices; the interfaces to these routines are available in the -module psb_util_mod. - -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node122.html b/docs/html/node122.html deleted file mode 100644 index b3438b33..00000000 --- a/docs/html/node122.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - -hb_read -- Read a sparse matrix from a file in the Harwell-Boeing format - - - - - - - - - - - - - - - - - - - - - -

- hb_read -- Read a sparse matrix from a file in the - Harwell-Boeing format -

- -

-
-\begin{lstlisting}
-call hb_read(a, iret, iunit, filename, b, mtitle)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
filename
-
The name of the file to be read. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default input unit 5 (i.e. standard input -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
- -

-

-
On Return
-
-
-
a
-
the sparse matrix read from file. -
-Type:required. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
b
-
Rigth hand side(s). -
-Type: Optional -
-An array of type real or complex, rank 2 and having the ALLOCATABLE -attribute; will be allocated and filled in if the input file contains -a right hand side, otherwise will be left in the UNALLOCATED state. -
-
mtitle
-
Matrix title. -
-Type: Optional -
-A charachter variable of length 72 holding a copy of the -matrix title as specified by the Harwell-Boeing format and contained -in the input file. -
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node123.html b/docs/html/node123.html deleted file mode 100644 index f8e65c33..00000000 --- a/docs/html/node123.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - -hb_write -- Write a sparse matrix to a file in the Harwell-Boeing format - - - - - - - - - - - - - - - - - - - - - -

-hb_write -- Write a sparse matrix to a file - in the Harwell-Boeing format -

- -

-
-\begin{lstlisting}
-call hb_write(a, iret, iunit, filename, key, rhs, mtitle)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix to be written. -
-Type:required. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
b
-
Rigth hand side. -
-Type: Optional -
-An array of type real or complex, rank 1 and having the ALLOCATABLE -attribute; will be allocated and filled in if the input file contains -a right hand side. -
-
filename
-
The name of the file to be written to. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default output unit 6 (i.e. standard output -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
key
-
Matrix key. -
-Type: Optional -
-A charachter variable of length 8 holding the -matrix key as specified by the Harwell-Boeing format and to be -written to file. -
-
mtitle
-
Matrix title. -
-Type: Optional -
-A charachter variable of length 72 holding the -matrix title as specified by the Harwell-Boeing format and to be -written to file. -
-
- -

-

-
On Return
-
-
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node124.html b/docs/html/node124.html deleted file mode 100644 index f1307a9d..00000000 --- a/docs/html/node124.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - -mm_mat_read -- Read a sparse matrix from a file in the MatrixMarket format - - - - - - - - - - - - - - - - - - - - - -

-mm_mat_read -- Read a sparse matrix from a - file in the MatrixMarket format -

- -

-
-\begin{lstlisting}
-call mm_mat_read(a, iret, iunit, filename)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
filename
-
The name of the file to be read. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default input unit 5 (i.e. standard input -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
- -

-

-
On Return
-
-
-
a
-
the sparse matrix read from file. -
-Type:required. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node125.html b/docs/html/node125.html deleted file mode 100644 index 07ecfc91..00000000 --- a/docs/html/node125.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - -mm_array_read -- Read a dense array from a file in the MatrixMarket format - - - - - - - - - - - - - - - - - - - - - -

-mm_array_read -- Read a dense array from a - file in the MatrixMarket format -

- -

-
-\begin{lstlisting}
-call mm_array_read(b, iret, iunit, filename)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
filename
-
The name of the file to be read. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default input unit 5 (i.e. standard input -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
- -

-

-
On Return
-
-
-
b
-
Rigth hand side(s). -
-Type: required -
-An array of type real or complex, rank 1 or 2 and having the ALLOCATABLE -attribute; will be allocated and filled in if the input file contains -a right hand side, otherwise will be left in the UNALLOCATED state. -
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node126.html b/docs/html/node126.html deleted file mode 100644 index 6f5c409c..00000000 --- a/docs/html/node126.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - -mm_mat_write -- Write a sparse matrix to a file in the MatrixMarket format - - - - - - - - - - - - - - - - - - - - - -

-mm_mat_write -- Write a sparse matrix to a - file in the MatrixMarket format -

- -

-
-\begin{lstlisting}
-call mm_mat_write(a, mtitle, iret, iunit, filename)
-\end{lstlisting} -
-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix to be written. -
-Type:required. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
mtitle
-
Matrix title. -
-Type: required -
-A charachter variable holding a descriptive title for the matrix to be - written to file. -
-
filename
-
The name of the file to be written to. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default output unit 6 (i.e. standard output -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
- -

-

-
On Return
-
-
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node127.html b/docs/html/node127.html deleted file mode 100644 index 2f598cdf..00000000 --- a/docs/html/node127.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - -mm_array_write -- Write a dense array from a file in the MatrixMarket format - - - - - - - - - - - - - - - - - - - - -

-mm_array_write -- Write a dense array from a - file in the MatrixMarket format -

- -

-
-\begin{lstlisting}
-call mm_array_write(b, iret, iunit, filename)
-\end{lstlisting} -
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
b
-
Rigth hand side(s). -
-Type: required -
-An array of type real or complex, rank 1 or 2; will be written..
-
filename
-
The name of the file to be written. -
-Type:optional. -
-Specified as: a character variable containing a valid file name, or --, in which case the default input unit 5 (i.e. standard input -in Unix jargon) is used. Default: -. -
-
iunit
-
The Fortran file unit number. -
-Type:optional. -
-Specified as: an integer value. Only meaningful if filename is not -. -
-
- -

-

-
On Return
-
-
-
iret
-
Error code. -
-Type: required -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node128.html b/docs/html/node128.html deleted file mode 100644 index 06233ef9..00000000 --- a/docs/html/node128.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -Preconditioner routines - - - - - - - - - - - - - - - - - - - - - -

- -
-Preconditioner routines -

- -

-The base PSBLAS library contains the implementation of two simple -preconditioning techniques: - -

    -
  • Diagonal Scaling -
  • -
  • Block Jacobi with ILU(0) factorization -
  • -
-The supporting data type and subroutine interfaces are defined in the -module psb_prec_mod. -The old interfaces psb_precinit and psb_precbld are still supported for -backward compatibility - -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node129.html b/docs/html/node129.html deleted file mode 100644 index 0ff25da7..00000000 --- a/docs/html/node129.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - -init -- Initialize a preconditioner - - - - - - - - - - - - - - - - - - - - - -

-init -- Initialize a preconditioner -

- -

-

-call prec%init(icontxt,ptype, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
icontxt
-
the communication context. -
-Scope:global. -
-Type:required. -
-Intent: in. -
-Specified as: an integer value. -
-
ptype
-
the type of preconditioner. -Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a character string, see usage notes. -
-
On Exit
-

-

-
prec
-
Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
info
-
Scope: global -
-Type: required -
-Intent: out. -
-Error code: if no error, 0 is returned. -
-
-Notes -Legal inputs to this subroutine are interpreted depending on the -$ptype$ string as follows4: -
-
NONE
-
No preconditioning, i.e. the preconditioner is just a copy - operator. -
-
DIAG
-
Diagonal scaling; each entry of the input vector is - multiplied by the reciprocal of the sum of the absolute values of - the coefficients in the corresponding row of matrix $A$; -
-
BJAC
-
Precondition by a factorization of the - block-diagonal of matrix $A$, where block boundaries are determined - by the data allocation boundaries for each process; requires no - communication. Only the incomplete factorization $ILU(0)$ is - currently implemented. -
-
- -

-


- - - diff --git a/docs/html/node13.html b/docs/html/node13.html deleted file mode 100644 index bbbcaa1b..00000000 --- a/docs/html/node13.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - -get_local_cols -- Get number of local cols - - - - - - - - - - - - - - - - - - - - - -

-get_local_cols -- Get number of local cols -

- -

-

-nc = desc%get_local_cols()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of local cols, i.e. the number of - indices used by the current process, including both local and halo - indices; as explained in 1, - it is equal to -$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert +\vert{\cal H}_i\vert$. The - returned value is specific to the calling process. -
-
- -

-


- - - diff --git a/docs/html/node130.html b/docs/html/node130.html deleted file mode 100644 index 532b6c53..00000000 --- a/docs/html/node130.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - -build -- Builds a preconditioner - - - - - - - - - - - - - - - - - - - - - -

-build -- Builds a preconditioner -

- -

-

-call prec%build(a, desc_a, info[,amold,vmold,imold])
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
the system sparse matrix. -Scope: local -
-Type: required -
-Intent: in, target. -
-Specified as: a sparse matrix data structure spdatapsb_Tspmat_type. -
-
prec
-
the preconditioner. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an already initialized precondtioner data structure precdatapsb_prec_type -
-
desc_a
-
the problem communication descriptor. -Scope: local -
-Type: required -
-Intent: in, target. -
-Specified as: a communication descriptor data structure descdatapsb_desc_type. -
-
amold
-
The desired dynamic type for the internal matrix storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from spbasedatapsb_T_base_sparse_mat. -
-
vmold
-
The desired dynamic type for the internal vector storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type. -
-
imold
-
The desired dynamic type for the internal integer vector storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from (integer) vbasedatapsb_T_base_vect_type. -
-
- -

-

-
On Return
-
-
-
prec
-
the preconditioner. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a precondtioner data structure precdatapsb_prec_type -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
-The amold, vmold and imold arguments may be -employed to interface with special devices, such as GPUs and other -accelerators. - -

- -

- - - - diff --git a/docs/html/node131.html b/docs/html/node131.html deleted file mode 100644 index 289b69ab..00000000 --- a/docs/html/node131.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - -apply -- Preconditioner application routine - - - - - - - - - - - - - - - - - - - - - -

-apply -- Preconditioner application - routine -

- -

-

-call prec%apply(x,y,desc_a,info,trans,work)
-call prec%apply(x,desc_a,info,trans)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
prec
-
the preconditioner. -Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
x
-
the source vector. -Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
-
desc_a
-
the problem communication descriptor. -Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a communication data structure descdatapsb_desc_type. -
-
trans
-
Scope: -
-Type: optional -
-Intent: in. -
-Specified as: a character. -
-
work
-
an optional work space -Scope: local -
-Type: optional -
-Intent: inout. -
-Specified as: a double precision array. -
-
- -

-

-
On Return
-
-
-
y
-
the destination vector. -Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node132.html b/docs/html/node132.html deleted file mode 100644 index 6244d986..00000000 --- a/docs/html/node132.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - -descr -- Prints a description of current preconditioner - - - - - - - - - - - - - - - - - - - - - -

-descr -- Prints a description of current - preconditioner -

- -

-

-call prec%descr()
-call prec%descr(iout, root)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
prec
-
the preconditioner. -Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
iout
-
output unit. -Scope: local -
-Type: optional -
-Intent: in. -
-Specified as: an integer number. Default: default output unit. -
-
root
-
Process from which to print -Scope: local -
-Type: optional -
-Intent: in. -
-Specified as: an integer number between 0 and $np-1$, in which case -the specified process will print the description, or $-1$, in which case -all processes will print. Default: 0. -
-
- -

-


- - - diff --git a/docs/html/node133.html b/docs/html/node133.html deleted file mode 100644 index fadd4e4b..00000000 --- a/docs/html/node133.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -clone -- clone current preconditioner - - - - - - - - - - - - - - - - - - - - - -

-clone -- clone current - preconditioner -

- -
-call  prec%clone(precout,info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
prec
-
the preconditioner. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
precout
-
A copy of the input object. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node134.html b/docs/html/node134.html deleted file mode 100644 index c98f860c..00000000 --- a/docs/html/node134.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - -free -- Free a preconditioner - - - - - - - - - - - - - - - - - - - - -

-free -- Free a preconditioner -

- -

-

-call prec%free(info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
prec
-
the preconditioner. -
-Scope: local. -
-Type: required -
-Intent: inout. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
On Exit
-

-

-
prec
-
Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a preconditioner data structure precdatapsb_prec_type. -
-
info
-
Scope: global -
-Type: required -
-Intent: out. -
-Error code: if no error, 0 is returned. -
-
-Notes -Releases all internal storage. - -

-


- - - diff --git a/docs/html/node135.html b/docs/html/node135.html deleted file mode 100644 index 9dda9479..00000000 --- a/docs/html/node135.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - -Iterative Methods - - - - - - - - - - - - - - - - - - - - - -

- -
-Iterative Methods -

- -

-In this chapter we provide routines for preconditioners and iterative -methods. The interfaces for Krylov subspace methods are available in -the module psb_krylov_mod. - -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node136.html b/docs/html/node136.html deleted file mode 100644 index 1899d05d..00000000 --- a/docs/html/node136.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - -psb_krylov -- Krylov Methods Driver Routine - - - - - - - - - - - - - - - - - - - - -

-
-psb_krylov -- Krylov Methods Driver - Routine -

- -

-This subroutine is a driver that provides a general interface for all -the Krylov-Subspace family methods implemented in PSBLAS version 2. - -

-The stopping criterion can take the following values: -

-
1
-
normwise backward error in the infinity -norm; the iteration is stopped when -

-
- - -\begin{displaymath}err = \frac{\Vert r_i\Vert}{(\Vert A\Vert\Vert x_i\Vert+\Vert b\Vert)} < eps \end{displaymath} -
-
-

-
-
2
-
Relative residual in the 2-norm; the iteration is stopped -when -

-
- - -\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert b\Vert _2} < eps \end{displaymath} -
-
-

-
-
3
-
Relative residual reduction in the 2-norm; the iteration is stopped -when -

-
- - -\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert r_0\Vert _2} < eps \end{displaymath} -
-
-

-
-
-The behaviour is controlled by the istop argument (see -later). In the above formulae, $x_i$ is the tentative solution and -$r_i=b-Ax_i$ the corresponding residual at the $i$-th iteration. - -

-
-\begin{lstlisting}
-call psb_krylov(method,a,prec,b,x,eps,desc_a,info,&
-& itmax,iter,err,itrace,irst,istop,cond)
-\end{lstlisting} -
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
method
-
a string that defines the iterative method to be - used. Supported values are: -
-
CG:
-
the Conjugate Gradient method; - -
-
CGS:
-
the Conjugate Gradient Stabilized method; - -

-

-
GCR:
-
the Generalized Conjugate Residual method; - -
-
FCG:
-
the Flexible Conjugate Gradient method5; - -

-

-
BICG:
-
the Bi-Conjugate Gradient method; - -
-
BICGSTAB:
-
the Bi-Conjugate Gradient Stabilized method; - -
-
BICGSTABL:
-
the Bi-Conjugate Gradient Stabilized method with restarting; - -
-
RGMRES:
-
the Generalized Minimal Residual method with restarting. - -
-
-
-
a
-
the local portion of global sparse matrix -$A$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
prec
-
The data structure containing the preconditioner. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type precdatapsb_prec_type. -
-
b
-
The RHS vector. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
-
x
-
The initial guess. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
-
eps
-
The stopping tolerance. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a real number. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
itmax
-
The maximum number of iterations to perform. -
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: $itmax = 1000$. -
-Specified as: an integer variable $itmax \ge 1$. -
-
itrace
-
If $>0$ print out an informational message about - convergence every $itrace$ iterations. If $=0$ print a message in - case of convergence failure. -
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: $itrace = -1$. -
-
irst
-
An integer specifying the restart parameter. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Values: $irst>0$. This is employed for the BiCGSTABL or RGMRES -methods, otherwise it is ignored. - -

-

-
istop
-
An integer specifying the stopping criterion. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Values: 1: use the normwise backward error, 2: use the scaled 2-norm -of the residual, 3: use the residual reduction in the 2-norm. Default: 2. -
-
On Return
-
-
-
x
-
The computed solution. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one array or an object of type vdatapsb_T_vect_type. -
-
iter
-
The number of iterations performed. -
-Scope: global -
-Type: optional -
-Intent: out. -
-Returned as: an integer variable. -
-
err
-
The convergence estimate on exit. -
-Scope: global -
-Type: optional -
-Intent: out. -
-Returned as: a real number. -
-
cond
-
An estimate of the condition number of matrix $A$; only - available with the $CG$ method on real data. -
-Scope: global -
-Type: optional -
-Intent: out. -
-Returned as: a real number. A correct result will be greater than or -equal to one; if specified for non-real data, or an error occurred, -zero is returned. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- -

- -

- -

- - - - diff --git a/docs/html/node137.html b/docs/html/node137.html deleted file mode 100644 index 4717ee2d..00000000 --- a/docs/html/node137.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - -Bibliography - - - - - - - - - - - - - - - - - - - - - -

-Bibliography -

1 -
- D. Barbieri, V. Cardellini, S. Filippone and D. Rouson -Design Patterns for Scientific Computations on Sparse Matrices, - HPSS 2011, Algorithms and Programming Tools for Next-Generation High-Performance Scientific Software, Bordeaux, Sep. 2011 - -

-

2 -
-G. Bella, S. Filippone, A. De Maio and M. Testa, -A Simulation Model for Forest Fires, -in J. Dongarra, K. Madsen, J. Wasniewski, editors, -Proceedings of PARA 04 Workshop on State of the Art -in Scientific Computing, pp. 546-553, Lecture Notes in Computer Science, -Springer, 2005. -

3 -
A. Buttari, D. di Serafino, P. D'Ambra, S. Filippone,
-2LEV-D2P4: a package of high-performance preconditioners,
-Applicable Algebra in Engineering, Communications and Computing, -Volume 18, Number 3, May, 2007, pp. 223-239 -

4 -
P. D'Ambra, S. Filippone, D. Di Serafino
-On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners -
-Applied Numerical Mathematics, Elsevier Science, -Volume 57, Issues 11-12, November-December 2007, Pages 1181-1196. - -

-

5 -
- Dongarra, J. J., DuCroz, J., Hammarling, S. and Hanson, R., -An Extended Set of Fortran Basic Linear Algebra Subprograms, -ACM Trans. Math. Softw. vol. 14, 1-17, 1988. -

6 -
- Dongarra, J., DuCroz, J., Hammarling, S. and Duff, I., -A Set of level 3 Basic Linear Algebra Subprograms, -ACM Trans. Math. Softw. vol. 16, 1-17, 1990. -

7 -
-J. J. Dongarra and R. C. Whaley, -A User's Guide to the BLACS v. 1.1, -Lapack Working Note 94, Tech. Rep. UT-CS-95-281, University of -Tennessee, March 1995 (updated May 1997). -

8 -
-I. Duff, M. Marrone, G. Radicati and C. Vittoli, -Level 3 Basic Linear Algebra Subprograms for Sparse Matrices: -a User Level Interface, -ACM Transactions on Mathematical Software, 23(3), pp. 379-401, 1997. -

9 -
-I. Duff, M. Heroux and R. Pozo, -An Overview of the Sparse Basic Linear -Algebra Subprograms: the New Standard from the BLAS Technical Forum, -ACM Transactions on Mathematical Software, 28(2), pp. 239-267, 2002. -

10 -
-S. Filippone and M. Colajanni, -PSBLAS: A Library for Parallel Linear Algebra -Computation on Sparse Matrices, -
-ACM Transactions on Mathematical Software, 26(4), pp. 527-550, 2000. -

11 -
-S. Filippone and A. Buttari, -Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003, -
-ACM Transactions on Mathematical Software, 38(4), 2012. -

12 -
-S. Filippone, P. D'Ambra, M. Colajanni, -Using a Parallel Library of Sparse Linear Algebra in a Fluid Dynamics -Applications Code on Linux Clusters, -in G. Joubert, A. Murli, F. Peters, M. Vanneschi, editors, -Parallel Computing - Advances & Current Issues, -pp. 441-448, Imperial College Press, 2002. -

13 -
- Gamma, E., Helm, R., Johnson, R., and Vlissides, - J. 1995. - Design Patterns: Elements of Reusable Object-Oriented Software. - Addison-Wesley. - -

-

14 -
-Karypis, G. and Kumar, V., -METIS: Unstructured Graph Partitioning and Sparse Matrix - Ordering System. -Minneapolis, MN 55455: University of Minnesota, Department of - Computer Science, 1995. -Internet Address: http://www.cs.umn.edu/~karypis. -

15 -
-Lawson, C., Hanson, R., Kincaid, D. and Krogh, F., - Basic Linear Algebra Subprograms for Fortran usage, -ACM Trans. Math. Softw. vol. 5, 38-329, 1979. - -

-

16 -
-Machiels, L. and Deville, M. -Fortran 90: An entry to object-oriented programming for the solution - of partial differential equations. -ACM Trans. Math. Softw. vol. 23, 32-49. -

17 -
-Metcalf, M., Reid, J. and Cohen, M. -Fortran 95/2003 explained. -Oxford University Press, 2004. -

18 -
-Rouson, D.W.I., Xia, J., Xu, X.: Scientific Software Design: The - Object-Oriented Way. Cambridge University Press (2011) - -

-

19 -
-M. Snir, S. Otto, S. Huss-Lederman, D. Walker and J. Dongarra, -MPI: The Complete Reference. Volume 1 - The MPI Core, second edition, -MIT Press, 1998. -
- -

-


- - - diff --git a/docs/html/node138.html b/docs/html/node138.html deleted file mode 100644 index 6fd05bf8..00000000 --- a/docs/html/node138.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - -About this document ... - - - - - - - - - - - - - - - - - - - -

-About this document ... -

-

-This document was generated using the -LaTeX2HTML translator Version 2018 (Released Feb 1, 2018) -

-Copyright © 1993, 1994, 1995, 1996, -Nikos Drakos, -Computer Based Learning Unit, University of Leeds. -
-Copyright © 1997, 1998, 1999, -Ross Moore, -Mathematics Department, Macquarie University, Sydney. -

-The command line arguments were:
- latex2html -local_icons -noaddress -dir ../../html userhtml.tex -

-The translation was initiated on 2019-11-21 -


- - - diff --git a/docs/html/node14.html b/docs/html/node14.html deleted file mode 100644 index 914b0e58..00000000 --- a/docs/html/node14.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - -get_global_rows -- Get number of global rows - - - - - - - - - - - - - - - - - - - - - -

-get_global_rows -- Get number of global rows -

- -

-

-nr = desc%get_global_rows()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of global rows, i.e. the size of the - global index space. -
-
- -

-


- - - diff --git a/docs/html/node15.html b/docs/html/node15.html deleted file mode 100644 index 0f9aa78a..00000000 --- a/docs/html/node15.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - -get_global_cols -- Get number of global cols - - - - - - - - - - - - - - - - - - - - - -

-get_global_cols -- Get number of global cols -

- -

-

-nr = desc%get_global_cols()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of global cols; usually this is equal - to the number of global rows. -
-
- -

-


- - - diff --git a/docs/html/node16.html b/docs/html/node16.html deleted file mode 100644 index e938a3c2..00000000 --- a/docs/html/node16.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - -get_global_indices -- Get vector of global indices - - - - - - - - - - - - - - - - - - - - - -

-get_global_indices -- Get vector of global indices -

- -

-

-myidx = desc%get_global_indices([owned])
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-Type: required. -
-
owned
-
Choose if you only want owned indices - (owned=.true.) or also halo indices (owned=.false.). -Scope: local. -
-Type: optional; default: .true.. -
-
- -

-

-
On Return
-
-
-
Function value
-
The global indices, returned as an allocatable - integer array of rank 1. -
-
- -

-


- - - diff --git a/docs/html/node17.html b/docs/html/node17.html deleted file mode 100644 index 80c4cf41..00000000 --- a/docs/html/node17.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -get_context -- Get communication context - - - - - - - - - - - - - - - - - - - - - -

-get_context -- Get communication context -

- -

-

-ictxt = desc%get_context()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
Function value
-
The communication context. -
-
- -

-


- - - diff --git a/docs/html/node18.html b/docs/html/node18.html deleted file mode 100644 index 422ddc25..00000000 --- a/docs/html/node18.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -Clone -- clone current object - - - - - - - - - - - - - - - - - - - - - -

-Clone -- clone current object -

- -

-

-call  desc%clone(descout,info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
descout
-
A copy of the input object. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node19.html b/docs/html/node19.html deleted file mode 100644 index af94fa1c..00000000 --- a/docs/html/node19.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -CNV -- convert internal storage format - - - - - - - - - - - - - - - - - - - - - -

-CNV -- convert internal storage format -

- -

-

-call  desc%cnv(mold)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope: local. -
-
mold
-
the desred integer storage format. -
-Scope: local. -
-Specified as: a object of type derived from (integer) vbasedatapsb_T_base_vect_type. -
-
-The mold arguments may be -employed to interface with special devices, such as GPUs and other -accelerators. - -

-


- - - diff --git a/docs/html/node2.html b/docs/html/node2.html deleted file mode 100644 index cc966d25..00000000 --- a/docs/html/node2.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - -Introduction - - - - - - - - - - - - - - - - - - - - - -

-
-Introduction -

- -

-The PSBLAS library, developed with the aim to facilitate the -parallelization of computationally intensive scientific applications, -is designed to address parallel implementation of iterative solvers -for sparse linear systems through the distributed memory paradigm. It -includes routines for multiplying sparse matrices by dense matrices, -solving block diagonal systems with triangular diagonal entries, -preprocessing sparse matrices, and contains additional routines for -dense matrix operations. The current implementation of PSBLAS -addresses a distributed memory execution model operating with message -passing. - -

-The PSBLAS library version 3 is implemented in - the Fortran 2003 [17] programming language, with reuse and/or - adaptation of existing Fortran 77 and Fortran 95 software, plus a - handful of C routines. - -

-The use of Fortran 2003 offers a number of advantages over Fortran 95, -mostly in the handling of requirements for evolution and adaptation of -the library to new computing architectures and integration of -new algorithms. -For a detailed discussion of our design see [11]; other -works discussing advanced programming in Fortran 2003 -include [1,18]; sufficient support for -Fortran 2003 is now available from many compilers, including the GNU -Fortran compiler from the Free Software Foundation (as of version 4.8). - -

-Previous approaches have been based on mixing Fortran 95, with its -support for object-based design, with other languages; these have -been advocated by a number of authors, -e.g. [16]. Moreover, the Fortran 95 facilities for dynamic -memory management and interface overloading greatly enhance the -usability of the PSBLAS -subroutines. In this way, the library can take care of runtime memory -requirements that are quite difficult or even impossible to predict at -implementation or compilation time. - -

-The presentation of the -PSBLAS library follows the general structure of the proposal for -serial Sparse BLAS [8,9], which in its turn is based on the -proposal for BLAS on dense matrices [15,5,6]. - -

-The applicability of sparse iterative solvers to many different areas -causes some terminology problems because the same concept may be -denoted through different names depending on the application area. The -PSBLAS features presented in this document will be discussed referring -to a finite difference discretization of a Partial Differential -Equation (PDE). However, the scope of the library is wider than -that: for example, it can be applied to finite element discretizations -of PDEs, and even to different classes of problems such as nonlinear -optimization, for example in optimal control problems. - -

-The design of a solver for sparse linear systems is driven by many -conflicting objectives, such as limiting occupation of storage -resources, exploiting regularities in the input data, exploiting -hardware characteristics of the parallel platform. To achieve an -optimal communication to computation ratio on distributed memory -machines it is essential to keep the data locality as high as -possible; this can be done through an appropriate data allocation -strategy. The choice of the preconditioner is another very important -factor that affects efficiency of the implemented application. Optimal -data distribution requirements for a given preconditioner may conflict -with distribution requirements of the rest of the solver. Finding the -optimal trade-off may be very difficult because it is application -dependent. Possible solutions to these problems and other important -inputs to the development of the PSBLAS software package have come from -an established experience in applying the PSBLAS solvers to -computational fluid dynamics applications. - -

- -

- - - - diff --git a/docs/html/node20.html b/docs/html/node20.html deleted file mode 100644 index f5816c70..00000000 --- a/docs/html/node20.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - -psb_cd_get_large_threshold -- Get threshold for index mapping switch - - - - - - - - - - - - - - - - - - - - - -

-psb_cd_get_large_threshold -- Get threshold for - index mapping switch -

- -

-

-ith = psb_cd_get_large_threshold()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Return
-
-
-
Function value
-
The current value for the size threshold. - -

-

-
- -

-


- - - diff --git a/docs/html/node21.html b/docs/html/node21.html deleted file mode 100644 index 2e6a31b6..00000000 --- a/docs/html/node21.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -psb_cd_set_large_threshold -- Set threshold for index mapping switch - - - - - - - - - - - - - - - - - - - - - -

-psb_cd_set_large_threshold -- Set threshold for - index mapping switch -

- -

-

-call psb_cd_set_large_threshold(ith)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
ith
-
the new threshold for communication descriptors. -
-Scope: global. -
-Type: required. -
-Intent: in. -
-Specified as: an integer value greater than zero. -
-
-Note: the threshold value is only queried by the library at the time a -call to psb_cdall is executed, therefore changing the threshold -has no effect on communication descriptors that have already been -initialized. Moreover the threshold must have the same value on all -processes. - -

-


- - - diff --git a/docs/html/node22.html b/docs/html/node22.html deleted file mode 100644 index 2f9f2a6a..00000000 --- a/docs/html/node22.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -Named Constants - - - - - - - - - - - - - - - - - - - - -

- -
-Named Constants -

-
-
psb_none_
-
Generic no-op; -
-
psb_root_
-
Default root process for broadcast and scatter operations; -
-
psb_nohalo_
-
Do not fetch halo elements; -
-
psb_halo_
-
Fetch halo elements from neighbouring processes; -
-
psb_sum_
-
Sum overlapped elements -
-
psb_avg_
-
Average overlapped elements -
-
psb_comm_halo_
-
Exchange data based on the halo_index - list; -
-
psb_comm_ext_
-
Exchange data based on the ext_index - list; -
-
psb_comm_ovr_
-
Exchange data based on the ovrlap_index - list; -
-
psb_comm_mov_
-
Exchange data based on the ovr_mst_idx - list; - -

-

-
- -

-


- - - diff --git a/docs/html/node23.html b/docs/html/node23.html deleted file mode 100644 index 1105c101..00000000 --- a/docs/html/node23.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - -Sparse Matrix class - - - - - - - - - - - - - - - - - - - - - -

- -
-Sparse Matrix class -

-The spdatapsb_Tspmat_type class -contains all information about the local portion of the sparse matrix and -its storage mode. Its design is -based on the STATE design pattern [13] as detailed -in [11]; the type declaration is shown in -figure 4 where T is a placeholder for the -data type and precision variants -
-
S
-
Single precision real; -
-
D
-
Double precision real; -
-
C
-
Single precision complex; -
-
Z
-
Double precision complex. -
-
-The actual data is contained in the polymorphic component a%a -of type spbasedatapsb_T_base_sparse_mat; its -specific layout can be chosen dynamically among the predefined types, -or an entirely new storage layout can be implemented and passed to the -library at runtime via the psb_spasb routine. - -
- - - -
Figure 4: - The PSBLAS defined data type that - contains a sparse matrix.
-
- -
-
-  type :: psb_Tspmat_type
-    class(psb_T_base_sparse_mat), allocatable  :: a 
-  end type  psb_Tspmat_type
-
-
-
-
-The following very common formats are precompiled in PSBLAS and thus -are always available: -
-
psb_T_coo_sparse_mat
-
Coordinate storage; -
-
psb_T_csr_sparse_mat
-
Compressed storage by rows; -
-
psb_T_csc_sparse_mat
-
Compressed storage by columns; -
-
-The inner sparse matrix has an associated state, which can take the -following values: -
-
Build:
-
State entered after the first allocation, and before the - first assembly; in this state it is possible to add nonzero entries. -
-
Assembled:
-
State entered after the assembly; computations using - the sparse matrix, such as matrix-vector products, are only possible - in this state; -
-
Update:
-
State entered after a reinitalization; this is used to - handle applications in which the same sparsity pattern is used - multiple times with different coefficients. In this state it is only - possible to enter coefficients for already existing nonzero entries. -
-
-The only storage variant supporting the build state is COO; all other -variants are obtained by conversion to/from it. - -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node24.html b/docs/html/node24.html deleted file mode 100644 index 95bed484..00000000 --- a/docs/html/node24.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - -Sparse Matrix Methods - - - - - - - - - - - - - - - - - - - - - -

-Sparse Matrix Methods -

- -

-


- - - diff --git a/docs/html/node25.html b/docs/html/node25.html deleted file mode 100644 index 89282263..00000000 --- a/docs/html/node25.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -get_nrows -- Get number of rows in a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-get_nrows -- Get number of rows in a sparse matrix -

- -

-

-nr = a%get_nrows()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of rows of sparse matrix a. -
-
- -

-


- - - diff --git a/docs/html/node26.html b/docs/html/node26.html deleted file mode 100644 index b354b89f..00000000 --- a/docs/html/node26.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - -get_ncols -- Get number of columns in a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-get_ncols -- Get number of columns in a sparse - matrix -

- -

-

-nc = a%get_ncols()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of columns of sparse matrix a. -
-
- -

-


- - - diff --git a/docs/html/node27.html b/docs/html/node27.html deleted file mode 100644 index 79142d1e..00000000 --- a/docs/html/node27.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - -get_nnzeros -- Get number of nonzero elements in a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-get_nnzeros -- Get number of nonzero elements - in a sparse matrix -

- -

-

-nz = a%get_nnzeros()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of nonzero elements stored in sparse matrix a. -
-
- -

-Notes - -

    -
  1. The function value is specific to the storage format of matrix - a; some storage formats employ padding, thus the returned - value for the same matrix may be different for different storage choices. -
  2. -
- -

-


- - - diff --git a/docs/html/node28.html b/docs/html/node28.html deleted file mode 100644 index 93fa1562..00000000 --- a/docs/html/node28.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -get_size -- Get maximum number of nonzero elements in a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-get_size -- Get maximum number of nonzero elements - in a sparse matrix -

- -

-

-maxnz = a%get_size()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The maximum number of nonzero elements that can - be stored in sparse matrix a using its current memory allocation. -
-
- -

-


- - - diff --git a/docs/html/node29.html b/docs/html/node29.html deleted file mode 100644 index 6543ee2d..00000000 --- a/docs/html/node29.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -sizeof -- Get memory occupation in bytes -of a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-sizeof -- Get memory occupation in bytes -of a sparse matrix -

- -

-

-memory_size = a%sizeof()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The memory occupation in bytes. -
-
- -

-


- - - diff --git a/docs/html/node3.html b/docs/html/node3.html deleted file mode 100644 index 0d4479c1..00000000 --- a/docs/html/node3.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - -General overview - - - - - - - - - - - - - - - - - - - - - -

- -
-General overview -

-The PSBLAS library is designed to handle the implementation of -iterative solvers for sparse linear systems on distributed memory -parallel computers. The system coefficient matrix $A$ must be square; -it may be real or complex, nonsymmetric, and its sparsity pattern -needs not to be symmetric. The serial computation parts are based on -the serial sparse BLAS, so that any extension made to the data -structures of the serial kernels is available to the parallel -version. The overall design and parallelization strategy have been -influenced by the structure of the ScaLAPACK parallel -library. The layered structure of the PSBLAS library -is shown in figure 1; lower layers of the library -indicate an encapsulation relationship with upper layers. The ongoing -discussion focuses on the Fortran 2003 layer immediately below the -application layer. -The serial parts of the computation on each process are executed through -calls to the serial sparse BLAS subroutines. -In a similar way, the inter-process message exchanges are encapsulated -in an applicaiton layer that has been strongly inspired by the Basic -Linear Algebra Communication Subroutines (BLACS) library [7]. -Usually there is no need to deal directly with MPI; however, in some -cases, MPI routines are used directly to improve efficiency. For -further details on our communication layer see Sec. 7. - -

- -

- - - -
Figure 1: -PSBLAS library components hierarchy.
-
-\includegraphics[scale=0.65]{figures/psblas.eps} - -\includegraphics[scale=0.65]{figures/psblas} - -
-
- -

-The type of linear system matrices that we address typically arise in the -numerical solution of PDEs; in such a context, -it is necessary to pay special attention to the -structure of the problem from which the application originates. -The nonzero pattern of a matrix arising from the -discretization of a PDE is influenced by various factors, such as the -shape of the domain, the discretization strategy, and -the equation/unknown ordering. The matrix itself can be interpreted as -the adjacency matrix of the graph associated with the discretization -mesh. - -

-The distribution of the coefficient matrix for the linear system is -based on the “owner computes” rule: -the variable associated to each mesh point is assigned to a process -that will own the corresponding row in the coefficient matrix and -will carry out all related computations. This allocation strategy -is equivalent to a partition of the discretization mesh into sub-domains. -Our library supports any distribution that keeps together -the coefficients of each matrix row; there are no other constraints on -the variable assignment. -This choice is consistent with simple data distributions -such as CYCLIC(N) and BLOCK, -as well as completely arbitrary assignments of -equation indices to processes. -In particular it is consistent with the -usage of graph partitioning tools commonly available in the -literature, e.g. METIS [14]. -Dense vectors conform to sparse -matrices, that is, the entries of a vector follow the same distribution -of the matrix rows. - -

-We assume that the sparse matrix is built in parallel, where each -process generates its own portion. We never require that the entire -matrix be available on a single node. However, it is possible -to hold the entire matrix in one process and distribute it -explicitly1, even though the resulting memory -bottleneck would make this option unattractive in most cases. - -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node30.html b/docs/html/node30.html deleted file mode 100644 index 6bb1780d..00000000 --- a/docs/html/node30.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -get_fmt -- Short description of the dynamic type - - - - - - - - - - - - - - - - - - - - - -

-get_fmt -- Short description of the dynamic type -

- -

-

-write(*,*) a%get_fmt()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
A short string describing the dynamic type of - the matrix. Predefined values include NULL, COO, - CSR and CSC. -
-
- -

-


- - - diff --git a/docs/html/node31.html b/docs/html/node31.html deleted file mode 100644 index 1b942045..00000000 --- a/docs/html/node31.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -is_bld, is_upd, is_asb -- Status check - - - - - - - - - - - - - - - - - - - - - -

-is_bld, is_upd, is_asb -- Status check -

- -

-

-if (a%is_bld()) then 
-if (a%is_upd()) then 
-if (a%is_asb()) then 
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
A logical value indicating whether the - matrix is in the Build, Update or Assembled state, respectively. -
-
- -

-


- - - diff --git a/docs/html/node32.html b/docs/html/node32.html deleted file mode 100644 index a515bd96..00000000 --- a/docs/html/node32.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - -is_lower, is_upper, is_triangle, is_unit -- Format check - - - - - - - - - - - - - - - - - - - - - -

-is_lower, is_upper, is_triangle, is_unit -- - Format check -

- -

-

-if (a%is_triangle()) then 
-if (a%is_upper()) then 
-if (a%is_lower()) then 
-if (a%is_unit()) then 
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
A logical value indicating whether the - matrix is triangular; if is_triangle() returns .true. - check also if it is lower, upper and with a unit (i.e. assumed) - diagonal. -
-
- -

-


- - - diff --git a/docs/html/node33.html b/docs/html/node33.html deleted file mode 100644 index 7d7e9b27..00000000 --- a/docs/html/node33.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - -cscnv -- Convert to a different storage format - - - - - - - - - - - - - - - - - - - - - -

-cscnv -- Convert to a different storage format -

- -

-

-call  a%cscnv(b,info [, type, mold, dupl])
-call  a%cscnv(info [, type, mold, dupl])
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
type
-
a string requesting a new format. -
-Type: optional. -
-
mold
-
a variable of class(psb_T_base_sparse_mat) requesting a new format. -
-Type: optional. -
-
dupl
-
an integer value specifing how to handle duplicates (see - Named Constants below) -
-
- -

-

-
On Return
-
-
-
b,a
-
A copy of a with a new storage format. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
-The mold arguments may be -employed to interface with special devices, such as GPUs and other -accelerators. - -

-


- - - diff --git a/docs/html/node34.html b/docs/html/node34.html deleted file mode 100644 index 79ac9113..00000000 --- a/docs/html/node34.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - -csclip -- Reduce to a submatrix - - - - - - - - - - - - - - - - - - - - - -

-csclip -- Reduce to a submatrix -

- -
-    call a%csclip(b,info[,&
-       & imin,imax,jmin,jmax,rscale,cscale])
-
- -

-Returns the submatrix A(imin:imax,jmin:jmax), optionally -rescaling row/col indices to the range -1:imax-imin+1,1:jmax-jmin+1. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
imin,imax,jmin,jmax
-
Minimum and maximum row and column indices. -
-Type: optional. -
-
rscale,cscale
-
Whether to rescale row/column indices. -Type: optional. -
-
-
-
On Return
-
-
-
b
-
A copy of a submatrix of a. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node35.html b/docs/html/node35.html deleted file mode 100644 index 87018a14..00000000 --- a/docs/html/node35.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -clean_zeros -- Eliminate zero coefficients - - - - - - - - - - - - - - - - - - - - - -

-clean_zeros -- Eliminate zero coefficients -

- -
-    call a%clean_zeros(info)
-
- -

-Eliminates zero coefficients in the input matrix. Note that depending -on the internal storage format, there may still be some amount of -zero padding in the output. - -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
-
-
On Return
-
-
-
a
-
The matrix a without zero coefficients. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node36.html b/docs/html/node36.html deleted file mode 100644 index 542aa3f7..00000000 --- a/docs/html/node36.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - -get_diag -- Get main diagonal - - - - - - - - - - - - - - - - - - - - - -

-get_diag -- Get main diagonal -

- -
-    call a%get_diag(d,info)
-
- -

-Returns a copy of the main diagonal. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
-
-
On Return
-
-
-
d
-
A copy of the main diagonal. -
-A one-dimensional array of the appropriate type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node37.html b/docs/html/node37.html deleted file mode 100644 index 1fc5b6e4..00000000 --- a/docs/html/node37.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - -clip_diag -- Cut out main diagonal - - - - - - - - - - - - - - - - - - - - - -

-clip_diag -- Cut out main diagonal -

- -
-    call a%clip_diag(b,info)
-
- -

-Returns a copy of a without the main diagonal. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
-
-
On Return
-
-
-
b
-
A copy of a without the main diagonal. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node38.html b/docs/html/node38.html deleted file mode 100644 index 7a7e8e5d..00000000 --- a/docs/html/node38.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - -tril -- Return the lower triangle - - - - - - - - - - - - - - - - - - - - - -

-tril -- Return the lower triangle -

- -
-    call a%tril(l,info[,&
-       & diag,imin,imax,jmin,jmax,rscale,cscale,u])
-
- -

-Returns the lower triangular part of submatrix -A(imin:imax,jmin:jmax), optionally rescaling row/col indices to -the range 1:imax-imin+1,1:jmax-jmin+1 and returing the -complementary upper triangle. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
diag
-
Include diagonals up to this one; diag=1 means the - first superdiagonal, diag=-1 means the first subdiagonal. -Default 0. -
-
imin,imax,jmin,jmax
-
Minimum and maximum row and column indices. -
-Type: optional. -
-
rscale,cscale
-
Whether to rescale row/column indices. -Type: optional. -
-
-
-
On Return
-
-
-
l
-
A copy of the lower triangle of a. -
-A variable of type psb_Tspmat_type. -
-
u
-
(optional) A copy of the upper triangle of a. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node39.html b/docs/html/node39.html deleted file mode 100644 index 30ece33f..00000000 --- a/docs/html/node39.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - -triu -- Return the upper triangle - - - - - - - - - - - - - - - - - - - - - -

-triu -- Return the upper triangle -

- -
-    call a%triu(u,info[,&
-       & diag,imin,imax,jmin,jmax,rscale,cscale,l])
-
- -

-Returns the upper triangular part of submatrix -A(imin:imax,jmin:jmax), optionally rescaling row/col indices to -the range 1:imax-imin+1,1:jmax-jmin+1, and returing the -complementary lower triangle. -

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-A variable of type psb_Tspmat_type. -
-Scope: local. -
-
diag
-
Include diagonals up to this one; diag=1 means the - first superdiagonal, diag=-1 means the first subdiagonal. -Default 0. -
-
imin,imax,jmin,jmax
-
Minimum and maximum row and column indices. -
-Type: optional. -
-
rscale,cscale
-
Whether to rescale row/column indices. -Type: optional. -
-
-
-
On Return
-
-
-
u
-
A copy of the upper triangle of a. -
-A variable of type psb_Tspmat_type. -
-
l
-
(optional) A copy of the lower triangle of a. -
-A variable of type psb_Tspmat_type. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node4.html b/docs/html/node4.html deleted file mode 100644 index 81bbea42..00000000 --- a/docs/html/node4.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - -Basic Nomenclature - - - - - - - - - - - - - - - - - - - - - -

-Basic Nomenclature -

- -

-Our computational model implies that the data allocation on the -parallel distributed memory machine is guided by the structure of the -physical model, and specifically by the discretization mesh of the -PDE. - -

-Each point of the discretization mesh will have (at least) one -associated equation/variable, and therefore one index. We say that -point $i$ depends on point $j$ if the equation for a -variable associated with $i$ contains a term in $j$, or equivalently -if $a_{ij} \ne0$. -After the partition of the discretization mesh into sub-domains -assigned to the parallel processes, -we classify the points of a given sub-domain as following. -

-
Internal.
-
An internal point of - a given domain depends only on points of the -same domain. -If all points of a domain are assigned to one -process, then a computational step (e.g., a -matrix-vector product) of the -equations associated with the internal points requires no data -items from other domains and no communications. - -

-

-
Boundary.
-
A point of -a given domain is a boundary point if it depends on points -belonging to other domains. - -

-

-
Halo.
-
A halo point for a given domain is a point belonging to -another domain such that there is a boundary point which depends -on it. Whenever performing a computational step, such as a -matrix-vector product, the values associated with halo points are -requested from other domains. A boundary point of a given -domain is usually a halo point for some other domain2; therefore -the cardinality of the boundary points set denotes the amount of data - sent to other domains. -
-
Overlap.
-
An overlap point is a boundary point assigned to -multiple domains. Any operation that involves an overlap point -has to be replicated for each assignment. -
-
-Overlap points do not usually exist in the basic data -distributions; however they are a feature of Domain Decomposition -Schwarz preconditioners which are the subject of related research -work [4,3]. - -

-We denote the sets of internal, boundary and halo points for a given -subdomain by $\cal I$, $\cal B$ and $\cal H$. -Each subdomain is assigned to one process; each process usually -owns one subdomain, although the user may choose to assign more than -one subdomain to a process. If each process $i$ owns one -subdomain, the number of rows in the local sparse matrix is - -$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert$, and the number of local columns -(i.e. those for which there exists at least one non-zero entry in the -local rows) is -$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert +\vert{\cal H}_i\vert$. - -

- -

- - - -
Figure 2: -Point classfication.
-
-\includegraphics[scale=0.65]{figures/points.eps} - -\rotatebox{-90}{\includegraphics[scale=0.65]{figures/points}} - -
-
- -

-This classification of mesh points guides the naming scheme that we -adopted in the library internals and in the data structures. We -explicitly note that “Halo” points are also often called “ghost” -points in the literature. - -

- -

- - - - diff --git a/docs/html/node40.html b/docs/html/node40.html deleted file mode 100644 index aef8c0c1..00000000 --- a/docs/html/node40.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - -psb_set_mat_default -- Set default storage format - - - - - - - - - - - - - - - - - - - - - -

-psb_set_mat_default -- Set default storage format -

- -

-

-call  psb_set_mat_default(a)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
a variable of class(psb_T_base_sparse_mat) requesting - a new default storage format. -
-Type: required. -
-
- -

-


- - - diff --git a/docs/html/node41.html b/docs/html/node41.html deleted file mode 100644 index 83caf885..00000000 --- a/docs/html/node41.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -clone -- Clone current object - - - - - - - - - - - - - - - - - - - - - -

-clone -- Clone current object -

- -

-

-call  a%clone(b,info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
a
-
the sparse matrix. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
b
-
A copy of the input object. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node42.html b/docs/html/node42.html deleted file mode 100644 index 34e452e0..00000000 --- a/docs/html/node42.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - -Named Constants - - - - - - - - - - - - - - - - - - - - -

- -
-Named Constants -

-
-
psb_dupl_ovwrt_
-
Duplicate coefficients should be overwritten - (i.e. ignore duplications) -
-
psb_dupl_add_
-
Duplicate coefficients should be added; -
-
psb_dupl_err_
-
Duplicate coefficients should trigger an error conditino -
-
psb_upd_dflt_
-
Default update strategy for matrix coefficients; -
-
psb_upd_srch_
-
Update strategy based on search into the data structure; -
-
psb_upd_perm_
-
Update strategy based on additional - permutation data (see tools routine description). -
-
- -

-


- - - diff --git a/docs/html/node43.html b/docs/html/node43.html deleted file mode 100644 index 096acda1..00000000 --- a/docs/html/node43.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - -Dense Vector Data Structure - - - - - - - - - - - - - - - - - - - - - -

- -
-Dense Vector Data Structure -

-The vdatapsb_T_vect_type data structure -encapsulates the dense vectors in a way similar to sparse matrices, -i.e. including a base type vbasedata psb_T_base_vect_type. -The user will not, in general, access the vector components directly, -but rather via the routines of sec. 6. Among other -simple things, we define here an extraction method that can be used to -get a full copy of the part of the vector stored on the local -process. - -

-The type declaration is shown in -figure 5 where T is a placeholder for the -data type and precision variants -

-
I
-
Integer; -
-
S
-
Single precision real; -
-
D
-
Double precision real; -
-
C
-
Single precision complex; -
-
Z
-
Double precision complex. -
-
-The actual data is contained in the polymorphic component v%v; -the separation between the application and the actual data is -essential for cases where it is necessary to link to data storage made -available elsewhere outside the direct control of the -compiler/application, e.g. data stored in a graphics accelerator's -private memory. - -
- - - -
Figure 5: - The PSBLAS defined data type that - contains a dense vector.
-
- -
-
-  type psb_T_base_vect_type
-    TYPE(KIND_), allocatable :: v(:)
-  end type psb_T_base_vect_type
-
-  type psb_T_vect_type
-    class(psb_T_base_vect_type), allocatable :: v 
-  end type  psb_T_vect_type
-
-
-
-
- -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node44.html b/docs/html/node44.html deleted file mode 100644 index 59a5574b..00000000 --- a/docs/html/node44.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - -Vector Methods - - - - - - - - - - - - - - - - - - - - - -

-Vector Methods -

-

- - - diff --git a/docs/html/node45.html b/docs/html/node45.html deleted file mode 100644 index 41ef895e..00000000 --- a/docs/html/node45.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -get_nrows -- Get number of rows in a dense vector - - - - - - - - - - - - - - - - - - - - - -

-get_nrows -- Get number of rows in a dense vector -

- -

-

-nr = v%get_nrows()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
v
-
the dense vector -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The number of rows of dense vector v. -
-
- -

-


- - - diff --git a/docs/html/node46.html b/docs/html/node46.html deleted file mode 100644 index 18fa65e1..00000000 --- a/docs/html/node46.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -sizeof -- Get memory occupation in bytes -of a dense vector - - - - - - - - - - - - - - - - - - - - - -

-sizeof -- Get memory occupation in bytes -of a dense vector -

- -

-

-memory_size = v%sizeof()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
v
-
the dense vector -
-Scope: local -
-
- -

-

-
On Return
-
-
-
Function value
-
The memory occupation in bytes. -
-
- -

-


- - - diff --git a/docs/html/node47.html b/docs/html/node47.html deleted file mode 100644 index 2feec7f9..00000000 --- a/docs/html/node47.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - -set -- Set contents of the vector - - - - - - - - - - - - - - - - - - - - - -

-set -- Set contents of the vector -

- -

-

- call  v%set(alpha[,first,last])
- call  v%set(vect[,first,last])
- call  v%zero()
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
v
-
the dense vector -
-Scope: local -
-
alpha
-
A scalar value. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a number of the data -type indicated in Table 1. - -

-

-
first,last
-
Boundaries for setting in the vector. -
-Scope: local -
-Type: optional -
-Intent: in. -
-Specified - as: integers. -
-
vect
-
An array -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a number of the data -type indicated in Table 1. -
-
-Note that a call to v%zero() is provided as a shorthand, but -is equivalent to a call to v%set(zero) with the zero -constant having the appropriate type and kind. - -

-

-
On Return
-
-
-
v
-
the dense vector, with updated entries -
-Scope: local -
-
- -

-


- - - diff --git a/docs/html/node48.html b/docs/html/node48.html deleted file mode 100644 index 4bc79826..00000000 --- a/docs/html/node48.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - -get_vect -- Get a copy of the vector contents - - - - - - - - - - - - - - - - - - - - - -

-get_vect -- Get a copy of the vector contents -

- -

-

-extv = v%get_vect([n])
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
v
-
the dense vector -
-Scope: local -
-
n
-
Size to be returned -
-Scope: local. -
-Type: optional; default: entire vector. -
-

-

-
- -

-

-
On Return
-
-
-
Function value
-
An allocatable array holding a copy of the dense - vector contents. If the argument $n$ is specified, the size of the - returned array equals the minimum between $n$ and the internal size - of the vector, or 0 if $n$ is negative; otherwise, the size of the - array is the same as the internal size of the vector. -
-
- -

-


- - - diff --git a/docs/html/node49.html b/docs/html/node49.html deleted file mode 100644 index 8344bc75..00000000 --- a/docs/html/node49.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - -clone -- Clone current object - - - - - - - - - - - - - - - - - - - - -

-clone -- Clone current object -

- -
-call  x%clone(y,info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
the dense vector. -
-Scope: local. -
-
- -

-

-
On Return
-
-
-
y
-
A copy of the input object. -
-
info
-
Return code. -
-
- -

-


- - - diff --git a/docs/html/node5.html b/docs/html/node5.html deleted file mode 100644 index f2b0e034..00000000 --- a/docs/html/node5.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - -Library contents - - - - - - - - - - - - - - - - - - - - - -

-Library contents -

- -

-The PSBLAS library consists of various classes of subroutines: -

-
Computational routines
-
comprising: - -
    -
  • Sparse matrix by dense matrix product; -
  • -
  • Sparse triangular -systems solution for block diagonal matrices; -
  • -
  • Vector and matrix norms; -
  • -
  • Dense matrix sums; -
  • -
  • Dot products. -
  • -
-
-
Communication routines
-
handling halo and overlap - communications; -
-
Data management and auxiliary routines
-
including: - -
    -
  • Parallel environment management -
  • -
  • Communication descriptors allocation; -
  • -
  • Dense and sparse matrix allocation; -
  • -
  • Dense and sparse matrix build and update; -
  • -
  • Sparse matrix and data distribution preprocessing. -
  • -
-
-
Preconditioner routines
-
-
-
Iterative methods
-
a subset of Krylov subspace iterative - methods -
-
-The following naming scheme has been adopted for all the symbols -internally defined in the PSBLAS software package: - -
    -
  • all symbols (i.e. subroutine names, data types...) are - prefixed by psb_ -
  • -
  • all data type names are suffixed by _type -
  • -
  • all constants are suffixed by _ -
  • -
  • all top-level subroutine names follow the rule psb_xxname where - xx can be either: - -
      -
    • ge: the routine is related to dense data, -
    • -
    • sp: the routine is related to sparse data, -
    • -
    • cd: the routine is related to communication descriptor - (see 3). - -
    • -
    - For example the psb_geins, psb_spins and - psb_cdins perform the same action (see 6) on - dense matrices, sparse matrices and communication descriptors - respectively. - Interface overloading allows the usage of the same subroutine - names for both real and complex data. -
  • -
-In the description of the subroutines, arguments or argument entries -are classified as: -
-
global
-
For input arguments, the value must be the same on all processes - participating in the subroutine call; for output arguments the value - is guaranteed to be the same. -
-
local
-
Each process has its own value(s) independently. -
-
-To finish our general description, we define a version string with the -constant -

-
- - -\begin{displaymath}\verb\vert psb_version_string_\vert\end{displaymath} -
-
-

-whose current value is 3.4.0 - -

- -

- - - - diff --git a/docs/html/node50.html b/docs/html/node50.html deleted file mode 100644 index e61abc77..00000000 --- a/docs/html/node50.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - -Preconditioner data structure - - - - - - - - - - - - - - - - - - - - - -

- -
-Preconditioner data structure -

-Our base library offers support for simple well known preconditioners -like Diagonal Scaling or Block Jacobi with incomplete -factorization ILU(0). - -

-A preconditioner is held in the precdata psb_prec_type data structure reported in -figure 6. The psb_prec_type -data type may contain a simple preconditioning matrix with the -associated communication descriptor.The internal preconditioner is allocated appropriately with the -dynamic type corresponding to the desired preconditioner. - -

- - - -
Figure 6: -The PSBLAS defined data type that contains a preconditioner.
-
- -
-
-  type psb_Tprec_type
-    class(psb_T_base_prec_type), allocatable :: prec
-  end type psb_Tprec_type
-
-
-
- -

-


- - - diff --git a/docs/html/node51.html b/docs/html/node51.html deleted file mode 100644 index 41816dcf..00000000 --- a/docs/html/node51.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - -Heap data structure - - - - - - - - - - - - - - - - - - - - -

-Heap data structure -

- -

-Among the tools routines of sec. 6, we have a number -of sorting utilities; the heap sort is implemented in terms of heaps -having the following signatures: -

-
psb_T_heap
-
: a heap containing elements of type T, where T - can be i,s,c,d,z for integer, real and complex data; -
-
psb_T_idx_heap
-
: a heap containing elements of type T, as - above, together with an integer index. -
-
-Given a heap object, the following methods are defined on it: -
-
init
-
Initialize memory; also choose ascending or descending - order; -
-
howmany
-
Current heap occupancy; -
-
insert
-
Add an item (or an item and its index); -
-
get_first
-
Remove and return the first element; -
-
dump
-
Print on file; -
-
free
-
Release memory. -
-
-These objects are used in MLD2P4 to implement the factorization -algorithms. - -

-


- - - diff --git a/docs/html/node52.html b/docs/html/node52.html deleted file mode 100644 index 1d9cf8ca..00000000 --- a/docs/html/node52.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - -Computational routines - - - - - - - - - - - - - - - - - - - - - -

-Computational routines -

- -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node53.html b/docs/html/node53.html deleted file mode 100644 index b3c9a66e..00000000 --- a/docs/html/node53.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - -psb_geaxpby -- General Dense Matrix Sum - - - - - - - - - - - - - - - - - - - - - -

-psb_geaxpby -- General Dense Matrix Sum -

- -

-This subroutine is an interface to the computational kernel for -dense matrix sum: -

-
- - -\begin{displaymath}y \leftarrow \alpha\> x+ \beta y \end{displaymath} -
-
-

- -

-

-call psb_geaxpby(alpha, x, beta, y, desc_a, info)
-
- -

-

-
- - - -
Table 1: -Data types
-
- - - - - - - - - - - - - - - - -
$x$, $y$, $\alpha$, $\beta$Subroutine
Short Precision Realpsb_geaxpby
Long Precision Realpsb_geaxpby
Short Precision Complexpsb_geaxpby
Long Precision Complexpsb_geaxpby
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
alpha
-
the scalar $\alpha$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data -type indicated in Table 1. -
-
x
-
the local portion of global dense matrix -$x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type -specified in Table 1. The rank of $x$ must be the same of $y$. -
-
beta
-
the scalar $\beta$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data type indicated in Table 1. -
-
y
-
the local portion of the global dense matrix -$y$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of the type -indicated in Table 1. The rank of $y$ must be the same of $x$. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -

-

-
- -

-

-
On Return
-
-
-
y
-
the local portion of result submatrix $y$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type containing numbers of the type -indicated in Table 1. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node54.html b/docs/html/node54.html deleted file mode 100644 index 9ab3fd9c..00000000 --- a/docs/html/node54.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - -psb_gedot -- Dot Product - - - - - - - - - - - - - - - - - - - - - -

-psb_gedot -- Dot Product -

- -

-This function computes dot product between two vectors $x$ and -$y$. -
-If $x$ and $y$ are real vectors -it computes dot-product as: -

-
- - -\begin{displaymath}dot \leftarrow x^T y\end{displaymath} -
-
-

-Else if $x$ and $y$ are complex vectors then it computes dot-product as: -

-
- - -\begin{displaymath}dot \leftarrow x^H y\end{displaymath} -
-
-

- -

-

-psb_gedot(x, y, desc_a, info [,global])
-
-

-
- - - -
Table 2: -Data types
-
- - - - - - - - - - - - - - - - -
$dot$, $x$, $y$Function
Short Precision Realpsb_gedot
Long Precision Realpsb_gedot
Short Precision Complexpsb_gedot
Long Precision Complexpsb_gedot
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 2. The rank of $x$ must be the same of $y$. -
-
y
-
the local portion of global dense matrix -$y$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 2. The rank of $y$ must be the same of $x$. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
global
-
Specifies whether the computation should include the - global reduction across all processes. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Specified as: a logical scalar. -Default: global=.true. -
-

-

-
On Return
-
-
-
Function value
-
is the dot product of vectors $x$ and $y$. -
-Scope: global unless the optional variable -global=.false. has been specified -
-Specified as: a number of the data type indicated in Table 2. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. The computation of a global result requires a global - communication, which entails a significant overhead. It may be - necessary and/or advisable to compute multiple dot products at the same - time; in this case, it is possible to improve the runtime efficiency - by using the following scheme: -
    -\begin{lstlisting}
-vres(1) = psb_gedot(x1,y1,desc_a,info,global=.false.)
-vres(...
-...,y3,desc_a,info,global=.false.)
-call psb_sum(ictxt,vres(1:3))
-\end{lstlisting} -
    -In this way the global communication, which for small sizes is a - latency-bound operation, is invoked only once. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node55.html b/docs/html/node55.html deleted file mode 100644 index 1244a8d8..00000000 --- a/docs/html/node55.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - -psb_gedots -- Generalized Dot Product - - - - - - - - - - - - - - - - - - - - - -

-psb_gedots -- Generalized Dot Product -

- -

-This subroutine computes a series of dot products among the columns of -two dense matrices $x$ and $y$: -

-
- - -\begin{displaymath}res(i) \leftarrow x(:,i)^T y(:,i)\end{displaymath} -
-
-

-If the matrices are complex, then the -usual convention applies, i.e. the conjugate transpose of $x$ is -used. If $x$ and $y$ are of rank one, then $res$ is a scalar, else it -is a rank one array. - -

-

-call psb_gedots(res, x, y, desc_a, info)
-
-

-
- - - -
Table 3: -Data types
-
- - - - - - - - - - - - - - - - -
$res$, $x$, $y$Subroutine
Short Precision Realpsb_gedots
Long Precision Realpsb_gedots
Short Precision Complexpsb_gedots
Long Precision Complexpsb_gedots
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 3. The rank of $x$ must be the same of $y$. -
-
y
-
the local portion of global dense matrix -$y$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 3. The rank of $y$ must be the same of $x$. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
On Return
-
-
-
res
-
is the dot product of vectors $x$ and $y$. -
-Scope: global -
-Intent: out. -
-Specified as: a number or a rank-one array of the data type indicated -in Table 2. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node56.html b/docs/html/node56.html deleted file mode 100644 index 7f1ecd2b..00000000 --- a/docs/html/node56.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - -psb_normi -- Infinity-Norm of Vector - - - - - - - - - - - - - - - - - - - - - -

-psb_normi -- Infinity-Norm of Vector -

- -

-This function computes - the infinity-norm of a vector $x$. -
-If $x$ is a real vector -it computes infinity norm as: -

-
- - -\begin{displaymath}amax \leftarrow \max_i \vert x_i\vert\end{displaymath} -
-
-

-else if $x$ is a complex vector then it computes the infinity-norm as: -

-
- - -\begin{displaymath}amax \leftarrow \max_i {(\vert re(x_i)\vert + \vert im(x_i)\vert)}\end{displaymath} -
-
-

- -

-

-psb_geamax(x, desc_a, info [,global])
-psb_normi(x, desc_a, info [,global])
-
- -

-

-
- - - -
Table 4: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$amax$$x$Function
Short Precision RealShort Precision Realpsb_geamax
Long Precision RealLong Precision Realpsb_geamax
Short Precision RealShort Precision Complexpsb_geamax
Long Precision RealLong Precision Complexpsb_geamax
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 4. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
global
-
Specifies whether the computation should include the - global reduction across all processes. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Specified as: a logical scalar. -Default: global=.true. -
- -

-

-
On Return
-
-
-
Function value
-
is the infinity norm of vector $x$. -
-Scope: global unless the optional variable -global=.false. has been specified -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. The computation of a global result requires a global - communication, which entails a significant overhead. It may be - necessary and/or advisable to compute multiple norms at the same - time; in this case, it is possible to improve the runtime efficiency - by using the following scheme: -
    -\begin{lstlisting}
-vres(1) = psb_geamax(x1,desc_a,info,global=.false.)
-vres(2)...
-...(x3,desc_a,info,global=.false.)
-call psb_amx(ictxt,vres(1:3))
-\end{lstlisting} -
    -In this way the global communication, which for small sizes is a - latency-bound operation, is invoked only once. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node57.html b/docs/html/node57.html deleted file mode 100644 index 60bc14e4..00000000 --- a/docs/html/node57.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - -psb_geamaxs -- Generalized Infinity Norm - - - - - - - - - - - - - - - - - - - - - -

-psb_geamaxs -- Generalized Infinity Norm -

- -

-This subroutine computes a series of infinity norms on the columns of -a dense matrix $x$: -

-
- - -\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath} -
-
-

- -

-

-call psb_geamaxs(res, x, desc_a, info)
-
- -

-

-
- - - -
Table 5: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$res$$x$Subroutine
Short Precision RealShort Precision Realpsb_geamaxs
Long Precision RealLong Precision Realpsb_geamaxs
Short Precision RealShort Precision Complexpsb_geamaxs
Long Precision RealLong Precision Complexpsb_geamaxs
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 5. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
On Return
-
-
-
res
-
is the infinity norm of the columns of $x$. -
-Scope: global -
-Intent: out. -
-Specified as: a number or a rank-one array of long precision real numbers. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node58.html b/docs/html/node58.html deleted file mode 100644 index 489a80f3..00000000 --- a/docs/html/node58.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - -psb_norm1 -- 1-Norm of Vector - - - - - - - - - - - - - - - - - - - - - -

-psb_norm1 -- 1-Norm of Vector -

- -

-This function computes the 1-norm of a vector $x$. -
-If $x$ is a real vector -it computes 1-norm as: -

-
- - -\begin{displaymath}asum \leftarrow \Vert x_i\Vert\end{displaymath} -
-
-

-else if $x$ is a complex vector then it computes 1-norm as: -

-
- - -\begin{displaymath}asum \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath} -
-
-

- -

-

-psb_geasum(x, desc_a, info [,global])
-psb_norm1(x, desc_a, info [,global])
-
- -

-

-
- - - -
Table 6: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$asum$$x$Function
Short Precision RealShort Precision Realpsb_geasum
Long Precision RealLong Precision Realpsb_geasum
Short Precision RealShort Precision Complexpsb_geasum
Long Precision RealLong Precision Complexpsb_geasum
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 6. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
global
-
Specifies whether the computation should include the - global reduction across all processes. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Specified as: a logical scalar. -Default: global=.true. -
-

-

-
On Return
-
-
-
Function value
-
is the 1-norm of vector $x$. -
-Scope: global unless the optional variable -global=.false. has been specified -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. The computation of a global result requires a global - communication, which entails a significant overhead. It may be - necessary and/or advisable to compute multiple norms at the same - time; in this case, it is possible to improve the runtime efficiency - by using the following scheme: -
    -\begin{lstlisting}
-vres(1) = psb_geasum(x1,desc_a,info,global=.false.)
-vres(2)...
-...(x3,desc_a,info,global=.false.)
-call psb_sum(ictxt,vres(1:3))
-\end{lstlisting} -
    -In this way the global communication, which for small sizes is a - latency-bound operation, is invoked only once. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node59.html b/docs/html/node59.html deleted file mode 100644 index bed7c250..00000000 --- a/docs/html/node59.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - -psb_geasums -- Generalized 1-Norm of Vector - - - - - - - - - - - - - - - - - - - - - -

-psb_geasums -- Generalized 1-Norm of Vector -

- -

-This subroutine computes a series of 1-norms on the columns of -a dense matrix $x$: -

-
- - -\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath} -
-
-

-This function computes the 1-norm of a vector $x$. -
-If $x$ is a real vector -it computes 1-norm as: -

-
- - -\begin{displaymath}res(i) \leftarrow \Vert x_i\Vert\end{displaymath} -
-
-

-else if $x$ is a complex vector then it computes 1-norm as: -

-
- - -\begin{displaymath}res(i) \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath} -
-
-

- -

-

-call psb_geasums(res, x, desc_a, info)
-
- -

-

-
- - - -
Table 7: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$res$$x$Subroutine
Short Precision RealShort Precision Realpsb_geasums
Long Precision RealLong Precision Realpsb_geasums
Short Precision RealShort Precision Complexpsb_geasums
Long Precision RealLong Precision Complexpsb_geasums
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 7. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -

-

-
On Return
-
-
-
res
-
contains the 1-norm of (the columns of) $x$. -
-Scope: global -
-Intent: out. -
-Short as: a long precision real number. -Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node6.html b/docs/html/node6.html deleted file mode 100644 index 15321ca3..00000000 --- a/docs/html/node6.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - -Application structure - - - - - - - - - - - - - - - - - - - - - -

- -
-Application structure -

- -

-The main underlying principle of the PSBLAS library is that the -library objects are created and exist with reference to a discretized -space to which there corresponds an index space and a matrix sparsity -pattern. As an example, consider a cell-centered finite-volume -discretization of the Navier-Stokes equations on a simulation domain; -the index space $1\dots n$ is isomorphic to the set of cell centers, -whereas the pattern of the associated linear system matrix is -isomorphic to the adjacency graph imposed on the discretization mesh -by the discretization stencil. - -

-Thus the first order of business is to establish an index space, and -this is done with a call to psb_cdall in which we specify the -size of the index space $n$ and the allocation of the elements of the -index space to the various processes making up the MPI (virtual) -parallel machine. - -

-The index space is partitioned among processes, and this creates a -mapping from the “global” numbering $1\dots n$ to a numbering -“local” to each process; each process $i$ will own a certain subset - -$1\dots n_{\hbox{row}_i}$, each element of which corresponds to a certain -element of $1\dots n$. The user does not set explicitly this mapping; -when the application needs to indicate to which element of the index -space a certain item is related, such as the row and column index of a -matrix coefficient, it does so in the “global” numbering, and the -library will translate into the appropriate “local” numbering. - -

-For a given index space $1\dots n$ there are many possible associated -topologies, i.e. many different discretization stencils; thus the -description of the index space is not completed until the user has -defined a sparsity pattern, either explicitly through psb_cdins -or implicitly through psb_spins. The descriptor is finalized -with a call to psb_cdasb and a sparse matrix with a call to -psb_spasb. After psb_cdasb each process $i$ will have -defined a set of “halo” (or “ghost”) indices - -$n_{\hbox{row}_i}+1\dots n_{\hbox{col}_i}$, denoting elements of the index -space that are not assigned to process $i$; however the -variables associated with them are needed to complete computations -associated with the sparse matrix $A$, and thus they have to be -fetched from (neighbouring) processes. The descriptor of the index -space is built exactly for the purpose of properly sequencing the -communication steps required to achieve this objective. - -

-A simple application structure will walk through the index space -allocation, matrix/vector creation and linear system solution as -follows: - -

    -
  1. Initialize parallel environment with psb_init -
  2. -
  3. Initialize index space with psb_cdall -
  4. -
  5. Allocate sparse matrix and dense vectors with psb_spall - and psb_geall -
  6. -
  7. Loop over all local rows, generate matrix and vector entries, - and insert them with psb_spins and psb_geins -
  8. -
  9. Assemble the various entities: - -
      -
    1. psb_cdasb -
    2. -
    3. psb_spasb -
    4. -
    5. psb_geasb -
    6. -
    -
  10. -
  11. Choose the preconditioner to be used with prec%init and - build it with prec%build3. -
  12. -
  13. Call the iterative method of choice, e.g. psb_bicgstab -
  14. -
-This is the structure of the sample programs in the directory -test/pargen/. - -

-For a simulation in which the same discretization mesh is used over -multiple time steps, the following structure may be more appropriate: - -

    -
  1. Initialize parallel environment with psb_init -
  2. -
  3. Initialize index space with psb_cdall -
  4. -
  5. Loop over the topology of the discretization mesh and build the - descriptor with psb_cdins -
  6. -
  7. Assemble the descriptor with psb_cdasb -
  8. -
  9. Allocate the sparse matrices and dense vectors with - psb_spall and psb_geall -
  10. -
  11. Loop over the time steps: - -
      -
    1. If after first time step, - reinitialize the sparse matrix with psb_sprn; also zero out - the dense vectors; -
    2. -
    3. Loop over the mesh, generate the coefficients and insert/update - them with psb_spins and psb_geins -
    4. -
    5. Assemble with psb_spasb and psb_geasb -
    6. -
    7. Choose and build preconditioner with prec%init and - prec%build -
    8. -
    9. Call the iterative method of choice, e.g. psb_bicgstab - -
    10. -
    -
  12. -
-The insertion routines will be called as many times as needed; -they only need to be called on the data that is actually -allocated to the current process, i.e. each process generates its own -data. - -

-In principle there is no specific order in the calls to -psb_spins, nor is there a requirement to build a matrix row in -its entirety before calling the routine; this allows the application -programmer to walk through the discretization mesh element by element, -generating the main part of a given matrix row but also contributions -to the rows corresponding to neighbouring elements. - -

-From a functional point of view it is even possible to execute one -call for each nonzero coefficient; however this would have a -substantial computational overhead. It is therefore advisable to pack -a certain amount of data into each call to the insertion routine, say -touching on a few tens of rows; the best performng value would depend -on both the architecture of the computer being used and on the problem -structure. -At the opposite extreme, it would be possible to generate the entire -part of a coefficient matrix residing on a process and pass it in a -single call to psb_spins; this, however, would entail a -doubling of memory occupation, and thus would be almost always far -from optimal. - -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node60.html b/docs/html/node60.html deleted file mode 100644 index 231ca72d..00000000 --- a/docs/html/node60.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - -psb_norm2 -- 2-Norm of Vector - - - - - - - - - - - - - - - - - - - - - -

-psb_norm2 -- 2-Norm of Vector -

- -

-This function computes the 2-norm of a vector $x$. -
-If $x$ is a real vector -it computes 2-norm as: -

-
- - -\begin{displaymath}nrm2 \leftarrow \sqrt{x^T x}\end{displaymath} -
-
-

-else if $x$ is a complex vector then it computes 2-norm as: -

-
- - -\begin{displaymath}nrm2 \leftarrow \sqrt{x^H x}\end{displaymath} -
-
-

- -

-

-
- - - -
Table 8: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$nrm2$$x$Function
Short Precision RealShort Precision Realpsb_genrm2
Long Precision RealLong Precision Realpsb_genrm2
Short Precision RealShort Precision Complexpsb_genrm2
Long Precision RealLong Precision Complexpsb_genrm2
-
-
-

-
- -

-

-psb_genrm2(x, desc_a, info [,global])
-psb_norm2(x, desc_a, info [,global])
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 8. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
global
-
Specifies whether the computation should include the - global reduction across all processes. -
-Scope: global -
-Type: optional. -
-Intent: in. -
-Specified as: a logical scalar. -Default: global=.true. -
- -

-

-
On Return
-
-
-
Function Value
-
is the 2-norm of vector $x$. -
-Scope: global unless the optional variable -global=.false. has been specified -
-Type: required -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. The computation of a global result requires a global - communication, which entails a significant overhead. It may be - necessary and/or advisable to compute multiple norms at the same - time; in this case, it is possible to improve the runtime efficiency - by using the following scheme: -
    -\begin{lstlisting}
-vres(1) = psb_genrm2(x1,desc_a,info,global=.false.)
-vres(2)...
-...x3,desc_a,info,global=.false.)
-call psb_nrm2(ictxt,vres(1:3))
-\end{lstlisting} -
    -In this way the global communication, which for small sizes is a - latency-bound operation, is invoked only once. -
  2. -
- -

- -

- - - - diff --git a/docs/html/node61.html b/docs/html/node61.html deleted file mode 100644 index bdbc1061..00000000 --- a/docs/html/node61.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - -psb_genrm2s -- Generalized 2-Norm of Vector - - - - - - - - - - - - - - - - - - - - - -

-psb_genrm2s -- Generalized 2-Norm of Vector -

- -

-This subroutine computes a series of 2-norms on the columns of -a dense matrix $x$: -

-
- - -\begin{displaymath}res(i) \leftarrow \Vert x(:,i)\Vert _2 \end{displaymath} -
-
-

- -

-

-call psb_genrm2s(res, x, desc_a, info)
-
- -

-

-
- - - -
Table 9: -Data types
-
- - - - - - - - - - - - - - - - - - - - - -
$res$$x$Subroutine
Short Precision RealShort Precision Realpsb_genrm2s
Long Precision RealLong Precision Realpsb_genrm2s
Short Precision RealShort Precision Complexpsb_genrm2s
Long Precision RealLong Precision Complexpsb_genrm2s
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 9. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -

-

-
On Return
-
-
-
res
-
contains the 1-norm of (the columns of) $x$. -
-Scope: global -
-Intent: out. -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node62.html b/docs/html/node62.html deleted file mode 100644 index 497fbdd5..00000000 --- a/docs/html/node62.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - -psb_norm1 -- 1-Norm of Sparse Matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_norm1 -- 1-Norm of Sparse Matrix -

- -

-This function computes the 1-norm of a matrix $A$: -
-

-

-
- - -\begin{displaymath}nrm1 \leftarrow \Vert A\Vert _1 \end{displaymath} -
-
-

-where: -
-
$A$
-
represents the global matrix $A$ -
-
- -

-

-
- - - -
Table 10: -Data types
-
- - - - - - - - - - - - - - - - -
$A$Function
Short Precision Realpsb_spnrm1
Long Precision Realpsb_spnrm1
Short Precision Complexpsb_spnrm1
Long Precision Complexpsb_spnrm1
-
-
-

-
- -

-

-psb_spnrm1(A, desc_a, info)
-psb_norm1(A, desc_a, info)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
the local portion of the global sparse matrix -$A$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type spdatapsb_Tspmat_type. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
On Return
-
-
-
Function value
-
is the 1-norm of sparse submatrix $A$. -
-Scope: global -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node63.html b/docs/html/node63.html deleted file mode 100644 index a4d42680..00000000 --- a/docs/html/node63.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - -psb_normi -- Infinity Norm of Sparse Matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_normi -- Infinity Norm of Sparse Matrix -

- -

-This function computes the infinity-norm of a matrix $A$: -
-

-

-
- - -\begin{displaymath}nrmi \leftarrow \Vert A\Vert _\infty \end{displaymath} -
-
-

-where: -
-
$A$
-
represents the global matrix $A$ -
-
- -

-

-
- - - -
Table 11: -Data types
-
- - - - - - - - - - - - - - - - -
$A$Function
Short Precision Realpsb_spnrmi
Long Precision Realpsb_spnrmi
Short Precision Complexpsb_spnrmi
Long Precision Complexpsb_spnrmi
-
-
-

-
- -

-

-psb_spnrmi(A, desc_a, info)
-psb_normi(A, desc_a, info)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
the local portion of the global sparse matrix -$A$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type spdatapsb_Tspmat_type. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
On Return
-
-
-
Function value
-
is the infinity-norm of sparse submatrix $A$. -
-Scope: global -
-Specified as: a long precision real number. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node64.html b/docs/html/node64.html deleted file mode 100644 index 12cdf45b..00000000 --- a/docs/html/node64.html +++ /dev/null @@ -1,427 +0,0 @@ - - - - - -psb_spmm -- Sparse Matrix by Dense Matrix Product - - - - - - - - - - - - - - - - - - - - - -

-psb_spmm -- Sparse Matrix by Dense Matrix - Product -

- -

-This subroutine computes the Sparse Matrix by Dense Matrix Product: - -

-
-

- - - - - - -
\begin{displaymath}
-y \leftarrow \alpha A x + \beta y
-\end{displaymath} -(1)
-

-
-
- - - - - - -
\begin{displaymath}
-y \leftarrow \alpha A^T x + \beta y
-\end{displaymath} -(2)
-

-
-
- - - - - - -
\begin{displaymath}
-y \leftarrow \alpha A^H x + \beta y
-\end{displaymath} -(3)
-

- -

-where: -

-
$x$
-
is the global dense matrix $x_{:, :}$ -
-
$y$
-
is the global dense matrix $y_{:, :}$ -
-
$A$
-
is the global sparse matrix $A$ -
-
- -

-

-
- - - -
Table 12: -Data types
-
- - - - - - - - - - - - - - - - -
$A$, $x$, $y$, $\alpha$, $\beta$Subroutine
Short Precision Realpsb_spmm
Long Precision Realpsb_spmm
Short Precision Complexpsb_spmm
Long Precision Complexpsb_spmm
-
-
-

-
- -

-

-call psb_spmm(alpha, a, x, beta, y, desc_a, info)
-call psb_spmm(alpha, a, x, beta, y,desc_a, info, &
-             & trans, work)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
alpha
-
the scalar $\alpha$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data type indicated in -Table 12. -
-
a
-
the local portion of the sparse matrix -$A$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type spdatapsb_Tspmat_type. -
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 12. The rank of $x$ must be the same of $y$. -
-
beta
-
the scalar $\beta$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data type indicated in Table 12. -
-
y
-
the local portion of global dense matrix -$y$. - -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 12. The rank of $y$ must be the same of $x$. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
trans
-
indicates what kind of operation to perform. -
-
trans = N
-
the operation is specified by equation 1 -
-
trans = T
-
the operation is specified by equation -2 -
-
trans = C
-
the operation is specified by equation -3 -
-
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: $trans = N$ -
-Specified as: a character variable. - -

-

-
work
-
work array. -
-Scope: local -
-Type: optional -
-Intent: inout. -
-Specified as: a rank one array of the same type of $x$ and $y$ with -the TARGET attribute. - -

-

-
On Return
-
-
-
y
-
the local portion of result matrix $y$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an array of rank one or two -containing numbers of type specified in -Table 12. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node65.html b/docs/html/node65.html deleted file mode 100644 index 0283a958..00000000 --- a/docs/html/node65.html +++ /dev/null @@ -1,470 +0,0 @@ - - - - - -psb_spsm -- Triangular System Solve - - - - - - - - - - - - - - - - - - - - - -

-psb_spsm -- Triangular System Solve -

- -

-This subroutine computes the Triangular System Solve: - -

-

-
- -\begin{eqnarray*}
-y &\leftarrow& \alpha T^{-1} x + \beta y\\
-y &\leftarrow& \al...
-...-H} x + \beta y\\
-y &\leftarrow& \alpha T^{-H} D x + \beta y\\
-\end{eqnarray*}
-

-

- -

-where: -

-
$x$
-
is the global dense matrix $x_{:, :}$ -
-
$y$
-
is the global dense matrix $y_{:, :}$ -
-
$T$
-
is the global sparse block triangular submatrix $T$ -
-
$D$
-
is the scaling diagonal matrix. -
-
- -

-

-call psb_spsm(alpha, t, x, beta, y, desc_a, info)
-call psb_spsm(alpha, t, x, beta, y, desc_a, info,&
-             & trans, unit, choice, diag, work)
-
- -

-

-
- - - -
Table 13: -Data types
-
- - - - - - - - - - - - - - - - -
$T$, $x$, $y$, $D$, $\alpha$, $\beta$Subroutine
Short Precision Realpsb_spsm
Long Precision Realpsb_spsm
Short Precision Complexpsb_spsm
Long Precision Complexpsb_spsm
-
-
-

-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
alpha
-
the scalar $\alpha$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data type indicated in -Table 13. -
-
t
-
the global portion of the sparse matrix -$T$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object type specified in -§ 3. -
-
x
-
the local portion of global dense matrix -$x$. - -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 13. The rank of $x$ must be the same of $y$. -
-
beta
-
the scalar $\beta$. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a number of the data type indicated in Table 13. -
-
y
-
the local portion of global dense matrix -$y$. - -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 13. The rank of $y$ must be the same of $x$. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. -
-
trans
-
specify with unitd the operation to perform. -
-
trans = 'N'
-
the operation is with no transposed matrix -
-
trans = 'T'
-
the operation is with transposed matrix. -
-
trans = 'C'
-
the operation is with conjugate transposed matrix. -
-
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: $trans = N$ -
-Specified as: a character variable. -
-
unitd
-
specify with trans the operation to perform. -
-
unitd = 'U'
-
the operation is with no scaling -
-
unitd = 'L'
-
the operation is with left scaling -
-
unitd = 'R'
-
the operation is with right scaling. -
-
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: $unitd = U$ -
-Specified as: a character variable. -
-
choice
-
specifies the update of overlap elements to be performed - on exit: -
-
-
psb_none_ -
-
-
psb_sum_ -
-
-
psb_avg_ -
-
-
psb_square_root_ -
-
-Scope: global -
-Type: optional -
-Intent: in. -
-Default: psb_avg_ -
-Specified as: an integer variable. -
-
diag
-
the diagonal scaling matrix. -
-Scope: local -
-Type: optional -
-Intent: in. -
-Default: -$diag(1) = 1 (no scaling)$ -
-Specified as: a rank one array containing numbers of the type -indicated in Table 13. -
-
work
-
a work array. -
-Scope: local -
-Type: optional -
-Intent: inout. -
-Specified as: a rank one array of the same type of $x$ with the -TARGET attribute. - -

-

-
On Return
-
-
-
y
-
the local portion of global dense matrix -$y$. - -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an array of rank one or two -containing numbers of type specified in -Table 13. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node66.html b/docs/html/node66.html deleted file mode 100644 index 7112a950..00000000 --- a/docs/html/node66.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - -psb_gemlt -- Entrywise Product - - - - - - - - - - - - - - - - - - - - - -

-psb_gemlt -- Entrywise Product -

- -

-This function computes the entrywise product between two vectors $x$ and -$y$ -

-
- - -\begin{displaymath}dot \leftarrow x(i) y(i).\end{displaymath} -
-
-

- -

-

-psb_gemlt(x, y, desc_a, info)
-
-

-
- - - -
Table 14: -Data types
- - - - - - - - - - - - - - - - -
$dot$, $x$, $y$Function
Short Precision Realpsb_gemlt
Long Precision Realpsb_gemlt
Short Precision Complexpsb_gemlt
Long Precision Complexpsb_gemlt
-
-
-

-
- -

-

-
Type:
-
Synchronous. - -
-
On Entry
-
-
-
x
-
the local portion of global dense vector - $x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type vdatapsb_T_vect_type - containing numbers of type specified in - Table 2. - -
-
y
-
the local portion of global dense vector - $y$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type vdatapsb_T_vect_type - containing numbers of type specified in - Table 2. - -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -
-
On Return
-
-
-
y
-
the local portion of result submatrix $y$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an object of type vdatapsb_T_vect_type containing numbers of the type - indicated in Table 14. - -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node67.html b/docs/html/node67.html deleted file mode 100644 index ff68685c..00000000 --- a/docs/html/node67.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - -psb_gediv -- Entrywise Division - - - - - - - - - - - - - - - - - - - - - -

-psb_gediv -- Entrywise Division -

- -

-This function computes the entrywise division between two vectors $x$ and -$y$ -

-
- - -\begin{displaymath}/ \leftarrow x(i)/y(i).\end{displaymath} -
-
-

- -

-

-psb_gediv(x, y, desc_a, info, [flag)
-
-

-
- - - -
Table 15: -Data types
- - - - - - - - - - - - - - - - -
$/$, $x$, $y$Function
Short Precision Realpsb_gediv
Long Precision Realpsb_gediv
Short Precision Complexpsb_gediv
Long Precision Complexpsb_gediv
-
-
-

-
- -

-

-
Type:
-
Synchronous. - -
-
On Entry
-
-
-
x
-
the local portion of global dense vector - $x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type vdatapsb_T_vect_type - containing numbers of type specified in - Table 2. - -
-
y
-
the local portion of global dense vector - $y$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type vdatapsb_T_vect_type - containing numbers of type specified in - Table 2. - -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -
-
flag
-
check if any of the $y(i) = 0$, and in case returns error halting the computation. -
-Scope: local -
-Type: optional - Intent: in. -
-Specified as: the logical value flag=.true. - -
-
On Return
-
-
-
x
-
the local portion of result submatrix $x$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an object of type vdatapsb_T_vect_type containing numbers of the type - indicated in Table 14. - -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node68.html b/docs/html/node68.html deleted file mode 100644 index 56b7396a..00000000 --- a/docs/html/node68.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - -psb_geinv -- Entrywise Inversion - - - - - - - - - - - - - - - - - - - - -

-psb_geinv -- Entrywise Inversion -

- -

-This function computes the entrywise inverse of a vector $x$ and puts it into -$y$ -

-
- - -\begin{displaymath}/ \leftarrow 1/x(i).\end{displaymath} -
-
-

- -

-

-psb_geinv(x, y, desc_a, info, [flag)
-
-

-
- - - -
Table 16: -Data types
- - - - - - - - - - - - - - - - -
$/$, $x$, $y$Function
Short Precision Realpsb_geinv
Long Precision Realpsb_geinv
Short Precision Complexpsb_geinv
Long Precision Complexpsb_geinv
-
-
-

-
- -

-

-
Type:
-
Synchronous. - -
-
On Entry
-
-
-
x
-
the local portion of global dense vector - $x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type vdatapsb_T_vect_type - containing numbers of type specified in - Table 2. - -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an object of type descdatapsb_desc_type. - -
-
flag
-
check if any of the $x(i) = 0$, and in case returns error halting the computation. -
-Scope: local -
-Type: optional - Intent: in. -
-Specified as: the logical value flag=.true. - -
-
On Return
-
-
-
y
-
the local portion of result submatrix $x$. -
-Scope: local -
-Type: required -
-Intent: out. -
-Specified as: an object of type vdatapsb_T_vect_type containing numbers of the type - indicated in Table 16. - -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node69.html b/docs/html/node69.html deleted file mode 100644 index dd04cb65..00000000 --- a/docs/html/node69.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - -Communication routines - - - - - - - - - - - - - - - - - - - - - -

-Communication routines -

-The routines in this chapter implement various global communication operators -on vectors associated with a discretization mesh. For auxiliary communication -routines not tied to a discretization space see 6. - -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node7.html b/docs/html/node7.html deleted file mode 100644 index 2823bee4..00000000 --- a/docs/html/node7.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -User-defined index mappings - - - - - - - - - - - - - - - - - - - - -

- -
-User-defined index mappings -

-PSBLAS supports user-defined global to local index mappings, subject -to the constraints outlined in sec. 2.3: - -
    -
  1. The set of indices owned locally must be mapped to the set - -$1\dots n_{\hbox{row}_i}$; -
  2. -
  3. The set of halo points must be mapped to the set - -$n_{\hbox{row}_i}+1\dots n_{\hbox{col}_i}$; -
  4. -
-but otherwise the mapping is arbitrary. The user application is -responsible to ensure consistency of this mapping; some errors may be -caught by the library, but this is not guaranteed. -The application structure to -support this usage is as follows: - -
    -
  1. Initialize index space with - psb_cdall(ictx,desc,info,vl=vl,lidx=lidx) passing the vectors - vl(:) containing the set of global indices owned by the - current process and lidx(:) containing the corresponding - local indices; -
  2. -
  3. Add the halo points ja(:) and their associated local - indices lidx(:) with a(some) call(s) to - psb_cdins(nz,ja,desc,info,lidx=lidx); -
  4. -
  5. Assemble the descriptor with psb_cdasb; -
  6. -
  7. Build the sparse matrices and vectors, optionally making use in - psb_spins and psb_geins of the local argument - specifying that the indices in ia, ja and irw, - respectively, are already local indices. -
  8. -
- -

-


- - - diff --git a/docs/html/node70.html b/docs/html/node70.html deleted file mode 100644 index cca8cb37..00000000 --- a/docs/html/node70.html +++ /dev/null @@ -1,633 +0,0 @@ - - - - - -psb_halo -- Halo Data Communication - - - - - - - - - - - - - - - - - - - - - -

-psb_halo -- Halo Data Communication -

- -

-These subroutines gathers the values of the halo -elements: - -

-

-
- - -\begin{displaymath}x \leftarrow x \end{displaymath} -
-
-

-where: -
-
$x$
-
is a global dense submatrix. -
-
- -

-

-
- - - -
Table 17: -Data types
-
- - - - - - - - - - - - - - - - - - - -
$\alpha$, $x$Subroutine
Integerpsb_halo
Short Precision Realpsb_halo
Long Precision Realpsb_halo
Short Precision Complexpsb_halo
Long Precision Complexpsb_halo
-
-
-

-
- -

-
-\begin{lstlisting}
-call psb_halo(x, desc_a, info)
-call psb_halo(x, desc_a, info, work, data)
-\end{lstlisting} -
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
global dense matrix $x$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 17. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
work
-
the work array. -
-Scope: local -
-Type: optional -
-Intent: inout. -
-Specified as: a rank one array of the same type of $x$. -
-
data
-
index list selector. -
-Scope: global -
-Type: optional -
-Specified as: an integer. Values:psb_comm_halo_,psb_comm_mov_, -psb_comm_ext_, default: psb_comm_halo_. Chooses the -index list on which to base the data exchange. - -

-

-
On Return
-
-
-
x
-
global dense result matrix $x$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Returned as: a rank one or two array -containing numbers of type specified in -Table 17. -
-
info
-
the local portion of result submatrix $y$. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value that contains an error code. -
-
- -
- - - -
Figure 7: -Sample discretization mesh.
-
-\includegraphics[scale=0.45]{figures/try8x8.eps} - -\includegraphics[scale=0.45]{figures/try8x8} - -
-
- -

-Usage Example -Consider the discretization mesh depicted in fig. 7, -partitioned among two processes as shown by the dashed line; the data -distribution is such that each process will own 32 entries in the -index space, with a halo made of 8 entries placed at local indices 33 -through 40. If process 0 assigns an initial value of 1 to its entries -in the $x$ vector, and process 1 assigns a value of 2, then after a -call to psb_halo the contents of the local vectors will be the -following: -
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Process 0  -Process 1
- I GLOB(I) X(I)   I GLOB(I) X(I)
- 1 1 1.0   1 33 2.0
- 2 2 1.0   2 34 2.0
- 3 3 1.0   3 35 2.0
- 4 4 1.0   4 36 2.0
- 5 5 1.0   5 37 2.0
- 6 6 1.0   6 38 2.0
- 7 7 1.0   7 39 2.0
- 8 8 1.0   8 40 2.0
- 9 9 1.0   9 41 2.0
- 10 10 1.0   10 42 2.0
- 11 11 1.0   11 43 2.0
- 12 12 1.0   12 44 2.0
- 13 13 1.0   13 45 2.0
- 14 14 1.0   14 46 2.0
- 15 15 1.0   15 47 2.0
- 16 16 1.0   16 48 2.0
- 17 17 1.0   17 49 2.0
- 18 18 1.0   18 50 2.0
- 19 19 1.0   19 51 2.0
- 20 20 1.0   20 52 2.0
-21 21 1.0   21 53 2.0
-22 22 1.0   22 54 2.0
-23 23 1.0   23 55 2.0
-24 24 1.0   24 56 2.0
-25 25 1.0   25 57 2.0
-26 26 1.0   26 58 2.0
-27 27 1.0   27 59 2.0
-28 28 1.0   28 60 2.0
-29 29 1.0   29 61 2.0
-30 30 1.0   30 62 2.0
-31 31 1.0   31 63 2.0
-32 32 1.0   32 64 2.0
-33 33 2.0   33 25 1.0
-34 34 2.0   34 26 1.0
-35 35 2.0   35 27 1.0
-36 36 2.0   36 28 1.0
-37 37 2.0   37 29 1.0
-38 38 2.0   38 30 1.0
-39 39 2.0   39 31 1.0
-40 40 2.0   40 32 1.0
-
- -

- -

- - - - diff --git a/docs/html/node71.html b/docs/html/node71.html deleted file mode 100644 index 1947ee48..00000000 --- a/docs/html/node71.html +++ /dev/null @@ -1,761 +0,0 @@ - - - - - -psb_ovrl -- Overlap Update - - - - - - - - - - - - - - - - - - - - - -

-psb_ovrl -- Overlap Update -

- -

-These subroutines applies an overlap operator to the input vector: - -

-

-
- - -\begin{displaymath}x \leftarrow Q x \end{displaymath} -
-
-

-where: -
-
$x$
-
is the global dense submatrix $x$ -
-
$Q$
-
is the overlap operator; it is the composition of two -operators $P_a$ and $P^{T}$. -
-
- -

-

-
- - - -
Table 18: -Data types
-
- - - - - - - - - - - - - - - - -
$x$Subroutine
Short Precision Realpsb_ovrl
Long Precision Realpsb_ovrl
Short Precision Complexpsb_ovrl
Long Precision Complexpsb_ovrl
-
-
-

-
- -

-
-\begin{lstlisting}
-call psb_ovrl(x, desc_a, info)
-call psb_ovrl(x, desc_a, info, update=update_type, work=work)
-\end{lstlisting} -
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
global dense matrix $x$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -containing numbers of type specified in -Table 18. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
update
-
Update operator. -
-
update = psb_none_
-
Do nothing; -
-
update = psb_add_
-
Sum overlap entries, i.e. apply $P^T$; -
-
update = psb_avg_
-
Average overlap entries, i.e. apply $P_aP^T$; -
-
-Scope: global -
-Intent: in. -
-Default: -$update\_type = psb\_avg\_ $ -
-Scope: global -
-Specified as: a integer variable. -
-
work
-
the work array. -
-Scope: local -
-Type: optional -
-Intent: inout. -
-Specified as: a one dimensional array of the same type of $x$. - -

-

-
On Return
-
-
-
x
-
global dense result matrix $x$. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: an array of rank one or two -containing numbers of type specified in -Table 18. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. If there is no overlap in the data distribution associated with - the descriptor, no operations are performed; -
  2. -
  3. The operator $P^{T}$ performs the reduction sum of overlap -elements; it is a “prolongation” operator $P^T$ that -replicates overlap elements, accounting for the physical replication -of data; -
  4. -
  5. The operator $P_a$ performs a scaling on the overlap elements by -the amount of replication; thus, when combined with the reduction -operator, it implements the average of replicated elements over all of -their instances. -
  6. -
- -

- -

- - - -
Figure 8: -Sample discretization mesh.
-
-\includegraphics[scale=0.65]{figures/try8x8_ov.eps} - -\includegraphics[scale=0.65]{figures/try8x8_ov} - -
-
- -Example of use -Consider the discretization mesh depicted in fig. 8, -partitioned among two processes as shown by the dashed lines, with an -overlap of 1 extra layer with respect to the partition of -fig. 7; the data -distribution is such that each process will own 40 entries in the -index space, with an overlap of 16 entries placed at local indices 25 -through 40; the halo will run from local index 41 through local index 48.. If process 0 assigns an initial value of 1 to its entries -in the $x$ vector, and process 1 assigns a value of 2, then after a -call to psb_ovrl with psb_avg_ and a call to -psb_halo_ the contents of the local vectors will be the -following (showing a transition among the two subdomains) - -

-
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Process 0  -Process 1
- I GLOB(I) X(I)   I GLOB(I) X(I)
- 1 1 1.0   1 33 1.5
- 2 2 1.0   2 34 1.5
- 3 3 1.0   3 35 1.5
- 4 4 1.0   4 36 1.5
- 5 5 1.0   5 37 1.5
- 6 6 1.0   6 38 1.5
- 7 7 1.0   7 39 1.5
- 8 8 1.0   8 40 1.5
- 9 9 1.0   9 41 2.0
- 10 10 1.0   10 42 2.0
- 11 11 1.0   11 43 2.0
- 12 12 1.0   12 44 2.0
- 13 13 1.0   13 45 2.0
- 14 14 1.0   14 46 2.0
- 15 15 1.0   15 47 2.0
- 16 16 1.0   16 48 2.0
- 17 17 1.0   17 49 2.0
- 18 18 1.0   18 50 2.0
- 19 19 1.0   19 51 2.0
- 20 20 1.0   20 52 2.0
- 21 21 1.0   21 53 2.0
- 22 22 1.0   22 54 2.0
- 23 23 1.0   23 55 2.0
- 24 24 1.0   24 56 2.0
- 25 25 1.5   25 57 2.0
- 26 26 1.5   26 58 2.0
- 27 27 1.5   27 59 2.0
- 28 28 1.5   28 60 2.0
- 29 29 1.5   29 61 2.0
- 30 30 1.5   30 62 2.0
- 31 31 1.5   31 63 2.0
- 32 32 1.5   32 64 2.0
- 33 33 1.5   33 25 1.5
- 34 34 1.5   34 26 1.5
- 35 35 1.5   35 27 1.5
- 36 36 1.5   36 28 1.5
- 37 37 1.5   37 29 1.5
- 38 38 1.5   38 30 1.5
- 39 39 1.5   39 31 1.5
- 40 40 1.5   40 32 1.5
- 41 41 2.0   41 17 1.0
- 42 42 2.0   42 18 1.0
- 43 43 2.0   43 19 1.0
- 44 44 2.0   44 20 1.0
- 45 45 2.0   45 21 1.0
- 46 46 2.0   46 22 1.0
- 47 47 2.0   47 23 1.0
- 48 48 2.0   48 24 1.0
-
- -

- -

- - - - diff --git a/docs/html/node72.html b/docs/html/node72.html deleted file mode 100644 index dbff365a..00000000 --- a/docs/html/node72.html +++ /dev/null @@ -1,270 +0,0 @@ - - - - - -psb_gather -- Gather Global Dense Matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_gather -- Gather Global Dense Matrix -

- -

-These subroutines collect the portions of global dense matrix -distributed over all process into one single array stored on one -process. - -

-

-
- - -\begin{displaymath}glob\_x \leftarrow collect(loc\_x_i) \end{displaymath} -
-
-

-where: -
-
$glob\_x$
-
is the global submatrix -$glob\_x_{1:m,1:n}$ -
-
$loc\_x_i$
-
is the local portion of global dense matrix on -process $i$. -
-
$collect$
-
is the collect function. -
-
- -

-

-
- - - -
Table 19: -Data types
-
- - - - - - - - - - - - - - - - - - - -
$x_i, y$Subroutine
Integerpsb_gather
Short Precision Realpsb_gather
Long Precision Realpsb_gather
Short Precision Complexpsb_gather
Long Precision Complexpsb_gather
-
-
-

-
- -

-
-\begin{lstlisting}
-call psb_gather(glob_x, loc_x, desc_a, info, root)
-call psb_gather(glob_x, loc_x, desc_a, info, root)
-\end{lstlisting} -
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
loc_x
-
the local portion of global dense matrix -$glob\_x$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type -indicated in Table 19. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
root
-
The process that holds the global copy. If $root=-1$ all - the processes will have a copy of the global vector. -
-Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: an integer variable -$-1\le root\le np-1$, default $-1$. -
-
On Return
-
-
-
glob_x
-
The array where the local parts must be gathered. -
-Scope: global -
-Type: required -
-Intent: out. -
-Specified as: a rank one or two array with the ALLOCATABLE attribute. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node73.html b/docs/html/node73.html deleted file mode 100644 index 924e3506..00000000 --- a/docs/html/node73.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - -psb_scatter -- Scatter Global Dense Matrix - - - - - - - - - - - - - - - - - - - - -

-psb_scatter -- Scatter Global Dense Matrix -

- -

-These subroutines scatters the portions of global dense matrix owned -by a process to all the processes in the processes grid. - -

-

-
- - -\begin{displaymath}loc\_x_i \leftarrow scatter(glob\_x) \end{displaymath} -
-
-

-where: -
-
$glob\_x$
-
is the global matrix -$glob\_x_{1:m,1:n}$ -
-
$loc\_x_i$
-
is the local portion of global dense matrix on -process $i$. -
-
$scatter$
-
is the scatter function. -
-
- -

-

-
- - - -
Table 20: -Data types
-
- - - - - - - - - - - - - - - - - - - -
$x_i, y$Subroutine
Integerpsb_scatter
Short Precision Realpsb_scatter
Long Precision Realpsb_scatter
Short Precision Complexpsb_scatter
Long Precision Complexpsb_scatter
-
-
-

-
- -

-
-\begin{lstlisting}
-call psb_scatter(glob_x, loc_x, desc_a, info, root, mold)
-\end{lstlisting} -
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
glob_x
-
The array that must be scattered into local pieces. -
-Scope: global -
-Type: required -
-Intent: in. -
-Specified as: a rank one or two array. -
-
desc_a
-
contains data structures for communications. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
root
-
The process that holds the global copy. If $root=-1$ all - the processes have a copy of the global vector. -
-Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: an integer variable -$-1\le root\le np-1$, default -psb_root_, i.e. process 0. -
-
mold
-
The desired dynamic type for the internal vector storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type; this is -only allowed when loc_x is of type vdatapsb_T_vect_type. -
-
On Return
-
-
-
loc_x
-
the local portion of global dense matrix -$glob\_x$. -
-Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a rank one or two ALLOCATABLE array or an object of type vdatapsb_T_vect_type containing numbers of the type -indicated in Table 20. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

- -

- - - - diff --git a/docs/html/node74.html b/docs/html/node74.html deleted file mode 100644 index 4d97a7eb..00000000 --- a/docs/html/node74.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - -Data management routines - - - - - - - - - - - - - - - - - - - - - -

- -
-Data management routines -

- -

-


- -Subsections - - - -

- - - diff --git a/docs/html/node75.html b/docs/html/node75.html deleted file mode 100644 index dc27405d..00000000 --- a/docs/html/node75.html +++ /dev/null @@ -1,450 +0,0 @@ - - - - - -psb_cdall -- Allocates a communication descriptor - - - - - - - - - - - - - - - - - - - - - -

-psb_cdall -- Allocates a communication descriptor -

- -

-

-call psb_cdall(icontxt, desc_a, info,mg=mg,parts=parts)
-call psb_cdall(icontxt, desc_a, info,vg=vg,[mg=mg,flag=flag])
-call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.false.,lidx=lidx])
-call psb_cdall(icontxt, desc_a, info,nl=nl)
-call psb_cdall(icontxt, desc_a, info,mg=mg,repl=.true.)
-
- -

-This subroutine initializes the communication descriptor associated -with an index space. One of the optional arguments -parts, vg, vl, nl or repl -must be specified, thereby choosing -the specific initialization strategy. -

-
On Entry
-
-
-
Type:
-
Synchronous. -
-
icontxt
-
the communication context. -
-Scope:global. -
-Type:required. -
-Intent: in. -
-Specified as: an integer value. -
-
vg
-
Data allocation: each index -$i\in \{1\dots mg\}$ is allocated - to process $vg(i)$. -
-Scope:global. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer array. -
-
flag
-
Specifies whether entries in $vg$ are zero- or one-based. -
-Scope:global. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer value $0,1$, default $0$. - -

-

-
mg
-
the (global) number of rows of the problem. -
-Scope:global. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer value. It is required if parts or -repl is specified, it is optional if vg is specified. -
-
parts
-
the subroutine that defines the partitioning scheme. -
-Scope:global. -
-Type:required. -
-Specified as: a subroutine. -
-
vl
-
Data allocation: the set of global indices - $vl(1:nl)$ belonging to the calling process. -
-Scope:local. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer array. -
-
nl
-
Data allocation: in a generalized block-row distribution the - number of indices belonging to the current process. -
-Scope:local. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer value. May be specified together with -vl. -
-
repl
-
Data allocation: build a replicated index space - (i.e. all processes own all indices). -
-Scope:global. -
-Type:optional. -
-Intent: in. -
-Specified as: the logical value .true. -
-
globalcheck
-
Data allocation: do global checks on the local - index lists vl -
-Scope:global. -
-Type:optional. -
-Intent: in. -
-Specified as: a logical value, default: .false. -
-
lidx
-
Data allocation: the set of local indices - $lidx(1:nl)$ to be assigned to the global indices $vl$. -
-Scope:local. -
-Type:optional. -
-Intent: in. -
-Specified as: an integer array. -
-
- -

-

-
On Return
-
-
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: out. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. One of the optional arguments parts, vg, - vl, nl or repl must be specified, thereby choosing the - initialization strategy as follows: -
    -
    parts
    -
    In this case we have a subroutine specifying the mapping - between global indices and process/local index pairs. If this - optional argument is specified, then it is mandatory to - specify the argument mg as well. - The subroutine must conform to the following interface: -
    -  interface 
    -     subroutine psb_parts(glob_index,mg,np,pv,nv)
    -       integer, intent (in)  :: glob_index,np,mg
    -       integer, intent (out) :: nv, pv(*)
    -     end subroutine psb_parts
    -  end interface
    -
    - The input arguments are: -
    -
    glob_index
    -
    The global index to be mapped; - -
    -
    np
    -
    The number of processes in the mapping; - -
    -
    mg
    -
    The total number of global rows in the mapping; - -
    -
    - The output arguments are: -
    -
    nv
    -
    The number of entries in pv; - -
    -
    pv
    -
    A vector containing the indices of the processes to - which the global index should be assigend; each entry must satisfy - -$0\le pv(i) < np$; if $nv>1$ we have an index assigned to multiple - processes, i.e. we have an overlap among the subdomains. - -
    -
    -
    -
    vg
    -
    In this case the association between an index and a process - is specified via an integer vector vg(1:mg); - each index -$i\in \{1\dots mg\}$ is assigned to process $vg(i)$. - The vector vg must be identical on all - calling processes; its entries may have the ranges $(0\dots np-1)$ - or $(1\dots np)$ according to the value of flag. - The size $mg$ may be specified via the optional argument mg; - the default is to use the entire vector vg, thus having - mg=size(vg). -
    -
    vl
    -
    In this case we are specifying the list of indices - vl(1:nl) assigned to the current process; thus, the global - problem size $mg$ is given by - the range of the aggregate of the individual vectors vl specified - in the calling processes. The size may be specified via the optional - argument nl; the default is to use the entire vector - vl, thus having nl=size(vl). - If globalcheck=.true. the subroutine will check how many - times each entry in the global index space $(1\dots mg)$ is - specified in the input lists vl, thus allowing for the - presence of overlap in the input, and checking for “orphan” - indices. If globalcheck=.false., the subroutine will not - check for overlap, and may be significantly faster, but the user - is implicitly guaranteeing that there are neither orphan nor - overlap indices. -
    -
    lidx
    -
    The optional argument lidx is available for - those cases in which the user has already established a - global-to-local mapping; if it is specified, each index in - vl(i) will be mapped to the corresponding local index - lidx(i). When specifying the argument lidx the user - would also likely employ lidx in calls to psb_cdins - and local in calls to psb_spins and psb_geins; - see also sec. 2.3.1. -
    -
    nl
    -
    If this argument is specified alone (i.e. without vl) - the result is a generalized row-block distribution in which each - process $I$ gets assigned a consecutive chunk of $N_I=nl$ global - indices. -
    -
    repl
    -
    This arguments specifies to replicate all indices on - all processes. This is a special purpose data allocation that is - useful in the construction of some multilevel preconditioners. -
    -
    -
  2. -
  3. On exit from this routine the descriptor is in the build - state. -
  4. -
  5. Calling the routine with vg or parts implies that - every process will scan the entire index space to figure out the - local indices. -
  6. -
  7. Overlapped indices are possible with both parts and - vl invocations. -
  8. -
  9. When the subroutine is invoked with vl in - conjunction with globalcheck=.true., it will perform a scan - of the index space to search for overlap or orphan indices. -
  10. -
  11. When the subroutine is invoked with vl in - conjunction with globalcheck=.false., no index space scan - will take place. Thus it is the responsibility of the user to make - sure that the indices specified in vl have neither orphans nor - overlaps; if this assumption fails, results will be - unpredictable. -
  12. -
  13. Orphan and overlap indices are - impossible by construction when the subroutine is invoked with - nl (alone), or vg. -
  14. -
- -

- -

- - - - diff --git a/docs/html/node76.html b/docs/html/node76.html deleted file mode 100644 index 46ac9253..00000000 --- a/docs/html/node76.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - -psb_cdins -- Communication descriptor insert routine - - - - - - - - - - - - - - - - - - - - - -

-psb_cdins -- Communication descriptor insert - routine -

- -

-

-call psb_cdins(nz, ia, ja, desc_a, info [,ila,jla])
-call psb_cdins(nz,ja,desc,info[,jla,mask,lidx])
-
- -

-This subroutine examines the edges of the graph associated with the -discretization mesh (and isomorphic to the sparsity pattern of a -linear system coefficient matrix), storing them as necessary into the -communication descriptor. In the first form the edges are specified as -pairs of indices $ia(i),ja(i)$; the starting index $ia(i)$ should -belong to the current process. -In the second form only the remote indices $ja(i)$ are specified. - -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
nz
-
the number of points being inserted. -
-Scope: local. -
-Type: required. -
-Intent: in. -
-Specified as: an integer value. -
-
ia
-
the indices of the starting vertex of the edges being inserted. -
-Scope: local. -
-Type: required. -
-Intent: in. -
-Specified as: an integer array of length $nz$. -
-
ja
-
the indices of the end vertex of the edges being inserted. -
-Scope: local. -
-Type: required. -
-Intent: in. -
-Specified as: an integer array of length $nz$. -
-
mask
-
Mask entries in ja, they are inserted only when the - corresponding mask entries are .true. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: a logical array of length $nz$, default .true.. -
-
lidx
-
User defined local indices for ja. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer array of length $nz$. -
-
- -

-

-
On Return
-
-
-
desc_a
-
the updated communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
ila
-
the local indices of the starting vertex of the edges being inserted. -
-Scope: local. -
-Type: optional. -
-Intent: out. -
-Specified as: an integer array of length $nz$. -
-
jla
-
the local indices of the end vertex of the edges being inserted. -
-Scope: local. -
-Type: optional. -
-Intent: out. -
-Specified as: an integer array of length $nz$. - -

-

-
-Notes - -
    -
  1. This routine may only be called if the descriptor is in the - build state; -
  2. -
  3. This routine automatically ignores edges that do not -insist on the current process, i.e. edges for which neither the starting -nor the end vertex belong to the current process. -
  4. -
  5. The second form of this routine will be useful when dealing with - user-specified index mappings; see also 2.3.1. -
  6. -
- -

- -

- - - - diff --git a/docs/html/node77.html b/docs/html/node77.html deleted file mode 100644 index 507c1f1c..00000000 --- a/docs/html/node77.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - -psb_cdasb -- Communication descriptor assembly routine - - - - - - - - - - - - - - - - - - - - - -

-psb_cdasb -- Communication descriptor assembly - routine -

- -

-

-call psb_cdasb(desc_a, info [, mold])
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
mold
-
The desired dynamic type for the internal index storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: a object of type derived from (integer) vbasedatapsb_T_base_vect_type. -
-
- -

-

-
On Return
-
-
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
-Notes - -
    -
  1. On exit from this routine the descriptor is in the assembled - state. -
  2. -
- -

-


- - - diff --git a/docs/html/node78.html b/docs/html/node78.html deleted file mode 100644 index 4319c067..00000000 --- a/docs/html/node78.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - -psb_cdcpy -- Copies a communication descriptor - - - - - - - - - - - - - - - - - - - - - -

-psb_cdcpy -- Copies a communication descriptor -

- -

-

-call psb_cdcpy(desc_in, desc_out, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc_in
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. - -

-

-
- -

-

-
On Return
-
-
-
desc_out
-
the communication descriptor copy. -
-Scope:local. -
-Type:required. -
-Intent: out. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node79.html b/docs/html/node79.html deleted file mode 100644 index 17081ee5..00000000 --- a/docs/html/node79.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - -psb_cdfree -- Frees a communication descriptor - - - - - - - - - - - - - - - - - - - - - -

-psb_cdfree -- Frees a communication descriptor -

- -

-

-call psb_cdfree(desc_a, info)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
the communication descriptor to be freed. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node8.html b/docs/html/node8.html deleted file mode 100644 index 6501ef05..00000000 --- a/docs/html/node8.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - -Programming model - - - - - - - - - - - - - - - - - - - - -

-Programming model -

- -

-The PSBLAS librarary is based on the Single Program Multiple Data -(SPMD) programming model: each process participating in the -computation performs the same actions on a chunk of data. Parallelism -is thus data-driven. - -

-Because of this structure, many subroutines coordinate their action -across the various processes, thus providing an implicit -synchronization point, and therefore must be -called simultaneously by all processes participating in the -computation. This is certainly true for the data allocation and -assembly routines, for all the computational routines and for some of -the tools routines. - -

-However there are many cases where no synchronization, and indeed no -communication among processes, is implied; for instance, all the routines in -sec. 3 are only acting on the local data structures, -and thus may be called independently. The most important case is that -of the coefficient insertion routines: since the number of -coefficients in the sparse and dense matrices varies among the -processors, and since the user is free to choose an arbitrary order in -builiding the matrix entries, these routines cannot imply a -synchronization. - -

-Throughout this user's guide each subroutine will be clearly indicated -as: -

-
Synchronous:
-
must be called simultaneously by all the - processes in the relevant communication context; -
-
Asynchronous:
-
may be called in a totally independent manner. -
-
- -

- -

- - - - diff --git a/docs/html/node80.html b/docs/html/node80.html deleted file mode 100644 index 346afbdd..00000000 --- a/docs/html/node80.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - -psb_cdbldext -- Build an extended communication descriptor - - - - - - - - - - - - - - - - - - - - - -

-psb_cdbldext -- Build an extended communication - descriptor -

- -

-

-call psb_cdbldext(a,desc_a,nl,desc_out, info, extype)
-
- -

-This subroutine builds an extended communication descriptor, based on -the input descriptor desc_a and on the stencil specified -through the input sparse matrix a. -

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
A sparse matrix -Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data type. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
nl
-
the number of additional layers desired. -
-Scope:global. -
-Type:required. -
-Intent: in. -
-Specified as: an integer value $nl\ge 0$. -
-
extype
-
the kind of estension required. -
-Scope:global. -
-Type:optional . -
-Intent: in. -
-Specified as: an integer value -psb_ovt_xhal_, psb_ovt_asov_, default: psb_ovt_xhal_ - -

-

-
- -

-

-
On Return
-
-
-
desc_out
-
the extended communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. Specifying psb_ovt_xhal_ for the extype argument - the user will obtain a descriptor for a domain partition in which - the additional layers are fetched as part of an (extended) halo; - however the index-to-process mapping is identical to that of the - base descriptor; -
  2. -
  3. Specifying psb_ovt_asov_ for the extype argument - the user will obtain a descriptor with an overlapped decomposition: - the additional layer is aggregated to the local subdomain (and thus - is an overlap), and a new halo extending beyond the last additional - layer is formed. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node81.html b/docs/html/node81.html deleted file mode 100644 index 8480c728..00000000 --- a/docs/html/node81.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - -psb_spall -- Allocates a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_spall -- Allocates a sparse matrix -

- -

-

-call psb_spall(a, desc_a, info, nnz)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
nnz
-
An estimate of the number of nonzeroes in the local - part of the assembled matrix. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: an integer value. -
-
- -

-

-
On Return
-
-
-
a
-
the matrix to be allocated. -
-Scope:local -
-Type:required -
-Intent: out. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
-Notes - -
    -
  1. On exit from this routine the sparse matrix is in the build - state. -
  2. -
  3. The descriptor may be in either the build or assembled state. -
  4. -
  5. Providing a good estimate for the number of nonzeroes $nnz$ in - the assembled matrix may substantially improve performance in the - matrix build phase, as it will reduce or eliminate the need for - (potentially multiple) data reallocations. -
  6. -
- -

-


- - - diff --git a/docs/html/node82.html b/docs/html/node82.html deleted file mode 100644 index fb0084f4..00000000 --- a/docs/html/node82.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - -psb_spins -- Insert a set of coefficients into a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_spins -- Insert a set of coefficients into a sparse - matrix -

- -

-

-call psb_spins(nz, ia, ja, val, a, desc_a, info [,local])
-call psb_spins(nr, irw, irp, ja, val, a, desc_a, info [,local])
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
nz
-
the number of coefficients to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer scalar. -
-
nr
-
the number of rows to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer scalar. -
-
irw
-
the first row to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer scalar. -
-
ia
-
the row indices of the coefficients to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer array of size $nz$. -
-
irp
-
the row pointers of the coefficients to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer array of size $nr+1$. -
-
ja
-
the column indices of the coefficients to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer array of size $nz$. -
-
val
-
the coefficients to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an array of size $nz$. Must be of the same type and kind -of the coefficients of the sparse matrix $a$. -
-
desc_a
-
The communication descriptor. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: a variable of type descdatapsb_desc_type. -
-
local
-
Whether the entries in the indices vectors ia, - ja are already in local numbering. -
-Scope:local. -
-Type:optional. -
-Specified as: a logical value; default: .false.. - -

-

-
- -

-

-
On Return
-
-
-
a
-
the matrix into which coefficients will be inserted. -
-Scope:local -
-Type:required -
-Intent: inout. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
desc_a
-
The communication descriptor. -
-Scope: local. -
-Type: required. -
-Intent: inout. -
-Specified as: a variable of type descdatapsb_desc_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. On entry to this routine the descriptor may be in either the - build or assembled state. -
  2. -
  3. On entry to this routine the sparse matrix may be in either the - build or update state. -
  4. -
  5. If the descriptor is in the build state, then the sparse matrix - must also be in the build state; the action of the routine is to - (implicitly) call psb_cdins to add entries to the sparsity - pattern; each sparse matrix entry implicitly defines a graph edge, - that is passed to the descriptor routine for the appropriate - processing; -
  6. -
  7. The input data can be passed in either COO or CSR formats; -
  8. -
  9. In COO format the coefficients to be inserted are represented by - the ordered triples -$ia(i),ja(i),val(i)$, for $i=1,\dots,nz$; - these triples should belong to the current process, i.e. $ia(i)$ - should be one of the local indices, but are otherwise arbitrary; -
  10. -
  11. In CSR format the coefficients to be inserted for each input row $i=1,nr$ - are represented by the ordered triples -$(i+irw-1),ja(j),val(j)$, for - -$j=irp(i),\dots,irp(i+1)-1$; - these triples should belong to the current process, i.e. $i+irw-1$ - should be one of the local indices, but are otherwise arbitrary; -
  12. -
  13. There is no requirement that a given row must be passed in its - entirety to a single call to this routine: the buildup of a row - may be split into as many calls as desired (even in the CSR format); -
  14. -
  15. Coefficients from different rows may also be mixed up freely - in a single call, according to the application needs; -
  16. -
  17. Any coefficients from matrix rows not owned by the calling - process are silently ignored; -
  18. -
  19. If the descriptor is in the assembled state, then any entries in - the sparse matrix that would generate additional communication - requirements are ignored; -
  20. -
  21. If the matrix is in the update state, any entries in positions - that were not present in the original matrix are ignored. -
  22. -
- -

- -

- - - - diff --git a/docs/html/node83.html b/docs/html/node83.html deleted file mode 100644 index b44e3675..00000000 --- a/docs/html/node83.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - -psb_spasb -- Sparse matrix assembly routine - - - - - - - - - - - - - - - - - - - - - -

-psb_spasb -- Sparse matrix assembly routine -

- -

-

-call psb_spasb(a, desc_a, info, afmt, upd, dupl, mold)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
afmt
-
the storage format for the sparse matrix. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an array of characters. Defalt: 'CSR'. -
-
upd
-
Provide for updates to the matrix coefficients. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: integer, possible values: psb_upd_srch_, psb_upd_perm_ -
-
dupl
-
How to handle duplicate coefficients. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: integer, possible values: psb_dupl_ovwrt_, -psb_dupl_add_, psb_dupl_err_. -
-
mold
-
The desired dynamic type for the internal matrix storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from spbasedatapsb_T_base_sparse_mat. -
-
- -

-

-
On Return
-
-
-
a
-
the matrix to be assembled. -
-Scope:local -
-Type:required -
-Intent: inout. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. On entry to this routine the descriptor must be in the - assembled state, i.e. psb_cdasb must already have been called. -
  2. -
  3. The sparse matrix may be in either the build or update state; -
  4. -
  5. Duplicate entries are detected and handled in both build and - update state, with the exception of the error action that is only - taken in the build state, i.e. on the first assembly; -
  6. -
  7. If the update choice is psb_upd_perm_, then subsequent - calls to psb_spins to update the matrix must be arranged in - such a way as to produce exactly the same sequence of coefficient - values as encountered at the first assembly; -
  8. -
  9. The output storage format need not be the same on all - processes; -
  10. -
  11. On exit from this routine the matrix is in the assembled state, - and thus is suitable for the computational routines. -
  12. -
- -

- -

- - - - diff --git a/docs/html/node84.html b/docs/html/node84.html deleted file mode 100644 index 2ae76326..00000000 --- a/docs/html/node84.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - -psb_spfree -- Frees a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_spfree -- Frees a sparse matrix -

- -

-

-call psb_spfree(a, desc_a, info)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
the matrix to be freed. -
-Scope:local -
-Type:required -
-Intent: inout. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node85.html b/docs/html/node85.html deleted file mode 100644 index 199f1af9..00000000 --- a/docs/html/node85.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - -psb_sprn -- Reinit sparse matrix structure for psblas routines. - - - - - - - - - - - - - - - - - - - - - -

-psb_sprn -- Reinit sparse matrix structure for psblas - routines. -

- -

-

-call psb_sprn(a, decsc_a, info, clear)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
a
-
the matrix to be reinitialized. -
-Scope:local -
-Type:required -
-Intent: inout. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
clear
-
Choose whether to zero out matrix coefficients -
-Scope:local. -
-Type:optional. -
-Intent: in. -
-Default: true. -
-
- -

-

-
On Return
-
-
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
-Notes - -
    -
  1. On exit from this routine the sparse matrix is in the update - state. -
  2. -
- -

-


- - - diff --git a/docs/html/node86.html b/docs/html/node86.html deleted file mode 100644 index 72ad8bf6..00000000 --- a/docs/html/node86.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - -psb_geall -- Allocates a dense matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_geall -- Allocates a dense matrix -

- -

-

-call psb_geall(x, desc_a, info, n, lb)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
The communication descriptor. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a variable of type descdatapsb_desc_type. -
-
n
-
The number of columns of the dense matrix to be allocated. -
-Scope: local -
-Type: optional -
-Intent: in. -
-Specified as: Integer scalar, default $1$. It is not a valid argument if $x$ is a -rank-1 array. -
-
lb
-
The lower bound for the column index range of the dense matrix to be allocated. -
-Scope: local -
-Type: optional -
-Intent: in. -
-Specified as: Integer scalar, default $1$. It is not a valid argument if $x$ is a -rank-1 array. -
-
- -

-

-
On Return
-
-
-
x
-
The dense matrix to be allocated. -
-Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a rank one or two array with the ALLOCATABLE attribute -or an object of type vdatapsb_T_vect_type, of type real, complex or integer. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node87.html b/docs/html/node87.html deleted file mode 100644 index 7e7dff18..00000000 --- a/docs/html/node87.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - -psb_geins -- Dense matrix insertion routine - - - - - - - - - - - - - - - - - - - - - -

-psb_geins -- Dense matrix insertion routine -

- -

-

-call psb_geins(m, irw, val, x, desc_a, info [,dupl,local])
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
m
-
Number of rows in $val$ to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer value. -
-
irw
-
Indices of the rows to be inserted. Specifically, row $i$ - of $val$ will be inserted into the local row corresponding to the - global row index $irw(i)$. -Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: an integer array. -
-
val
-
the dense submatrix to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a rank 1 or 2 array. -Specified as: an integer value. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
dupl
-
How to handle duplicate coefficients. -
-Scope: global. -
-Type: optional. -
-Intent: in. -
-Specified as: integer, possible values: psb_dupl_ovwrt_, -psb_dupl_add_. -
-
local
-
Whether the entries in the index vector irw, - are already in local numbering. -
-Scope:local. -
-Type:optional. -
-Specified as: a logical value; default: .false.. - -

-

-
- -

-

-
On Return
-
-
-
x
-
the output dense matrix. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array or an object of type vdatapsb_T_vect_type, of -type real, complex or integer. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. Dense vectors/matrices do not have an associated state; -
  2. -
  3. Duplicate entries are either overwritten or added, there is no - provision for raising an error condition. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node88.html b/docs/html/node88.html deleted file mode 100644 index 705998d9..00000000 --- a/docs/html/node88.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - -psb_geasb -- Assembly a dense matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_geasb -- Assembly a dense matrix -

- -

-

-call psb_geasb(x, desc_a, info, mold)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
desc_a
-
The communication descriptor. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a variable of type descdatapsb_desc_type. -
-
mold
-
The desired dynamic type for the internal vector storage. -
-Scope: local. -
-Type: optional. -
-Intent: in. -
-Specified as: an object of a class derived from vbasedatapsb_T_base_vect_type; this is -only allowed when $x$ is of type vdatapsb_T_vect_type. -
-
- -

-

-
On Return
-
-
-
x
-
The dense matrix to be assembled. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array with the ALLOCATABLE or an -object of type vdatapsb_T_vect_type, of type real, complex or integer. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
-

- - - diff --git a/docs/html/node89.html b/docs/html/node89.html deleted file mode 100644 index 48f987c1..00000000 --- a/docs/html/node89.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - -psb_gefree -- Frees a dense matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_gefree -- Frees a dense matrix -

- -

-

-call psb_gefree(x, desc_a, info)
-
- -

-

-
Type:
-
Synchronous. -
-
On Entry
-
-
-
x
-
The dense matrix to - be freed. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a rank one or two array with the ALLOCATABLE or an -object of type vdatapsb_T_vect_type, of type real, complex or integer. -
-

-

-
desc_a
-
The communication descriptor. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a variable of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node9.html b/docs/html/node9.html deleted file mode 100644 index 7e75eada..00000000 --- a/docs/html/node9.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - -Data Structures and Classes - - - - - - - - - - - - - - - - - - - - - -

- -
-Data Structures and Classes -

- -

-In this chapter we illustrate the data structures used for definition of -routines interfaces. They include data structures for sparse matrices, -communication descriptors and preconditioners. -

-All the data types and the basic subroutine interfaces related to -descriptors and sparse matrices are defined in -the module psb_base_mod; this will have to be included by every -user subroutine that makes use of the library. The preconditioners are -defined in the module psb_prec_mod - -

-Integer, real and complex data types are parametrized with a kind type -defined in the library as follows: -

-
psb_spk_
-
Kind parameter for short precision real and complex - data; corresponds to a REAL declaration and is - normally 4 bytes; -
-
psb_dpk_
-
Kind parameter for long precision real and complex - data; corresponds to a DOUBLE PRECISION declaration and is - normally 8 bytes; -
-
psb_mpk_
-
Kind parameter for 4-bytes integer data, as is - always used by MPI; -
-
psb_epk_
-
Kind parameter for 8-bytes integer data, as is - always used by the sizeof methods; -
-
psb_ipk_
-
Kind parameter for “local” integer indices and data; - with default build options this is a 4 bytes integer; -
-
psb_lpk_
-
Kind parameter for “global” integer indices and data; - with default build options this is an 8 bytes integer; -
-
-The integer kinds for local and global indices can be chosen at -configure time to hold 4 or 8 bytes, with the global indices at least -as large as the local ones. -Together with the classes attributes we also discuss their -methods. Most methods detailed here only act on the local variable, -i.e. their action is purely local and asynchronous unless otherwise -stated. -The list of methods here is not completely exhaustive; many methods, -especially those that alter the contents of the various objects, are -usually not needed by the end-user, and therefore are described in the -developer's documentation. - -

-


- -Subsections - - - - - - - - - diff --git a/docs/html/node90.html b/docs/html/node90.html deleted file mode 100644 index 9de2f117..00000000 --- a/docs/html/node90.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - -psb_gelp -- Applies a left permutation to a dense matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_gelp -- Applies a left permutation to a dense - matrix -

- -

-

-call psb_gelp(trans, iperm, x, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
trans
-
A character that specifies whether to permute $A$ or $A^T$. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a single character with value 'N' for $A$ or 'T' for $A^T$. -
-
iperm
-
An integer array containing permutation information. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: an integer one-dimensional array. -
-
x
-
The dense matrix to be permuted. -
-Scope: local -
-Type: required -
-Intent: inout. -
-Specified as: a one or two dimensional array. -
-
- -

-

-
On Return
-
-
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node91.html b/docs/html/node91.html deleted file mode 100644 index 05365418..00000000 --- a/docs/html/node91.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - -psb_glob_to_loc -- Global to local indices convertion - - - - - - - - - - - - - - - - - - - - - -

-psb_glob_to_loc -- Global to local indices - convertion -

- -

-

-call psb_glob_to_loc(x, y, desc_a, info, iact,owned)
-call psb_glob_to_loc(x, desc_a, info, iact,owned)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
An integer vector of indices to be converted. -
-Scope: local -
-Type: required -
-Intent: in, inout. -
-Specified as: a rank one integer array. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
iact
-
specifies action to be taken in case of range errors. -Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: a character variable Ignore, Warning or -Abort, default Ignore. -
-
owned
-
Specfies valid range of input -Scope: global -
-Type: optional -
-Intent: in. -
-If true, then only indices strictly owned by the current process are -considered valid, if false then halo indices are also -accepted. Default: false. -
-
- -

-

-
On Return
-
-
-
x
-
If $y$ is not present, - then $x$ is overwritten with the translated integer indices. -Scope: global -
-Type: required -
-Intent: inout. -
-Specified as: a rank one integer array. -
-
y
-
If $y$ is present, - then $y$ is overwritten with the translated integer indices, and $x$ - is left unchanged. -Scope: global -
-Type: optional -
-Intent: out. -
-Specified as: a rank one integer array. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. If an input index is out of range, then the corresponding output - index is set to a negative number; -
  2. -
  3. The default Ignore means that the negative output is the - only action taken on an out-of-range input. -
  4. -
- -

- -

- - - - diff --git a/docs/html/node92.html b/docs/html/node92.html deleted file mode 100644 index 666b0bf5..00000000 --- a/docs/html/node92.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - -psb_loc_to_glob -- Local to global indices conversion - - - - - - - - - - - - - - - - - - - - - -

-psb_loc_to_glob -- Local to global indices - conversion -

- -

-

-call psb_loc_to_glob(x, y, desc_a, info, iact)
-call psb_loc_to_glob(x, desc_a, info, iact)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
An integer vector of indices to be converted. -
-Scope: local -
-Type: required -
-Intent: in, inout. -
-Specified as: a rank one integer array. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
iact
-
specifies action to be taken in case of range errors. -Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: a character variable Ignore, Warning or -Abort, default Ignore. -
-
- -

-

-
On Return
-
-
-
x
-
If $y$ is not present, - then $x$ is overwritten with the translated integer indices. -Scope: global -
-Type: required -
-Intent: inout. -
-Specified as: a rank one integer array. -
-
y
-
If $y$ is not present, - then $y$ is overwritten with the translated integer indices, and $x$ - is left unchanged. -Scope: global -
-Type: optional -
-Intent: out. -
-Specified as: a rank one integer array. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-


- - - diff --git a/docs/html/node93.html b/docs/html/node93.html deleted file mode 100644 index 133899aa..00000000 --- a/docs/html/node93.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -psb_is_owned -- - - - - - - - - - - - - - - - - - - - - - -

-psb_is_owned -- -

- -

-

-call psb_is_owned(x, desc_a)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
Integer index. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a scalar integer. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
Function value
-
A logical mask which is true if - $x$ is owned by the current process -Scope: local -
-Type: required -
-Intent: out. -
-
- -

-Notes - -

    -
  1. This routine returns a .true. value for an index - that is strictly owned by the current process, excluding the halo - indices -
  2. -
- -

-


- - - diff --git a/docs/html/node94.html b/docs/html/node94.html deleted file mode 100644 index 56bfb76f..00000000 --- a/docs/html/node94.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - -psb_owned_index -- - - - - - - - - - - - - - - - - - - - - - -

-psb_owned_index -- -

- -

-

-call psb_owned_index(y, x, desc_a, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
Integer indices. -
-Scope: local -
-Type: required -
-Intent: in, inout. -
-Specified as: a scalar or a rank one integer array. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
iact
-
specifies action to be taken in case of range errors. -Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: a character variable Ignore, Warning or -Abort, default Ignore. -
-
- -

-

-
On Return
-
-
-
y
-
A logical mask which is true for all corresponding entries of - $x$ that are owned by the current process -Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a scalar or rank one logical array. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. This routine returns a .true. value for those indices - that are strictly owned by the current process, excluding the halo - indices -
  2. -
- -

-


- - - diff --git a/docs/html/node95.html b/docs/html/node95.html deleted file mode 100644 index 79dba935..00000000 --- a/docs/html/node95.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -psb_is_local -- - - - - - - - - - - - - - - - - - - - - - -

-psb_is_local -- -

- -

-

-call psb_is_local(x, desc_a)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
Integer index. -
-Scope: local -
-Type: required -
-Intent: in. -
-Specified as: a scalar integer. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
Function value
-
A logical mask which is true if - $x$ is local to the current process -Scope: local -
-Type: required -
-Intent: out. -
-
- -

-Notes - -

    -
  1. This routine returns a .true. value for an index - that is local to the current process, including the halo - indices -
  2. -
- -

-


- - - diff --git a/docs/html/node96.html b/docs/html/node96.html deleted file mode 100644 index d7e2ac97..00000000 --- a/docs/html/node96.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - -psb_local_index -- - - - - - - - - - - - - - - - - - - - - - -

-psb_local_index -- -

- -

-

-call psb_local_index(y, x, desc_a, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
x
-
Integer indices. -
-Scope: local -
-Type: required -
-Intent: in, inout. -
-Specified as: a scalar or a rank one integer array. -
-
desc_a
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
iact
-
specifies action to be taken in case of range errors. -Scope: global -
-Type: optional -
-Intent: in. -
-Specified as: a character variable Ignore, Warning or -Abort, default Ignore. -
-
- -

-

-
On Return
-
-
-
y
-
A logical mask which is true for all corresponding entries of - $x$ that are local to the current process -Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a scalar or rank one logical array. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. This routine returns a .true. value for those indices - that are local to the current process, including the halo - indices. -
  2. -
- -

-


- - - diff --git a/docs/html/node97.html b/docs/html/node97.html deleted file mode 100644 index 184f952e..00000000 --- a/docs/html/node97.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - -psb_get_boundary -- Extract list of boundary elements - - - - - - - - - - - - - - - - - - - - - -

-psb_get_boundary -- Extract list of boundary - elements -

- -

-

-call psb_get_boundary(bndel, desc, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
bndel
-
The list of boundary elements on the calling process, in - local numbering. -
-Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a rank one array with the ALLOCATABLE -attribute, of type integer. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. If there are no boundary elements (i.e., if the local part of - the connectivity graph is self-contained) the output vector is set - to the “not allocated” state. -
  2. -
  3. Otherwise the size of bndel will be exactly equal to the - number of boundary elements. -
  4. -
- -

-


- - - diff --git a/docs/html/node98.html b/docs/html/node98.html deleted file mode 100644 index 4f8e6938..00000000 --- a/docs/html/node98.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - -psb_get_overlap -- Extract list of overlap elements - - - - - - - - - - - - - - - - - - - - - -

-psb_get_overlap -- Extract list of overlap - elements -

- -

-

-call psb_get_overlap(ovrel, desc, info)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
desc
-
the communication descriptor. -
-Scope:local. -
-Type:required. -
-Intent: in. -
-Specified as: a structured data of type descdatapsb_desc_type. -
-
- -

-

-
On Return
-
-
-
ovrel
-
The list of overlap elements on the calling process, in - local numbering. -
-Scope: local -
-Type: required -
-Intent: out. -
-Specified as: a rank one array with the ALLOCATABLE -attribute, of type integer. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. If there are no overlap elements the output vector is set - to the “not allocated” state. -
  2. -
  3. Otherwise the size of ovrel will be exactly equal to the - number of overlap elements. -
  4. -
- -

-


- - - diff --git a/docs/html/node99.html b/docs/html/node99.html deleted file mode 100644 index 57f6c73e..00000000 --- a/docs/html/node99.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - -psb_sp_getrow -- Extract row(s) from a sparse matrix - - - - - - - - - - - - - - - - - - - - - -

-psb_sp_getrow -- Extract row(s) from a sparse - matrix -

- -

-

-call psb_sp_getrow(row, a, nz, ia, ja, val, info, &
-              & append, nzin, lrw)
-
- -

-

-
Type:
-
Asynchronous. -
-
On Entry
-
-
-
row
-
The (first) row to be extracted. -
-Scope:local -
-Type:required -
-Intent: in. -
-Specified as: an integer $>0$. -
-
a
-
the matrix from which to get rows. -
-Scope:local -
-Type:required -
-Intent: in. -
-Specified as: a structured data of type spdatapsb_Tspmat_type. -
-
append
-
Whether to append or overwrite existing output. -
-Scope:local -
-Type:optional -
-Intent: in. -
-Specified as: a logical value default: false (overwrite). -
-
nzin
-
Input size to be appended to. -
-Scope:local -
-Type:optional -
-Intent: in. -
-Specified as: an integer $>0$. When append is true, specifies how many -entries in the output vectors are already filled. -
-
lrw
-
The last row to be extracted. -
-Scope:local -
-Type:optional -
-Intent: in. -
-Specified as: an integer $>0$, default: $row$. - -

-

-
- -

-

-
On Return
-
-
-
nz
-
the number of elements returned by this call. -
-Scope:local. -
-Type:required. -
-Intent: out. -
-Returned as: an integer scalar. -
-
ia
-
the row indices. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: an integer array with the ALLOCATABLE attribute. -
-
ja
-
the column indices of the elements to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: an integer array with the ALLOCATABLE attribute. -
-
val
-
the elements to be inserted. -
-Scope:local. -
-Type:required. -
-Intent: inout. -
-Specified as: a real array with the ALLOCATABLE attribute. -
-
info
-
Error code. -
-Scope: local -
-Type: required -
-Intent: out. -
-An integer value; 0 means no error has been detected. -
-
- -

-Notes - -

    -
  1. The output $nz$ is always the size of the output generated by - the current call; thus, if append=.true., the total output - size will be $nzin+nz$, with the newly extracted coefficients stored in - entries nzin+1:nzin+nz of the array arguments; -
  2. -
  3. When append=.true. the output arrays are reallocated as - necessary; -
  4. -
  5. The row and column indices are returned in the local numbering - scheme; if the global numbering is desired, the user may employ the - psb_loc_to_glob routine on the output. -
  6. -
- -

- -

- - - - diff --git a/docs/html/prev.png b/docs/html/prev.png deleted file mode 100644 index e60b8b4073572dcd83b07c60b082ea6e2ba394c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmV+y0qFjTP)fWJ4@hJr9=)Yx5|PDs2VC9?nk002ovPDHLkV1i^Ya=-up diff --git a/docs/html/prev_g.png b/docs/html/prev_g.png deleted file mode 100644 index 476d9568c900e2ada6c2019b67eeee166a5f1288..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 327 zcmV-N0l5B&P)18~ zIpil5yY|hg&aw;rvXQ~olHp&x|G5Aw{ug* Z|8M28X+2RX!WaMm002ovPDHLkV1gF^iYx#C diff --git a/docs/html/up.png b/docs/html/up.png deleted file mode 100644 index 3937e168f44bc997766dbe3b9383bd1db44f094d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)h#LU3J`0lmo0U(Dbz$e6Y|Ni~?`T5VEKaXZ$ zILr2UCs3TRB*-tA!Qt7BG$5zc)5S5QVoq$YAz!lrkL&!DV=`*aVJGv=2TrrsUKR?`=XF~0x$5q(BOL&qeQ?X^G$FnGH9 KxvX2RVNRAoooEaAn8>@(e1sRI!V#<^f)p#-WVQt^!{}{R!<_yH~7!&%|GmpxjXG& eckJV{U(78Bbom$-1qlM(%HZkh=d#Wzp$Pz8Iac=o diff --git a/docs/html/userhtml.css b/docs/html/userhtml.css deleted file mode 100644 index d1824aff..00000000 --- a/docs/html/userhtml.css +++ /dev/null @@ -1,30 +0,0 @@ -/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */ -.MATH { font-family: "Century Schoolbook", serif; } -.MATH I { font-family: "Century Schoolbook", serif; font-style: italic } -.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold } - -/* implement both fixed-size and relative sizes */ -SMALL.XTINY { font-size : xx-small } -SMALL.TINY { font-size : x-small } -SMALL.SCRIPTSIZE { font-size : smaller } -SMALL.FOOTNOTESIZE { font-size : small } -SMALL.SMALL { } -BIG.LARGE { } -BIG.XLARGE { font-size : large } -BIG.XXLARGE { font-size : x-large } -BIG.HUGE { font-size : larger } -BIG.XHUGE { font-size : xx-large } - -/* heading styles */ -H1 { } -H2 { } -H3 { } -H4 { } -H5 { } - -/* mathematics styles */ -DIV.displaymath { } /* math displays */ -TD.eqno { } /* equation-number cells */ - - -/* document-specific styles come next */ diff --git a/docs/html/userhtml.html b/docs/html/userhtml.html deleted file mode 100644 index cccebd92..00000000 --- a/docs/html/userhtml.html +++ /dev/null @@ -1,414 +0,0 @@ - - - - - -userhtml - - - - - - - - - - - - - - - - - -language=Fortran - -

-PSBLAS -
-
-User's and Reference - Guide
-
A reference guide for the Parallel Sparse BLAS library -
-
-
-
Salvatore Filippone -
-Alfredo Buttari
-
-Software version: 3.6.0 -
-Dec 1st, 2018 - -


- - - - - -

- - -