1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987
|
2021-12-10 v1.7.0
* new polynomial matrix API
* new FFT code for polynomial matrices
* Dixon solver refactorization
* more examples for rational solutions
* cleanup of BlasMatrixDomain with minor API changes
* update wrt Givaro's new randiter API
* many bug fixes
2019-06-07 v1.6.3
Minor update:
* fix test-suite failures when compiling in builddir!=srcdir
* improve jenkins builder script
* add README.md and other missing files in distribution
2019-05-10 v1.6.0
Major code refactorization:
* solve solution
* echelon form code
* prime generators
* Smith form via Valence
* MPI serialization and communicators
Improvements:
* many bug fixes
* new hadamard bound solutions
* removal of the obsolete sage-interface
* update and new polynomial matrix classes and API with Givaro
* MPI based chinese remaindering applied to solve
* broader testsuite
2017-12-08 v1.5.2
Improvements:
* minor bug fixes (missing config.h file, and SIMD macros)
* documentation build fixes
2017-11-22 v1.5.1
Improvements:
* minor bug fixes in the build system and autoinstall
2017-11-17 v1.5.0
Improvements:
* improved build system (instruction set detection, C++11 and clang compatibility, ...)
* many bug fixes
* increased test-suite coverage
Changes in API:
* new PolynomialRing and DensePolynomial classes, and update interraction with Givaro and FFLAS
2016-07-30 cpernet v1.4.2
* cleanup and new features on polynomial matrices
* many bug fixes ensuring support of gcc-4.8, 5.3, 6.1 clang-3.4 and
icpc on i386, x86_64, ubuntu osx, fedora and ppcle
2016-02-24 cpernet v1.4.1
* update the build system (add pkgconfig file, and a more consistent way
of dealing with dependencies)
* fix all remaining issues for the integration in SageMath
2016-02-24 cpernet
* move almost all finite fields to givaro
* cleanup dead code
* many bug fixes
* change in some parts of the API
* improved order basis computations
2011-03-10 briceboyer
* Implement DublinBox Mother model for dense matrices (BlasM* own, BlasS* share)
* Change BlasSubmatrix private members (and add one to make Iterators faster)
* Change <> includes to "" so I have no surprise when the compiler looks them in a non expected place
* add a const in Field Categories for a weird bug...
* RawIterators are renamed to Iterators (impossible to pronounce, easy to misspell)
* add functions to blas-domain and blas-matrix
2011-24-09 briceboyer
* replace DenseMatrix(Base) by Blas(Matrix/Blackbox)
* put these classes (and DenseSubmatrix) in a Protected namespace (users will be warned...)
* update Blas(Mat/Bb) interface
* clean DenseMatrix(Base) from LinBox
* Delete BlasTag (use LinBoxTag class instead, avoids branching)
* Update to Givaro gcd new clean intefarce
* Update to one/zero in (some) Fflas-Ffpack fields
* Rename Flaflas to more serious FFLAS-FFPACK
* Minor updates in some classes.
* martin albretch patch to update linbox-sage.h
* M4RI checks
* Ekopath (pathscale) checks
2011-05-11 briceboyer
linbox-1.2.0 released:
* Many many bug fixes, many memleaks, much code beautify.
* Licence/copyright added to (hopefully) every file.
* Vi/emacs magic lines for auto-indentation.
* Some documentation added + improved Doxygen framework (dev/user
documentation, more *.doxy items, bug/todo list, bibliography list)
* Upgrade to givaro 3.4.0 series ( new namespace, new API for integer
operations, a few new functions (naturallog...) )
* Upgrade to fflas-ffpack 1.4.0 (new namespace, new includes)
* Some initial work introduced here and there (matrix permutation
representations, symbolic/numeric solver, sparse matrix
representation...)
* CRA algorithms reworked and tested, some added.
* Timer moved to Givaro
* Some debug/util moved to FflasFfpack
* Better configure.ac/Makefiles (more options, icc/gcc
customisation,...)
* More m4 rules
* Possibility to use IML functions as a shared library (and some
examples given)
* 'make fullcheck' checks all possible tests given and reports
* Auto-installer from sources/svn with plenty of options
* Some new field functions like characteristic()
* Work on synchronising field member functions signatures for
better compatibility between all fields (in progress)
2010-11-03 cpernet
linbox-1.1.7 released:
* bug fixes and minor enhancements
* New interface to sage (supporting native floating point
representation)
* new rebind interface
* incorporate the code for computations over the rationals (by A
Ubranska), still waiting to be cleaned-up (it is not used yet by default)
2008-09-22 cpernet
linbox-1.1.6 released:
* compilation pb, and bug fixes, for cygwin support and debianization
2008-06-10 cpernet
* Upgrade fflas-ffpack to v1.3.3 (safer and tighter bounds, bug
fixes,...)
* Design changes for balanced finite field implementations
* Improve efficiency of Chinese Remainder Algorithm
* Add new interface to Sage
* bugs and documentation fixes
* remove gmp++ from LinBox, and thus make Givaro a necessary package
2008_03-02 cpernet
linbox-1.1.5 released:
* drivers are back to the source code,
* shared libraries are enabled by default.
* new code in fflas-ffpack for rank profiles
* new double-determinant algorithm
* changed the rawIndexedIterator interface, fixing the broken previous one.
* many minor fixes, mostly memleaks.
2007-10-27 cpernet
linbox-1.1.4 has been released including the following most important
changes:
* lots of memory leaks fixed
* better compliance with BLAS
* increased system solver functionalities (rectangular, rank deficient
matrices)
* support for g++/gcc v4.2
2007-09-28 cpernet
* Add support for more general dense system solving:
The system can be rectangular (over/underdetermined), singular.
2007-09-07 bds
* This changelog is being widely ignored. Today buildbot test is on.
2007-01-31 bds
* This entry is just to record that version 1.1.0 has been released by
Jean-Guillaume Dumas and the current svn version is just a couple of
steps from the release version.
2006-08-08 bds
* examples/det.C, solutions/det.h, methods.h modified in preparation for
* mpi based paralle cra loop in algorithms/cra-domain.h (by Bryan Youse).
* also a stub of util/mpicpp.h added (will become the mpi interface).
2006-07-27 Hui Wang and bds
* Add blackbox/quad-matrix.h which defines the ZOQuad matrix,
* which is a cache efficient {0,1}-matrix rep.
* Add it's tests, modify also blackbox/zo.h,
* and accumulate-special in field/modular.h to better support sums of field elements efficiently.
2006-06-01 bds
* rank.h adjusted to work around faulty PIVOT_LINEAR code in sparse elim.
* test-rank.C now tests blackbox, elimination, hybrid methods as well as...
2006-04-18 bds and Hui Wang
* examples/smith.C minor changes
* linbox/blackbox/apply.h - don't recall what we did to wreck this.
* linbox/blackbox/archetype.h linbox/blackbox/scalar-matrix.h linbox/blackbox/zero-one.h linbox/randiter/modular.h linbox/vector/stream.h tests/Makefile.am tests/Matio.h - minor touches
* cvs thinks we changed just about everything in tests, but diff shows no change. We're checking in anyway
* Where are our added files blackbox/zo.h zo.inl quad-matrix.h ? - which are a new version of zero-one and a block decomposed sparse matrix, resp.
2006-01-20 bds and Hui Wang
* linbox/algorithms/gauss.inl - we think we made it better but it still isn't working :-)
2005-12-13 Pascal Giorgi
* linbox/algorithms/Makefile.am: add new files
* linbox/algorithms/lifting-container.h: minor change
* linbox/algorithms/matpoly-mult.h: adding FFT and Karatsuba based polynomial matrix multiplication and middle product
* linbox/algorithms/rational-reconstruction.h: use macro to enable timing
* linbox/algorithms/rational-solver.h: minor change
* linbox/algorithms/rational-solver.inl: minor chane
* linbox/algorithms/short-vector.h: work in progress for ternary lattice reduction
* linbox/algorithms/sigma-basis.h: add muti sigma basis computation and special Pade solver.
* linbox/blackbox/block-hankel-inverse.h: enable use of new special Pade solver
* linbox/blackbox/block-hankel.h: use macro to enable timing
* linbox/randiter/{Makefile.am,random-fftprime.h}: add fftprime generator
2005-12-8 bds
* minor cleanups
2005-11-17 Pascal Giorgi:
* macros/blas-check.m4: adding new support for blas libraries
* macros/linbox-opt.m4: adding new support for blas libraries
* macros/linbox-misc.m4: adding new support for blas libraries
* linbox/config-blas.h: linbox headers for BLAS
* linbox/Makefile.am: add new BLAS support
* linbox/fflas/Makefile.am: remove dependencies to ATLAS
* linbox/fflas/fflas.h: add new BLAS support
* linbox/ffpack.Makefile.am: remove dependencies to ATLAS
* configure.in: remove ATLAS checking and replace with BLAS checking
* linbox-config.in: remove ATLAS libs and replace with BLAS libs
* tests/Makefile.am: remove ATLAS dependencies
2005-10-26 Pascal Giorgi:
* linbox/algorithms/Makefile.am: add sigma-basis.h file
* linbox/algorithms/sigma-basis.h: make sigma basis algorithm available
* linbox/algorithms/blackbox-block-container.h: add support for special structured block
* linbox/algorithms/blas-domain.h: fix bug
* linbox/algorithms/lifting-container.h: add support for sparse solver using a Block Hankel inverse
* linbox/algorithms/rational-solver.h(.inl): add new algorithm for solving sparse system
* linbox/blackbox/Makefile.am: add block-hankel.h. block-toeplitz.h and block-hankel-inverse.h
* linbox/blackbox/apply.h: fix optimization compatibility
* linbox/blackbox/block-hankel.h : add a blackbox for block Hankel matrices
* linbox/blackbox/block-hankel-inverse.h: add blackbox to compute the inverse of a block Hankel blackbox
* linbox/blackbox/block-toeplitz.h: add a blackbox for block Toeplitz matrices
* linbox/element/gmp-rational.h: fix this stupid bug using signed long integer to convert rational !!!
* linbox/field/hom.h: add support for PID_integer homomorphism
* linbox/ring/givaro-polynomial.h: fix bug
* linbox/solutions/det.h: add handler for rational domain
* linbox/solutions/charpoly.h: add handler for rational domain
* linbox/solutions/minpoly.h: add handler for rational domain and hybrid method for blas blackbox
* linbox/solutions/rank.h: add handler for rational domain
* linbox/solutions/solve.h: add handler for rational domain and fix indentation
* linbox/solutions/methods.h: fix indentation and add block hankel method
2005-09-01 Dan Roche
* linbox/algorithms/toeplitz-det.h: Forgot to add this before.
2005-08-31 Pascal Giorgi:
* linbox/algorithms/blas-domain.inl: add inverse specialization for multimod double domain
* linbox/algorithms/cia.h: call domain specialized minpoly instead of calling API and make code generic according to integer ring
* linbox/algorithms/lifting-container.h: support for multimod double domain
* linbox/algorithms/matrix-hom.h: support for multimod double domain
* linbox/algorithms/matrix-inverse.h: support for multimod double domain
* linbox/algorithms/rational-solver.inl: support for multimod double domain
* linbox/blackbox/apply.h: support for multimod double domain and new optimization
* linbox/blackbox/blas-blackbox.h: support for multimod double domain, add construction from MatrixReader and finalize apply function
* linbox/blackbox/submatrix.h: fixed indent style problem
* linbox/ffpack/ffpack.h: fix memory leak problem
* linbox/field/modular-double.h: add support for multimod double domain
* linbox/field/ntl-ZZ.h: fix indent style problem
* linbox/field/ntl-ZZ_p.h: set FieldTraits categoryTag
* linbox/matrix/blas-matrix.h: add constructor from MatrixStream
* linbox/matrix/dense-submatrix.h: add constructor from non const MatrixDenseBase
* linbox/matrix/dense-submatrix.inl: add constructor from non const MatrixDenseBase, fix bug in ConstRawIterator operator++(int)
* linbox/matrix/transpose.h: make the reference to the matrix to be non const
* linbox/ring/givaro-polynomial.h: add support for PID-integer and NTL-ZZ domain
* linbox/solutions/charpoly.h: throw an exception if matrix are not square
* linbox/solutions/det.h: fix indentation and throw an exception if matrix are not square
* linbox/solutions/minpoly.h: fix indentation, throw an exception if matrix are not square and make minpoly over the integer generic
* linbox/solutions/rank.h: fix indentation
* linbox/solutions/smith-form.h" fix indentation
* linbox/util/debug.h: allow the PreconditionFailed to be a real LinBox exception
2005-08-19 Z. Wan
* linbox/element/gmp-rational.h Fixed the error which occurs duing conversion
between gmp integer and gmp rational
2005-08-18 Dan Roche
* Added functionality for computing the determinant of a toeplitz matrix
* Added field/ntl-ZZ_pX.h and field/ntl-lzz_pX.h, rings over the
respective NTL polynomial types
* Added functions pow and powin to field/ntl-ZZ_p.h and
field/ntl-lzz_p.h (could be added to all fields)
* Added blackbox/toeplitz.h and blackbox/toeplitz.inl, very similar to
the existing Toeplitz blackbox class, but generalized to use any
polynomial ring. Didn't delete the old blackbox/ntl-toeplitz.h, inl
so old code doesn't break
* Added tests/test-toeplitz-det.C to test all this
* Modified tests/test-ntl-toeplitz.C to use the new Toeplitz class
2005-08-1 bds
* numerous doc tweaks
2005-07-15 bds and zw
* Now modular-balance-int.h and modular-int32.h define different classes.
* Modular-int had been replaced by modular-int32.
* Modular-int is now deprecated.
* Added randiter/modular-balance.h
2005-07-13 bds and zw
* solutions/solve.h call block-lanczos in bbsolve when cardinality small
* algorithms/bbsolve.h call mg-block-lanczos
* algorithms/mg-block-lanczos commentating number of trials.
2005-07-13 Bradford Hovinen <hovinen@localhost.localdomain>
* linbox/solutions/solve.h: Cast A.coldim () to double before
calling log
(solve): Initialize status
* linbox/algorithms/rational-solver.inl: Use std::max
* linbox/blackbox/apply.h: Move #include ntl-ZZ.h into #ifdef
__LINBOX_HAVE_NTL
* examples/solve.C: Add using namespace std
2005-07-13 bds and zw
* tests/Makefile.am move test-la-block-lanczos to failing tests list
* test-la-block-lanczos use case n = 10 to show problem
* test-mg-block-lanczos restore maxtries to default, comment out nullspace
test which has memory probs.
* test-solve change default blocking factor to 16
2005-07-13 Bradford Hovinen <hovinen@math.utoronto.ca>
* tests/Makefile.am (NTL_TESTS): Moved test-rational-solver,
test-rational-solver-adaptive, test-smith-form-binary,
test-last-invariant-factor here because they depend on NTL
(GIVARO_TESTS): Moved test-ffpack, test-blas-domain,
test-givaro-zpz here because they depend on Givaro
* tests/Makefile.am (NTL_TESTS): Fix definition so that automake
does not complain
2005-07-13 Pascal Giorgi
fix and remove NTL dependencies
- remove NTL dependecies: use of PID_integer
* tests/test-last-invariant-factor.C
* tests/test-rational-solver.C
* tests/test-rational-solver-adaptive.C
* tests/test-smith-form-binary.C
- fix NTL dependencies: by use of __LINBOX_HAVE_NTL preprocessing
* tests/test-smith-form.C
* tests/test-smith-form-iliopoulos.C
* tests/test-smith-form-local.C
* tests/test-smith-form-adaptive.C
* linbox/field/hom.h: specialization for NTL
* linbox/algorithms/smith-form-adaptative.h
- linbox/ring/givaro-polynomial.h: to be done by Jean-Guillaume and Clement
2005-07-12 Pascal Giorgi
* linbox/matrix/factorized.inl: add support for singular system solving (inconsistent system is defined by the zero solution)
fix also bug in nonsingular solving
2005-07-11 Pascal Giorgi (authorized by dictator Dumas))
* linbox/solutions/solve.h: change the interface for integer systems
Make the solver interface working with Wiedemann method, Lanczos method
* linbox/algorithms/solve.h: add support for Lanczos method
* linbox/algorithms/bbsolve.h: fix compilation error
* linbox/algorithms/wiedemann.h: fix compilation error
* linbox/algorithmd/wiedemann.inl: fix compilation error
* linbox/algorithms/lanczos.h: fix compilation error
* linbox/algorithmd/lanczos.inl: fix compilation error
2005-07-07 Dan Roche
* linbox/blackbox/sparse.h
* linbox/blackbox/dense.h
* linbox/matrix/sparse.h: Changed the RawIndexedIterator code so that
dereferencing returns a reference to the value
(same as RawIterator)
* linbox/blackbox/lambda-sparse.h
* tests/test-matrix-stream.C
* linbox/algorithms/matrix-hom.h: Updated the code here to reflect
change above
2005-07-07 Dan Roche
* linbox/matrix/sparse.h: Went through and fixed more iterator problems that could be causing segfaults.
2005-07-06 bds and zw
* linbox/solutions/is-positive-definite.h, is-positive-semidefinite.h, added
functions isPositiveDefinite and isPositiveSemiDefinite.
* linbox/tests/test-isposdef.C, test-ispossemidef.C, Makefile.am, added
tests for them.
* linbox/field/hom.h, linbox/algorithms/signature.h, minor tweaks.
* linbox/algorithms/algorithms.doxy, docs related
2005-07-06 Dan Roche
* examples/rank.C
* examples/det.C: Modified these to use MatrixStream and thereby support multiple file formats.
* linbox/matrix/sparse.h
* linbox/matrix/sparse.inl: Fixed some problems with the iterators: seg faults were caused by poor handling of empty rows.
* linbox/util/matrix-stream.inl: minor clean-ups
2005-07-4 Pascal Giorgi
* linbox/blackbox/Makefile.am: add polynomial.h
* linbox/blackbox/apply.h: add optimization
* linbox/blackbox/blas-blackbox.h: add the use of BLAS asap
* linbox/solutions/methods.h: extend dixon method
* linbox/solutions/solve.h: add rational-solver and diophantine-solver support for BlasElimination method (need to fix denominator output).
also add support for BlasElimination over finite field (not fully implemented)
* linbox/algorithms/rational-reconstruction.h: define early termination according to threshold
(0 means no early termination, x > 0 means early termination with checking each x steps)
2005-07-01 Pascal Giorgi
* configure.in: add linbox/util/formats/Makefile.am support
* add linbox/util/formats/Makefile.am file
* linbox/util/Makefile.am: fixe comment problem
2005-07-01 Dan Roche
* linbox/blackbox/dense.h
* linbox/matrix/dense.inl
* linbox/matrix/dense.h: Added Constructors from a matrix-stream
* linbox/blackbox/sparse.h
* linbox/blackbox/sparse.inl
* linbox/matrix/sparse.h: Added Constructors from a matrix-stream
Changed to use size_t for indexing rather than ints:
* linbox/util/matrix-stream.h
* linbox/util/matrix-stream.inl
* linbox/util/formats/generic-dense.h
* linbox/util/formats/maple-dense1.h
* linbox/util/formats/maple-sparse1.h
* linbox/util/formats/matrix-market.h
* linbox/util/formats/sms.h
* linbox/util/formats/sparse-row.h
* tests/test-matrix-stream.C: Included sparse and dense blackbox matrix constructors in testing
* tests/data/sms.matrix: Fixed a formatting error
2005-07-01 W. J. Turner
* linbox/until/commentator.C: removed using namespace std directive
2005-06-30 Pascal Giorgi
resolve symbol error in libutil.a (commentator.o needed timer.o)
* linbox/util/commetator.C: include timer.C
* linbox/util/Makefile.am: remove timer.c from libutil.a source (included through commentator)
2005-06-29 W. J. Turner
Removed using declarations within several classes and replaced with
this->... to preserve backwards compatability and allow compilation
with gcc 3.4 and newer:
* linbox/algorithms/blackbox-block-container.h
* linbox/algorithms/blackbox-container-symmetric.h
* linbox/algorithms/blackbox-container-symmetrize.h
* linbox/algorithms/blackbox-container.h
* linbox/algorithms/lifting-container.h
* linbox/blackbox/frobenius.h
* linbox/blackbox/lambda-sparse.h
* linbox/blackbox/ntl-hankel.{h,inl}
* linbox/blackbox/submatrix.h
* linbox/field/givaro-zpz.h
* linbox/matrix/blas-matrix.h
* linbox/util/formats/generic-dense.h
* linbox/util/formats/maple-dense1.h
* linbox/util/formats/maple-sparse1.h
* linbox/util/formats/matrix-market.h
* linbox/util/formats/sms.h
* linbox/util/formats/sparse-row.h
2005-06-27 W. J. Turner
* linbox/ffpack/ffpack_charpoly_kgfast.inl: removed using namespace
std directive
* linbox/*/lidia-gfq.h: removed using namespace LiDIA directives
* linbox/vector/sparse.h: removed using namespace LinBox directive
* linbox/util/formats/*.h: removed using declarations
* linbox/util/*.h: removed using declarations
* linbox/util/xml/*.h: removed using declarations
2005-06-25 Bradford Hovinen <hovinen@math.utoronto.ca>
* tests/test-mg-block-lanczos.C (testRandomSolve, testSampleNullspace):
Use preconditioner SYMMETRIZE
(main): Use more sensible defaults
* examples/dot-product.C (main): Declare v1 and v2 to be of length n
(fixes segfault)
2005-06-24 W. J. Turner
* linbox/blackbox/*: removed using declarations and directives
* linbox/field/*.h: removed using declarations and directives
* linbox/field/ntl-lzz_pE.h: added explicit call to namespace in NTL::BuildIrred_zz_pX
* linbox/field/ntl-GF2E.h: added explicit call to namespace in NTL::BuildSparseIrred_GF2X
* linbox/randiter/*.h: removed using declarations
2005-06-17 Pascal Giorgi
* /linbox/field/PID-integer.h: add sqrt function and homomorphism support
* /linbox/field/hom.h: identation fixed
* /example/solver/t-rdisove.C: comment givaro.h to fix compilation errors
2005-06-16 Pascal Giorgi
* /linbox/blackbox/apply.h: add blas-blackbox compatibility
* /linbox/blackbox/blas-blackbox.h: modify constructor and add category support
* /linbox/matrix/blas-matrix.h: new creator and add category support
* /linbox/matrix/matrix-category.h: move MatrixCategory from blas-matrix.h
* /linbox/algorithms/blas-domain.h: fancy indentation
* /linbox/algorithms/blas-domain.inl: add support for BlasBlackbox
* /linbox/algorithms/matrix-hom.h: add support for BlasBlackbox
* /linbox/algorithms/rational-solver.inl: use of MatrixHom and BlasBlackbox instead of MatrixMod and BlasMatrix
2005-06-15 Pascal Giorgi
* /linbox/blackbox/apply.h : compatiblity with 64bits architecture
2005-06-14 Pascal Giorgi
* /doc directory: modification to documentation (linbox.html become central)
* macros/linbox-doc.m4: new documentation checking (use of Doxygen)
* configure.in: take into consideration new doc checking
2005-06-10 bds
methods.h working for det.h in good form - other solutions may be broken:
Can consider det.h a good model for solutions funs now.
2005-06-07 Z. Wan
* linbox/blackbox/matrix-blackbox.h, linbox/matrix/dense.h, sparse.h,
added reind to DenseMatrixBase and SparseMatrixBase.
2005-05-02 Pascal Giorgi
* configure.in , macros/linbox-opt.m4 : add optimization process during linbox configuration
* linbox/fflas/fflas.h : allow the use of optimized Winograd threshold
2005-04-26 -bds
* Name changes *ntl-zz* --> *ntl-lzz* to avoid clashes with ZZ in case
insensitive situations.
* Also change test*.cpp to test*.C for consistency
2005-03-32 Pascal Giorgi
* linbox/fflas/fflas_fgemm.inl: fix compilation error with WinoMain function call
* linbox/algorithms/Makefile.am, rational-solver.h,.inl: set default prime size to 20 bits and make number of prime to try as a user parameter
in function solve
* tests/Makefile.am, test-rational-solver.C : retrieve rational solver test (make commentator progress worrking)
2005-03-30 bds
* removed xml read/write code in numerous places
* misc small stuff (I forgot what I may have changed, to tell the truth!)
2005-03-17 PG and ZW
* linbox/algorithms/cra.h, cra-det-integer.h, minpoly-integer.h, Makefile.am, added
functionalities for integer cases using modular arithmetic and CRA
* linbox/solutions/det.h, minpoly.h, rank.h, unified the interface, added blas elimination
for det and rank
2005-03-15 bds
*tests/test-rank.C linbox/solutions/rank.h methods.h Introduce rank
by blas-elimination, together with check for too small prime in wiedemann rank.
2005-02-17 Zhendong Wan (wan@cis.udel.edu)
*linbox/algorithms/rational-reconstruction.h, implemented the fast early termination techniques, which was described
in a preprint paper submitted to ISSAC'05.
2005-02-16 Zhendong Wan (wan@cis.udel.edu)
*linbox/algorithms/rational-solver.h, rational-solver.inl, rational-solver-adaptive.h, Merged rational solver using numerical methods with others
2005-02-14 Clement Pernet (Clement.Pernet@imag.fr)
* Improvements to FFLAS::fgemm routine: Winograd's fast matrix
multiplication is now working for any operation of the type
C<-alpha.A*B + beta.C
* Dynamic pealing is now generic wrt the field
* The recursive block algorithm is now working over the field if the
BLAS condition is not met
2005-02-07 Clement Pernet (Clement.Pernet@imag.fr)
* Change the name fflapack -> ffpack
* bug fixes in blackbox-block-container.h
* compilation failure of test-rational-solver due to "assert" in
rational-solver.h should be fixed
* compilation failuer in test-matrix-stream due to 888888888888888 being to big
should be fixed
2005-02-04 Zhendong Wan (wan@cis.udel.edu)
*Add linbox/solutions/cra.h, minpoly-integer.h, add codes to compute the minpoly of an integer matrix.
*Modify linbox/test-minpoly.C, add test for minpoly of an integer matrix.
*Modify linbox/solutions/minpoly.h, it can hanle integer case.
** linbox/solutions/cra.h and linbox/algorithms/cra.h should merge in future
** minpoly-integer.h and minpoly.h should merge, and support blas in future
2005-02-03 Zhendong Wan (wan@cis.udel.edu)
*linbox/field/PID-double.h, PID-integer.h, PIR-modular-int.h,
PIR-modular-int32.h, PIR-ntl-ZZ_p.h, double-fmod.h,
field-traits.h gf2.h, givaro-gfq.h, givaro-montg.h,
givaro-rational.h, givaro-zpz.h, gmp-integers.h, gmp-rational.h,
lidia-gfq.h local2_32.h, modular-balance-int.h,
modular-balance-int32.h, modular-byte.h, modular-double.h,
modular-int.h, modular-int32.h, modular-short.h, modular.h,
ntl-GF2E.h ntl-RR.h, ntl-ZZ.h, ntl-ZZ_p.h, ntl-ZZ_pE.h,
ntl-pid-zz_p.h, ntl-zz_p.h, ntl-zz_pE.h, param-fuzzy.h,
unparametric.h,
added information in field traits in order to classify all rings.
2005-03 Zhendong Wan (wan@cis.udel.edu)
*linbox/algorithms/matrix-mod.h, change class MatrixMod to namespace,
so that some special mod functions can be addaed
*linbox/algorithms/rational-reconstruction.h, rational-solver.inl, fixed
compiling complaints
2005-01-28 Dan Roche
* examples/linbox-program.C - various fixes
* field/unparametric.h - was casting to long and then to integer - fixed
* field/hom.h - added mapping from UnparametricField to Modular
* util/matrix-stream.h Provides a new, generic way of reading matrices in multiple formats.
* util/formats New directory for matrix-stream format specifications
* util/formats/matrix-stream-readers.h Place to include all the different format specification files:
* util/formats/generic-dense.h
* util/formats/maple-dense1.h
* util/formats/maple-sparse1.h
* util/formats/matrix-market.h
* util/formats/matrix-stream-readers.h
* util/formats/sms.h
* randiter/gmp-random-prime.h Generates random numbers up to a given size
* tests/test-matrix-stream.C Tests to see if matrix-stream is working
* Sample matrices used by test-matrix-stream:
* tests/data/generic-dense.matrix
* tests/data/maple-dense1.matrix
* tests/data/maple-sparse1.matrix
* tests/data/matrix-market-array.matrix
* tests/data/matrix-market-coordinate.matrix
* tests/data/sms.matrix
* tests/data/sparse-row.matrix
2005-01-07 ZW
* linbox/field/gmp-integers.h, fixed init
* linbox/field/modular-double.h, implemented a fast init
2004-12-03 bds
* matrix/sparse.h .inl - add reading of Magma Compact form
* vector/vector-domain.h .inl - can't read into const vectors, so rm 'const
2004-10-08 bds
* examples/blackbox/Makefile.am smith.C - minor
* field/field-traits.h givaro-gfq.h ntl-GF2E.h - put in maxmodulus
* doc/Doxyfile mainpage - minor doc changes
2004-09-30 Pascal Giorgi
* linbox/algorithms/lifting-container.h: take modification of MatrixApplyDomain setup function
* linbox/algorithms/rational-solver.inl: use of BlasMatrix instead of BlasBlackbox
* linbox/algorithms/rational-reconstruction.h: add lifting commentator progress in getRational3 function
* linbox/blackbox/apply.h: redefine MatrixApplyDomain s.t. specialization for dense storage is easier
* linbox/matrix/dense.inl: make reading with sparse format work and fix bug in writing over domain with non positive cardinality
2004-09-21 Pascal Giorgi
* linbox/algorithms/Makefile.am: Add headers for (rationnal-solver.inl, diophantine-solver.inl, vector-fraction.h)
* linbox/algorithms/blackbox-block-container-base.h: Use BlasDomain and BlasMatrix
* linbox/algorithms/blackbox-block-container.h: Make BlackboxBlockContainerRecord class (handling precomputed sequence and row-colum updating)
* linbox/algorithms/block-massey-domain.h: Compute generating matrix polynomial using Sigma Basis through algorithm of GJV-ISSAC'03
* linbox/algorithms/block-wiedemann.h: Add block Wiedemann solver
* linbox/algorithms/lifting-container.h: Add specialisation for Block Wiedemann method and clean optimizations
* linbox/algorithms/rational-solver.h: Add specialisation for Block Wiedemann method
* linbox/algorithms/rational-solver.inl: Add specialisation for Block Wiedemann method
* linbox/blackbox/Makefile.am: Add headers for lambda-sparse.h and blas-blackbox.h
* linbox/blackbox/apply.h: Put optimizations on matrix-vector product - moved from lifting-container
* linbox/fflas/fflas_fgemm.inl: Fix bug on Winomain function
* linbox/fflas/fflas_ftrsm.inl: Fix bug on normalisation before BLAS call
* linbox/field/Makefile.am: Add ntl-GF2E.h header
* linbox/field/ntl-GF2E.h: Add wrapper for GF(2^n) of NTL library
* linbox/field/modular-double.h: Improve DotProductDomain specialization
* linbox/field/ntl.h: Add ntl-GF2E.h header
* linbox/matrix/blas-matrix.h: Take into account modifications of dense-submatrix
* linbox/matrix/dense-submatrix.h: Use pointer instead of reference
* linbox/matrix/dense-submatrix.inl: Use pointer instead of reference
* linbox/matrix/factorized-matrix.inl: Fix the extractions of L, U and S
* linbox/solutions/methods.h: Add BlockWiedemann method
* linbox/util/gmp++/Makefile.am: Remove gmp++_int.c ( redudant for compilation)
2004-09-02 Bradford Hovinen <hovinen@vega.pc.cis.udel.edu>
* linbox/algorithms/la-block-lanczos.h (class
LABlockLanczosSolver): Add _iter, _total_dim, _rank
* linbox/algorithms/la-block-lanczos.inl (cleanup): Update _rank
(rank): Implement
* linbox/blackbox/diagonal.h (class Diagonal): Compilation fix
* linbox/blackbox/dense.h (class DenseMatrix): Make _AT use
DenseMatrix, not DenseMatrixBase
* tests/test-la-block-lanczos.C (main):
* tests/test-mg-block-lanczos.C (main): Use better defaults
* linbox/algorithms/la-block-lanczos.inl (solve, sampleNullspace):
Clear history when done
* tests/Makefile.am (BASIC_TESTS): Add test-mg-block-lanczos
* linbox/algorithms/la-block-lanczos.h (class
LABlockLanczosSolver::InnerProductArray): Add reset
* linbox/algorithms/la-block-lanczos.inl (iterate): Reset uAv
* linbox/algorithms/Makefile.am (pkgincludesub_HEADERS): Add
eliminator.{h|inl}
* tests/Makefile.am (BASIC_TESTS): Add test-la-block-lanczos
* linbox/algorithms/Makefile.am (pkgincludesub_HEADERS): Add
la-block-lanczos.{h|inl}, mg-block-lanczos.{h|inl}; remove
block-lanczos.{h|inl}
2004-09-01 bds
* solutions/minpoly.h tests/test-minpoly.C: add minpolySymmetrize
2004-09-01 bds wan zw
* linbox/algorithms/rational-solver-adaptive.h, adaptive solve
2004-08-30 bds and zw
* linbox/algorithms/one-invariant-factor.h, smith-form-adaptive.inl, make bonus works
2004-08-30 bds and zw
* linbox/algorithms/smith-form-adaptive.h, inl. Implementation of an adaptive algorithm for
Smith form
2004-08-30 bds
* linbox/randiter/mersenne-twister.h linbox/util/commentator.h
linbox/util/gmp++/gmp++_int_misc.C tests/Makefile.am tests/test-common.C:
LinBoxSrcOnly flag also used in tests/ now (to avoid incompatibility
with use in examples/)
2004-08-30 bds
* examples/ex-integers.C examples/Makefile.am linbox/util/gmp++/Makefile.am: Turn on
LinBoxSrcOnly flag for examples compilations so that user does not confront
load-library problems.
* doc/Makefile.am examples/Matio.h linbox/integer.h linbox/blackbox/*.h etc.:
switch documentation system to doxygen. (it still needs plenty of work)
* add .doxy files (replacing .dxx files) to doc system
* examples/blackbox/smith.C and smithbig.C: smith form examples.
2004-08-28 Pascal Giorgi
* examples/solver/t-rdisolve.C: add sparse matrix format for file and make seed to work
* linbox/algorithms/diophantine-solver{.h,.inl}: adding parameters information of solving
* linbox/algorithms/rational-reconstruction.h: clear bugs in timings
2004-08-26 Z. Wan
* linbox/algoriths/last-invariant-factor.h, implement the bonus idea \ref{....}
2004-08-26 Pascal Giorgi
* examples/fields/ex-fields-archetype.C : put std namespace
* examples/run/run.C : put std namespace
* examples/solver/Makefile.am : change order of libs for compilation
* examples/solver/t-rdisolve.C : change to use the new design of rational solver
* gmp++/gmp++_int.h : Added new function to get the size of integer in base B and base 2
* gmp++/gmp++_int.inl : Added implementation of bitsize() and size_in_base( int base) functions
* linbox/algorithms
* diophantine-solver.h : use new design of rationnal solver
* diophantine-solver.inl : use new design of rationnal solver ( disabling conversion for VectorFraction)
* lifting-container.h : Added fast apply over ring when entries of the matrix are small enough ( say less than 2^16)
* rational-reconstruction.h : Added direct method for reconstruction, added switch between early termination and direct method
* rational-solver.inl : Added blas optimization for preconditionning matrices in random solution solver
* linbox/fflapack/fflapack.h : Maked triangular inverse available
* linbox/field/PID-double.h : Added abs and compare functions, + indentation
* linbox/field/PID-integer.h : Added abs and compare functions, + indentation
* linbox/matrix/dense.inl : problem with resizing in read function, leave code as it was but add the older version as comment
2004-08-24 Z. Wan (wan@cis.udel.edu)
* change ith-invariant-factor.h to one-invariant-factor.h
* Change the implementation of the alogrithm for oneinvariantfactor, use the enhanced algorithm in ISSSAC'04 papre by
bds and ZW
2004-08-24 Z. Wan (wan@cis.udel.edu)
*linbox/algorithms/rational-solver.h, inl, rational-reconstruction.h, linbox/tests/test-rational-solver.C, change
the format of the rational solution a vector of rationals ====> (a vector of the numerator, the common denominator).
2004-08-19 Z. Wan (wan@cis.udel.edu)
* linbox/algorithms/rational-reconstruction.h, implement the V. Pan's idea for final reconstruction step.
* linbox/field/ntl-ZZ.h, add abs and compare member function.
2004-08-19 David Pritchard (dpritcha@ens-lyon.fr, daveagp@mit.edu)
* gmp++/gmp++_int.inl - Added wrapper for mpz_import (convert word array to LinBox::Integer)
* linbox/algorithms - Added timing to rational solving routines (#define RSTIMING in rational-solver.h)
* diophantine-solver.h - made QSolver field into a reference type
* diophantine-solver.inl - changed comments
* lifting-container.inl - Added blas optimization for muliplication of large integer matrices in Dixon
* rational-reconstruction.h - Changed getRational2 again so that early termination num/denbounds work
* rational-solver.h - Added timing, reportTimes()
* rational-solver.inl - Added timing
* vector-fraction.h - Added comment, about how RandIter may have unrandom low-order bits
* linbox/blackbox/apply.h - Removed bad overload of applyV
* linbox/fflapack/fflapack.h - changed name of function to LQUPtoInverseOfFullRankMinor
* linbox/field/modular-double.h - added constr. from long int, to avoid ambiguity warning when making t-rdisolve
* linbox/matrix/dense.inl - attempted to fix problems with Const{Row/Col}Iterator operator++ (int)
* linbox/matrix/factorized-matrix.h - added comment about how GetQ returns Qt
* linbox/util/timer.C - added a count field to the timer (how many intervals does this timer measure)
* linbox/util/timer.h - added a count, stopped small negative rounding errors from printing
* gmp++/gmp++_int_cstor.C - added mpz_import function wrapper
* tests/test-common.C - fixed reading of large integers
* examples/solver/t-rdisolve.C - added flag to make some columns zero, made better random entries
2004-08-11 bds
* examples/blackbox/smith.C illustrates iliopolous' and local methods
* matrix/dense.inl read() now adjusts to new input size rather
than complaining. Also read() accepts sparse file format.
2004-08-11 David Pritchard (dpritcha@ens-lyon.fr, daveagp@mit.edu)
* gmp++/gmp++_int.inl - Added nth root function declaration
* linbox/algorithms
* diophantine-solver.inl - minor changes
* lifting-container.h - fixed reconstruction lifting bound
* rational-reconstruction.h - added getRational2; will eventually be las-vegas style reconstructor
- changed early termination so that 2*numbound*denbound is always less than modulus
* rational-solver.inl - more updates, fixes. now only one LQUP is used to check consistency
- added optimization wherein LQUP is used to compute a modular inverse more quickly
* linbox/fflapack/fflapack.h - added InverseFromLQUP function; fixed invL bug
* linbox/matrix/blas-matrix.h - moved indexDomain here (allows application of BlasPermutation to indices, using BlasMatrixDomain<indexDomain>)
* linbox/matrix/dense-submatrix.inl - minor fix
* linbox/util/gmp++/gmp++_int_misc.C - added nth root function
2004-08-09 Dan Roche
* gmp++/gmp++_int.inl: Add arithmetic function support for long long and unsigned long long
* linbox/blackbox/dense.h,inl: Add hadamardBound method to DenseMatrixFactory
* linbox/blackbox/sparse.h: Make hadamardBound return a reference to res, and avoid overflow in computing hadamardBound
* linbox/solutions/det.h: little fixes
2004-08-09 Pascal Giorgi
* /linbox/blackbox/sparse.h : Fix bugs in SparseMatrixFactory. it compiles right now
* /linbox/util/gmp++/gmp++_int_io.C : avoid memory leaks in Integer2string function
* /linbox/field/ntl-zz_pE.h : adding new wrapper for NTL algebraic extension of single precision prime field
* /linbox/field/ntl-ZZ_pE.h : write a class to handle parametric field
* /linbox/field/ntl.h, Makefile.am : adding new field ntl-zz_pE.h
2004-08-08 Dan Roche (roche@cis.udel.edu)
* examples/linbox-program.C - now works for determinant also - except that someone recently broke solutions/det.h and blackbox/sparse.h
* gmp++/gmp++_int.h, linbox/util/gmp++/gmp++_int_misc.C - added prevprime so that prime-stream.h works
* linbox/integer.h - added an abs function here so it works for all types from int8 up to integer.
* linbox/algorithms/cra.h - changed invmod to inv so that this compiles
* linbox/blackbox/dense.h,.inl - added DenseBlackboxFactory class so I can use det.h to find determinant of a dense matrix over the integers.
* linbox/solutions/det.h - NUM_BITS is determined from FieldTraits (linbox/field/field-traits.h)
2004-08-06 David Pritchard (dpritcha@ens-lyon.fr, daveagp@mit.edu)
* examples/solver/t-rdisolve.C - added use of 3 'solver levels' and check of certificate of inconsistency
* linbox/algorithms
* diophantine-solver.h - added use of 3 'solver levels', improved documentation
* diophantine-solver.inl - added use of 3 solver levels
* lifting-container.h - changed normblackbox to properly compute "norm" of composed boxes
* rational-reconstruction.h - added getRational2 for solver use, hopefully will be las-vegas
* rational-solver.h - added use of 3 solver levels, certifying of inconsistency, documentation
* rational-solver.inl - added use of 3 solver levels, certifying inconsistency
- combined 'solve' and 'getRandomSolution' to be both variants of 'solveMonolithic'
* vector-fraction.h - simplified constructor
* linbox/fflapack/fflapack_ludivine.inl - bugfix for LQUP of rectangular matrices (specifically M x 1 case)
* linbox/field/unparametric.h - removed dumb comment
* linbox/matrix/blas-matrix.h - added method extendTrivially to embed permutation in larger row/column size
* linbox/tests/test-common.C - bugfix
2004-07-30 David Pritchard (dpritcha@ens-lyon.fr, daveagp@mit.edu)
* examples/solver/t-rdisolve.C - added diophantine checking+certification, more options
- moved VectorFraction class to own file in algorithms
- moved new command-line stuff into test-common.C (should be backwards-compatible)
* linbox/algorithms
* vector-fraction.h - added new file. for storing fractions like [n1 n2 n3 n4 ... ]/d
- has various combination functions used by diophantine-solver
* blas-domain.inl - fixed a broken linbox_check for vector-matrix product
* diophantine-solver.h - diophantine checking, min-denom certification works now
* diophantine-solver.inl - diophantine checking, min-denom certification works now
* rational-solver.h - made SolverReturnStatus a global enum, preceded by SS_
* rational-solver.inl - added generation of a partial certificate to randomSolve
- solveDeterministic is now fully Las Vegas
* apply.h - added applyVTrans(vector, const matrix, vector)
* linbox/fflas/fflas_fgemv.inl - fixed errors in transpose matrix product
* linbox/matrix
* blas-matrix.h - fixed flipped row/coldim in constructor
* dense-submatrix.h - fixed typo, removed unimplemented operator[]
* dense.h - removed debug output
* transpose.h - replaced Column with Col
* tests/test-common.h - example string can now be passed as null and intelligently generated by default
* tests/test-common.C - boolean options can now be turned off like "-b false", "-b -", "-b N"
- added a string to write all current switch options to an ostream
* tests/test-rational-solver.C - updated to reflect new return type of rational solver
2004-07-26 David Pritchard (dpritcha@ens-lyon.fr, daveagp@mit.edu)
* linbox/algorithms
* added diophantine-solver.{h,inl} (no diophantine functionality yet)
* Makefile.am - added diophantine-solver.h
* blas-domain.h - added forms of inv and invin that return the nullity of the matrix
* blas-domain.inl - added forms of inv and invin that return the nullity of the matrix, fixed typo
* last-invariant-factor.h - changed type of b vector from int to Integer
* lifting-container.h - changed blackbox norm to square of 'induced norm', fixed lifting length calculation
- added graceful failure to digit (eg if <double> Ring is used improperly)
* rational-reconstruction.h - added debug switch DEBUG_RR, graceful failure
* matrix-rank.h - changed tabbing
* rational-solver.h - many changes to Dixon; Wiedemann may not work
- added DEFAULT_PRIMESIZE = 14 (since 30 bit default size would screw up some fields)
- added maxPrimes argument to solving routines, will retry that many primes
- added const modifier to solving routines, made _prime mutable
* rational-solver.inl - many changes to Dixon; Wiedemann may not work
- added debug switches, graceful failure for solving routines
- changed BlasMatrixDomain routines to BlasApplyDomain to avoid erroneous calculations
- in singular/random solve, check solution before returning, and multiply by conditioner P correctly
- added consistency check to random solver
* linbox/blackbox/blas-blackbox - added to CVS
* linbox/blackbox/dense.h - matrix reading bugfix
* linbox/fflapack/fflapack.h - pass nullity back in Invert2, and return NULL when matrix is singular
* linbox/fflas/fflas_fgemv.inl - remove assumption that alpha=-1, beta=1
* linbox/fflas/fflas_ftrmm.inl - fixed computation of matrix size bound for embedding into FFLAS
* linbox/field
* PID-double.h - changed 'c=abs(c)' to 'if (c<0) c = -c', no abs found for double
* PID-integer.h - changed documentation of isDivisor(a, b) (returns yes if b|a)
* givaro-montg.h - fixed init from integer
* givaro-zpz.h - fixed init from integer, double and Log16 specializations
* givaro-gfq.h - fixed init from integer
* modular.h - added init from double
- added several specializations of Modular<NTL::ZZ>
* modular-double.h - fixed operator<<
* modular-int.h - fixed init/convert with double
* modular-int32.h - fixed init/convert with double
* ntl-ZZ.h - changed const to static for convert method
- changed documentation of isDivisor(a, b) (returns yes if b|a)
* ntl-ZZ_p.h - added init/convert from/to integer, double
- put NTL_ZZ_p at top and specialization at bottom for compiler
- changed random generator to give fuller range
* ntl-zz_p.h - added init from double, integer
* unparametric.h - added convert to double
* linbox/matrix/dense-submatrix.h - added mapleFormat option to DenseSubmatrix writing
* linbox/matrix/dense-submatrix.inl - added mapleFormat option to DenseSubmatrix writing
* linbox/randiter/random-prime.h - the class now takes a 'bits' argument on construction and makes primes of that size
* linbox/vector/vector-domain.inl - fixed reading bug
* tests/Matio.h - added mapleFormat option to write_field
* tests/test-fflapack.C - matched Invert2 to new 'nullity' argument format
* tests/test-iliopoulos-elimination.C - #define int32 LinBox::int32 to avoid ambiguity with Givaro
* tests/test-last-invariant-factor.C - int32 -> LinBox::int32 to avoid ambiguity with Givaro
* tests/test-last-rational-solver.C - int32 -> LinBox::int32 to avoid ambiguity with Givaro
- now handles solver failures without crashing
- added check to ensure that system is solvable (ie no zero elements on diagonal)
* tests/test-smith-form.C - int32 -> LinBox::int32 to avoid ambiguity with Givaro
* examples/solver/t-rdisolve.C - test driver for rational solver, compile and run t-rdisolve -?
* examples/solver/Makefile.am - make file
2004-07-16 Pascal Giorgi
* linbox/field/lidia-gfq.h : fixing bug and improvement
* tests/Makefile.am : retrieving test-lidia-gfq, fixing modular and gssv redundancy
* tests/test-modular.C : using namespace std
2004-07-16 Pascal Giorgi
* linbox-config.in : switching order of LiDIA in libs
* linbox/randiter/envelope.h : modify random function ( assignement is not needed)
* linbox/matrix/dense-submatrix.h : setting input and output functions public
* linbox/field/givaro-zpz.h : adding linbox/utils/debug.h header
* linbox/field/lidia-gfq.h : setting default degree extension to 1
* linbox/field/ntl-ZZ_p.h : overloading the constructor of UnparamField
2004-07-08 Dan Roche
* Adding examples/linbox-program.C which will eventually do a wide variety of operations on integer matrices
* gmp++/gmp++_int.h,inl : Little fixes
* linbox/algorithms/wiedemann.inl : Little fixes
* linbox/matrix/blas-matrix.h : Little fixes
* linbox/util/gmp++/gmp++_int_compare.C, gmp++_int_mod.C : Little fixes
* linbox/vector/sparse.h : Little fixes
* tests/test-fields.C : Little fixes
* tests/Makefile.am : Moved everything that uses rational-solver to ATLAS_TESTS rational-solver won't work without BLAS.
* fields/field-traits.h : Took implementation out of this file and put it in each field header file.
* fields/givaro-gfq.h : Added init and convert from/to a padic number
* fields/modular.inl : Fixed some problems with MVProductDomain functions over unsigned types
2004-07-06 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/dense.h (class DenseMatrix): Add _AT, a
TransposeMatrix of this
* linbox/blackbox/dense.inl (DenseMatrix::applyTranspose): Use _AT
* linbox/matrix/matrix-domain.h (class MatrixDomain): Get rid of
template argument MatrixTrait on specialized permute
* linbox/vector/vector-domain.h (class VectorDomain): Get rid of
template argument VectorTrait on specialized permute, swap
* linbox/matrix/sparse.h (struct MatrixTraits):
* linbox/vector/vector-domain.inl (class VectorDomain):
* linbox/vector/vector-domain.h (class VectorDomain):
* linbox/matrix/matrix-domain.h (class MatrixDomain):
* linbox/matrix/transpose.h (struct MatrixTraits):
* linbox/matrix/dense.h (struct MatrixTraits): Remove templates
from matrix tags
2004-07-02 pascal giorgi
* blackbox/apply.h : adding BlasApply domain
* blackbox/compose.h : adding accessor to left an right blackbox
* blackbox/sparse.h : make write function const
* field/ all givaro file : fixe bugs
* field/lidia-gfq.h : make it works
* field/modular-double.h : add reset function in axpy domain
* field/field-traits.h : add specialization for some fields
* field/double-fmod.h : include <math.h>
* field/ntl-ZZ.h : remove all static and replace by const function
* field/PID-double field/PID-integer.h : adding 2 new PID
* matrix/dense.h.inl matrix/sparse.h.inl : make interators work
* randiter/ntl-ZZ.h randiter/lidia-gfq.h : fix bugs and make clearer
* solutions/method.h : add new traits for rational solvers
* algorithms/
* blackbox-container-base.h : adding new constructor allowing size of sequence as parameter
* blackbox-container.h : adding new constructor allowing size of sequence as parameter
* lifting-containe.h : make a new interface for lifting (give specialization for Wiedemann and Dixon methods)
* matrix-inverse.h : put Field as template and require a field as parameter (not restrictive to blackboxes)
* matrix-mod.h : giving a specializatino
* rational-reconstruction.h : make it clear with lifting interface
* rational-solver.h : make a new interface for rational solver
* rational-solver.inl : give specialization for Wiedemann and Dixon methods
2004-06-21 bds
* removed NAGSparse blackbox which has been replaced by Triplesbb.
Mods to linbox/util/xml/reader-blackbox-factory.h tests/Makefile.am
Removed Files: blackbox/nag-sparse.h tests/test-nag-sparse.C
2004-06-16 Zhendong Wan
* linbox/solutions/lu.h, tests/test-lu.C, fix the block lu and make test work.
2004-06-10 Dan Roche
* Added linbox/field/modular-balance-int32.h to use int32 type
* Added more fields to tests/test-fields.C
* Added more fields and functionality to linbox/field/field-traits.h
* Changed most fields so that every field constructor takes two
arguments, a modulus and an exponent. Default values are
put in so everything should still work the same.
2004-06-10 bds
* New version 0.1.4
* final doc mods before release 0.1.4
2004-06-09 bds
* Little tweaks.
2004-06-08 Dan Roche
* Updated Modular<int> to use the int32 type in integer.h
* Added linbox/field/modular-int32.h
* Added linbox/field/PIR-modular-int32.h
* Updated tests/test-modular-int.h
* Updated tests/test-iliopoulos-elimination.C
* Updated tests/test-last-invariant-factor.C
* Updated tests/test-rational-solver.C
* Updated tests/test-smith-form.C
* Updated tests/test-fields.C to use types from integer.h and to
determine number of iterations based on machine speed.
Also uses goodModulus method from FieldTraits struct.
* Added linbox/field/field-traits.h, containing struct FieldTraits
<class Field> which can do other things but for now just
provides information about valid moduli for a given field.
2004-06-08 bds
* assorted documentation mods.
* introduced BlackboxInterface, similar to FieldInterface, an empty base
class solely for the purpose of organizing the heirarchy in the documentation.
2004-06-07 bds
* assorted documentation mods.
2004-06-05 bds and Zhendong Wan
* linbox/field/double-fmod.h is now redundant
* linbox/field/modular-double.h uses the fmod approach
* tests/test-generic.h now has a basic concept check for randiter
and a chi-sq randomiterator check that doesn't fail on reasonably
uniform random iterators over int elements.
* tests/test-double-fmod.C and tests/test-modular-double.C now work.
2004-06-04 Dan Roche
* Added tests/test-double-fmod.C
Added tests/test-fields.C which benchmarks ops for fields
Added tests/test-modular-double.C
Added linbox/randiter/generic.h which is a generic random iterator
used in double-fmod
Added linbox/field/double-fmod.h which is like modular-double, but
uses the fmod command from math.h
2004-06-04 bds
* comments in rational.h suggesting that it is nowhere used.
Shall we delete?
2004-04-20 Zhendong Wan <wan@udel.edu>
* Add linbox/blackbox/blackbox_parallel.h, blackbox_thread.h, subrowmatrix.h, parallel blackbox apply
and applyTranspose by using posix threads.
* Modify linbox/blackbox/sparse.h, dense.h, dense.inl, linbox/vector/subvector.h, add parallel apply
and applyTranspose for SparseMatrix and DenseMatrix.
2004-03-25 bds
* documentation mods
2004-03-17 bds
* gmp++/gmp++_int.h linbox/util/gmp++/gmp++_int.C, gmp++_int_add.C, gmp++_int_compare.C,
gmp++_int_cstor.C, gmp++_int_div.C, gmp++_int_gcd.C, gmp++_int_io.C, gmp++_int_misc.C,
gmp++_int_mod.C, gmp++_int_mul.C, gmp++_int_pow.C, gmp++_int_sub.C, tests/test-common.h:
mods to make flag -DLinBoxSrcOnly work.
2004-03-04 Zhendong Wan
* linbox/blackbox/sparse.h, set default Row to be SparseMap, which is more efficient to call setEntry, refEntry member function.
* tests/test-minpoly.h, make it works with change in sparse.h.
2004-03-04 Zhendong Wan
* linbox/blackbox/diagonal.h linbox/blackbox/hilbert.h,
linbox/blackbox/scalar-matrix.h linbox/blackbox/submatrix.h,
linbox/field/PIR-modular-int.h linbox/field/PIR-ntl-ZZ_p.h,
linbox/field/modular-byte.h linbox/field/modular-int.h,
linbox/field/modular-short.h linbox/field/modular.h,
linbox/field/modular.inl linbox/matrix/matrix-domain.h,
linbox/matrix/matrix-domain.inl linbox/matrix/sparse.h,
linbox/matrix/sparse.inl linbox/vector/stream.h,
linbox/vector/vector-domain.h linbox/vector/vector-domain.inl,
linbox/vector/vector-traits.h tests/test-common.h, make these Tag classes non-template, since they are only used to distinguish vector types and for this purpose, ordinary classes suffice.
2004-03-04 Zhendong Wan
* linbox/blackbox/dense.h linbox/blackbox/sparse.h, linbox/matrix/archetype.h linbox/matrix/dense-submatrix.h, linbox/matrix/dense.h linbox/matrix/matrix-domain.h, linbox/matrix/sparse.h linbox/matrix/transpose.h, tests/test-matrix-domain.C, make struct RowMatrixTag, struct ColMatrixTag, struct RowColMatrixTag non-template classes, since they are only used to distinguish the matrix types and in this case, non-template classes suffice and codes become simpler.
2004-03-02 Zhendong Wan
* remove linbox/vector/const-iterator-type.h, since in new gcc, std::vector<Element>::iteretor is not same type as Element*, it doesnot work anymore.
* modify linbox/vector/subvector.h, add one template parameter const_iterator.
* linbox/blackbox/dense.h, dense.inl, use MatrixDomain to conform SparseMatrix implementation.
2004-03-02 Zhendong Wan
* linbox/blackbox/sparse.h, remove field VectorDomain<Field> _VD, since it is not used in any member function.
2004-02-07 Zhendong Wan
* linbox/algorithms/rational-reconstruction.h, speed it up bu only reconstructing the rationals at every threshold position.
2004-02-06 bds
* linbox/gen_superlu/gssv_rank.h linbox/gen_superlu/trsv.h
tests/Makefile.am tests/test-gssv_rank.C
tests/data/gssv_rank_data: fix gssv_rank test (works except for A'+A case).
2004-02-04 Zhendong Wan <wan@udel.edu>
* Add linbox/field/PIR-modular-int.h, which is an extension of Modular<int> with PIR functions.
2004-02-03 Zhendong Wan <wan@udel.edu>
* Modify linbox/field/PIR-ntl-ZZ_p.h, add MVProductDomain, DotProductDomain for PIR_ntl_ZZ_p
2004-01-28 Zhendong Wan <wan@udel.edu>
* Modify linbox/algorithms/iliopoulos-elimination.h, making it work in a PIR suggest by bds.
* Modify linbox/tests/test-iliopoulos-elimination.C, making it work upon change of iliopoulos-elimination
* Add linbox/field/PIR-ntl-ZZ_p.h, adpating ntl-ZZ_p, and adding PIR interface (gcd, xgcd, dxgcd).
2004-01-27 Zhendong Wan <wan@udel.edu>
* Modify linbox/algorithms/bitonic-sort.h, minor name change
* Add linbox/tests/test-bitonic.C, test for bitonic-sort
2004-01-27 BDS <saunders@udel.edu>
* Modify linbox.dxx doc/.cvsignore doc/doc.dxx, min doc change
2004-01-27 BDS <saunders@udel.edu>
*add linbox/field/ntl-pid-zz_p.h, linbox/field/local2_32.h, linbox/algroithms/local-smith.h, code for local smith form computation.
*add linbox/tests/test-local-smith.C, modify linbox/tests/Makefile.am, add test for local smith algorithm
2004-01-26 Zhendong Wan <wan@udel.edu>
* add linbox/field/ntl-ZZ.h, linbox/randiter/ntl-ZZ.h, adapter NTL::ZZ to linbox.
* add linbox/algorithms/lifting-container.h, linbox/algorithms/rational-reconstruction.h, linbox/algorithms/rational-solver.h, solve the linear systems over the rationals by lifting.
* add linbox/algorithms/bitonic-sort.h, implement bitonic-sort, a sort network sequential implemenation.
* add linbox/algorithms/iliopoulos-elimination.h, implement the Iliopoulos algorithm for Smith form.
* add linbox/blackbox/apply.h, linbox/blackbox/scompose.h, linbox/blackbox/compose-traits.h, linbox/blackbox/random-matrix-traits.h, linbox/blackbox/random-matrix.h, linbox/blackbox/submatrix-traits.h, linbox/algorithms/ith-invariant-factor.h, linbox/algorithms/last-invariant-factor.h, linbox/algorithms/matrix-inverse.h, linbox/algorithms/matrix-mod.h, linbox/algorithms/smith-form.h, implement EGV/EGV+/EGV++ algorithm for Smith Form computation.
* add linbox/tests/test-last-invariant-factor.C, linbox/tests/test-smith-form.C, linbox/tests/test-iliopoulos-elimination.C, add test for smith form computation and iliopoulos elimination.
2004-01-26 Zhendong Wan <wan@udel.edu>
* linbox/blackbox/submatrix.h, add specialization for submatrix of denese matrices.
* linbox/matrix/dense-submatrix.h, linbox/matrix/dense-submatrix.inl, fixed output / input
2004-1-15 bds
* field/archetype.h field/field-interface.h: doc tweaks
* matrix/dense-submatrix.h matrix/dense-submatrix.inl: fixed write trouble.
* vector/subvector.h: fixed swap
2004-01-07 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
Fix some printing messages in :
* macro/atlas-check.m4
* macro/expat-check.m4
* macro/givaro-check.m4
* macro/lidia-check.m4
* macro/ntl-check.m4
* macro/saclib-check.m4
2003-12-29 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/matrix/transpose.h (class TransposeMatrix): Remove const
requirement on input matrix; add in regular iterators
* tests/test-matrix-domain.C (transpose): Remove const
(testInvMulOver, testInvMulUnder, testInvLeftMulinOver)
(testInvRightMulinOver): Remove const from parameter M
2003-12-28 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/vector/vector-domain.h (class VectorDomain): Add permute,
swap functions
* linbox/vector/vector-domain.inl (swapSpecialized,
permuteSpecialized): Implement
* linbox/matrix/matrix-domain.inl (permuteRowsByRow)
(permuteRowsByCol, permuteColsByRow, permuteColsByCol): Implement
* linbox/matrix/matrix-domain.h (class MatrixDomain): Add
row/column permutation functions
2003-12-19 bds
* tests/Makefile.am: just clean up some comments
2003-12-19 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* added files :
linbox/gen_superlu/Makefile.am: missing file
macros/config-header.m4: create linbox-config.h from config.h by prefixing all variable by __LINBOX_
macros/linbox-misc.m4: allow --with-all and --with-default options
Modify Makefile such they use pkg variable
* gmp++/Makefile.am
* interfaces/Makefile.am
* interfaces/maple/Makefile.am
* linbox/Makefile.am
* linbox/algorithms/Makefile.am
* linbox/blackbox/Makefile.am
* linbox/element/Makefile.am
* linbox/fflapack/Makefile.am
* linbox/fflas/Makefile.am
* linbox/field/Makefile.am
* linbox/iterators/Makefile.am
* linbox/matrix/Makefile.am
* linbox/randiter/Makefile.am
* linbox/solutions/Makefile.am
* linbox/switch/Makefile.am
* linbox/util/Makefile.am
* linbox/util/xml/Makefile.am
* linbox/vector/Makefile.am
Modify all macro such that they use --with-package terminology + some new features
* macros/Makefile.am
* macros/atlas-check.m4
* macros/expat-check.m4
* macros/givaro-check.m4
* macros/gmp-check.m4
* macros/lidia-check.m4
* macros/maple-check.m4
* macros/ntl-check.m4
* macros/saclib-check.m4
modify sources and headers files such that the use the new terminology variable from linbox-config.h
* linbox/blackbox/archetype.h
* linbox/blackbox/compose.h
* linbox/blackbox/dense.h
* linbox/blackbox/diagonal.h
* linbox/blackbox/nag-sparse.h
* linbox/blackbox/ntl-toeplitz.h
* linbox/blackbox/ntl-toeplitz.inl
* linbox/blackbox/permutation.h
* linbox/blackbox/scalar-matrix.h
* linbox/blackbox/sparse.h
* linbox/blackbox/triplesbb.h
* linbox/blackbox/zero-one.h
* linbox/blackbox/zero-one.inl
* linbox/fflas/fflas.h
* linbox/fflas/fflas_fgemm.inl
* linbox/field/abstract.h
* linbox/field/archetype.h
* linbox/field/envelope.h
* linbox/field/gf2.h
* linbox/field/givaro-gfq.h
* linbox/field/givaro-zpz.h
* linbox/field/gmp-rational.h
* linbox/field/lidia-gfq.h
* linbox/field/modular.h
* linbox/field/ntl-RR.h
* linbox/field/ntl-ZZ_p.h
* linbox/field/ntl-ZZ_pE.h
* linbox/field/unparametric.h
* linbox/matrix/dense.h
* linbox/matrix/dense.inl
* linbox/matrix/sparse.h
* linbox/matrix/sparse.inl
* linbox/randiter/gf2.h
* linbox/randiter/gmp-rational.h
* linbox/randiter/lidia-gfq.h
* linbox/randiter/modular.h
* linbox/randiter/nonzero.h
* linbox/randiter/unparametric.h
* linbox/util/xml/field-reader-analyzer.h
* linbox/util/xml/reader-blackbox-factory.h
* configure.in: Modification for new features
* tests/Makefile.am: disable some tests and put tests in right place according to their dependencies
* tests/test-lsp.C: changing the verification of result to be faster
* Hacking: Adding new way of installation
* maple stuff installation have been improved
2003-12-15 Saunders/Wan/Lobo
* lbmaple.C: getField -> field, template for triplebb.
2003-11-18 Saunders/Wan
* merge newBB branch into main branch (note: there is an indented section of
branch changelog notes down below.)
2003-10-21 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
Modify few Makefile.am in order to synchronise make dist and make check
* linbox/algorithm/Makefile.am adding lsp.h
* linbox/field/Makefile.am add modular-balance-int.h hom.h image-field.h
* linbox/blackbox/Makefile.am add missing files
* tests/Makefile.am fixe some bugs. move test-gssv.C to EXTRA PROGRAM
2003-10-08 wan@udel.edu
* linbox/matrix/dense.inl, remove the width in write member function, since it causes problem for some ring and it is not necessary, for example, linbox integer doesnot have fixed length
2003-09-29 wan@udel.edu
* linbox/util/field-zxpy.h, linbox/vector/vector-domain.h,.inl, linbox/field/givaro-zpz.h,modular-balance-int.h,modular-byte.h,modular-int.h,modular-short.h,modular.h,unparametric.h, add a new member reset to FieldAXPY, set initial accumulator's value to zero, thus we can put an instantiation of FieldAXPY into field of VectorDomain, instead of temporily instantiating FieldAXPY whenever we need it.
2003-09-27 wan@udel.edu
* linbox/field/ntl* linbox/randiter/mersenne-twister.* linbox/randiter/unparametric.h, make them work with the new random memebr function.
2003-09-27 wan@udel.edu
* linbox/blackbox/dense.h, change the parameter RandIter &iter --> const RandIter &iter in its constructor.
2003-09-27 wan@udel.edu
* linbox/randiter/*.h, make each random member function to be a const member function in each random class, since the member will not change the instantiation of the random class at all, just generate a random element.
* linbox/matrix/dense.inl, make RowIterator and ColIterator support operator --() and operator-- (int).
2003-09-26 wan@udel.edu
* linbox/matrix/dense.h, fit to g++3 change, add std to endl.
2003-08-15 saunders@udel.edu
* sundry minor doc++ tweaks.
2003-08-14 saunders@udel.edu
* sundry doc++ comments in doc/ examples/ and tests/
* added files (in newbB branch)
linbox.dxx doc/fix-index examples/ex-integers.C
examples/examples.dxx examples/blackbox/blackbox.dxx
examples/fields/fields.dxx tests/tests.dxx
* linbox/blackbox/sparse.h added default sizes
* removed FROZEN, it's contents added to CHANGED-INTERFACES
2003-08-13 saunders@udel.edu
* test-generic.h blackbox tests simplified, testBB() added
* ntl-zz_p.h field fixed
* tests/test-ntl-toeplitz/hankel to newBB.
begin newBB branch notes
2003-11-05 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* add file /linbox/field/modular-double.h
* /linbox/field/modular.h include modular-double.h
2003-10-23 wan@udel.edu
* linbox/blackbox/dense.h, in the operator= , I forced the assignment for field _F.
2003-10-22 wan@udel.edu
* tests/Makefile.am, comment test-lsp, since g++ complains its syntax error.
* linbox/blackbox/compose.h, correct a few typos.
2003-10-22 wan@udel.edu
* linbox/field/modular-byte.h, minor change for write member function, output the modulus as a int instead of a char.
2003-10-22 wan@udel.edu
* linbox/blackbox/compose.h, add specialization for Compose<Blackbox, Blackbox>
2003-10-08 wan@udel.edu
* linbox/matrix/dense.inl, remove the width in write member function, since it causes problem for some ring and it is not necessary, for example, linbox integer doesnot have fixed length
2003-09-29 wan@udel.edu
* linbox/util/field-zxpy.h, linbox/vector/vector-domain.h,.inl, linbox/field/givaro-zpz.h,modular-balance-int.h,modular-byte.h,modular-int.h,modular-short.h,modular.h,unparametric.h, add a new member reset to FieldAXPY, set initial accumulator's value to zero, thus we can put an instantiation of FieldAXPY into field of VectorDomain, instead of temporily instantiating FieldAXPY whenever we need it.
2003-09-27 wan@udel.edu
* linbox/field/ntl* linbox/randiter/mersenne-twister.* linbox/randiter/unparametric.h, make them work with the new random memebr function.
2003-09-27 wan@udel.edu
* linbox/blackbox/dense.h, change the parameter RandIter &iter --> const RandIter &iter in its constructor.
2003-09-27 wan@udel.edu
* linbox/randiter/*.h, make each random member function to be a const member function in each random class, since the member will not change the instantiation of the random class at all, just generate a random element.
* linbox/matrix/dense.inl, make RowIterator and ColIterator support operator --() and operator-- (int).
2003-09-26 wan@udel.edu
* linbox/matrix/dense.h, fit to g++3 change, add std to endl.
2003-08-15 saunders@udel.edu
* sundry minor doc++ tweaks.
2003-08-14 saunders@udel.edu
* sundry doc++ comments in doc/ examples/ and tests/
* added files (in newbB branch)
linbox.dxx doc/fix-index examples/ex-integers.C
examples/examples.dxx examples/blackbox/blackbox.dxx
examples/fields/fields.dxx tests/tests.dxx
* linbox/blackbox/sparse.h added default sizes
* removed FROZEN, it's contents added to CHANGED-INTERFACES
2003-08-13 saunders@udel.edu
* test-generic.h blackbox tests simplified, testBB() added
* ntl-zz_p.h field fixed
* tests/test-ntl-toeplitz/hankel to newBB.
end newBB branch notes
2003-08-09 saunders@udel.edu
* sundry documentation mods
* blackbox/companion.h fix
2003-08-08 Rich Seagraves <seagrave@cis.udel.edu>
* linbox/util/xml/field-reader-analyzer.C:
* linbox/util/xml/reader-blackbox-factory.C: Removed files (depricated)
* gmp++/gmp++_int.h:
* linbox/util/gmp++/gmp++_int_misc.C: Added operator bool to LinBox Integer class (casts integer to remainder upon division by 2)
* linbox/blackbox/archetype.h: Add XML support to BlackboxArchetype
* linbox/blackbox/companion.h: Add XML support
* linbox/blackbox/compose.h: Added partial XML support (incomplete)
* linbox/blackbox/scalar-matrix.h:
* linbox/blackbox/triplesbb.h:
* linbox/blackbox/zero-one.h:
* linbox/blackbox/zero-one.inl:
* linbox/blackbox/dense.h:
* linbox/blackbox/nag-sparse.h:
* linbox/blackbox/ntl-toeplitz.h:
* linbox/blackbox/ntl-toeplitz.inl:
* linbox/matrix/sparse.inl: Modified XML Reading, Writing methods for these Blackboxes
* linbox/field/abstract.h:
* linbox/field/envelope.h: Added reading & writing methods to envelope & abstract
* linbox/field/givaro-zpz.h:
* linbox/field/modular.h:
* linbox/field/unparametric.h: Modified XML Reading, Writing methods for these Blackboxes
* linbox/field/archetype.h: Added XML support to Field archetype (incomplete)
* linbox/util/xml/field-reader-analyzer.h:
* linbox/util/xml/reader-blackbox-factory.h: Completed experimental version of FieldReaderAnalyzer & ReaderBlackBoxFactory
* linbox/util/xml/Makefile.am: Added entries for reader-blackbox-factory.h & field-reader-analyzer.h
2003-08-07 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/element/Makefile.am (EXTRA_DIST): Remove abstract.dxx
* linbox/Makefile.am (EXTRA_DIST): Remove interfaces.dxx
* RELEASE-INSTRUCTIONS: Add this file
* tests/Makefile.am (BASIC_TESTS): Remove test-givaro-zpz
(EXTRA_PROGRAMS): Add $(GIVARO_TESTS)
* linbox/algorithms/wiedemann.inl (precondition): Allocate all
Compose objects dynamically
* tests/test-solve.C (main): Restore call to
testPreconditionedSolve
* linbox/field/gmp-rational.h (GMPRationalField::read):
Compilation fix
2003-07-25 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/algorithms/block-lanczos.inl: Add calls for detailed
timing information
2003-07-20 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/field/modular.inl (mulColDenseSpecialized): Compilation
fixes
* linbox/algorithms/block-lanczos.h (class BlockLanczosSolver):
Initialize _MD in all constructors
2003-07-23 wan@udel.edu
* linbox/field/modular-int.h, linbox/field/modular-short.h, linbox/field/modular-byte.h add MVProductionDomain specialization.
2003-07-21 Rich Seagraves <seagrave@cis.udel.edu>
* linbox/util/xml/field-reader-analyzer.C:
* linbox/util/xml/field-reader-analyzer.h: added files for Reader->Field conversion
* linbox/util/xml/reader-blackbox-factory.h:
* linbox/util/xml/reader-blackbox-factory.C: added files for Reader->BlackBox conversion
* linbox/blackbox/dense.h:
* linbox/matrix/dense.h: Added XML support to DenseMatrix class
* linbox/blackbox/diagonal.h: "" Diagonal class
* linbox/blackbox/nag-sparse.h: "" NAGSparse class
* linbox/blackbox/ntl-toeplitz.h:
* linbox/blackbox/ntl-toeplitz.inl: "" NTLToeplitz class
* linbox/blackbox/permutation.h: "" Permutation class
* linbox/blackbox/scalar-matrix.h: "" ScalarMatrix class
* linbox/blackbox/sparse.h:
* linbox/matrix/sparse.h: "" SparseMatrix class
* linbox/blackbox/triplesbb.h: "" TriplesBB class
* linbox/blackbox/zero-one.h:
* linbox/blackbox/zero-one.inl: "" ZeroOne class
* linbox/field/gf2.h: "" GF2 class
* linbox/field/gf2.inl:
* linbox/field/givaro-gfq.h: "" Givaro::GFq class
* linbox/field/givaro-zpz.h:
* linbox/field/givaro-zpz.inl: "" Givaro::Modular class
* linbox/field/gmp-rational.h: "" GMPRationalField class
* linbox/field/lidia-gfq.h: "" LidiaGfq class
* linbox/field/modular.h: "" Modular class
* linbox/field/ntl-RR.h: "" NTL::RR specilization of Unparametric
* linbox/field/ntl-ZZ_p.h: "" NTL::ZZ_p ""
* linbox/field/ntl-zz_p.h: "" NTL::zz_p ""
* linbox/field/ntl-ZZ_pE.h: "" NTL::ZZ_pE ""
* linbox/field/unparametric.h: Added XML support to UnparametricField
* linbox/randiter/gmp-rational.h: "" GMPRationalRandIter class
* linbox/randiter/lidia-gfq.h: "" LidiaGfq randiter
* linbox/randiter/modular.h: "" Modular randiter
* linbox/randiter/nonzero.h: "" NonZero randiter
* linbox/randiter/unparametric.h: "" UnparametricRanditer
* linbox/util/xml/linbox-reader.h:
* linbox/util/xml/linbox-writer.h:
* linbox/util/xml/xml-tree.h: Updated XML reading & writing API
2003-07-21 saunders@udel.edu
* Documentation modifications in doc/doc.dxx linbox/archetypes.dxx linbox/linbox.dxx
linbox/blackbox/blackbox.dxx linbox/blackbox/direct-sum.h
linbox/element/abstract.h linbox/element/archetype.h
linbox/element/envelope.h
Removed Files:
linbox/interfaces.dxx linbox/wrappers.dxx
linbox/element/abstract.dxx linbox/element/archetype.dxx
2003-07-21 wan@udel.edu
* linbox/field/modular-balance-int.h, add balance representation for modular field.
* tests/test-modular-balance-int.C, add test for balance representation for modular field.
2003-07-14 saunders@udel.edu
* tests/Makefile.am givaro test now works
* various.dxx some doc tweaks
2003-07-11 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/algorithms/block-lanczos.inl (iterate): Add TIMER_* calls
to report detailed timings when DETAILED_PROFILE is set
* linbox/randiter/mersenne-twister.h:
* linbox/randiter/mersenne-twister.C: Eliminate #pragma directives
2003-07-10 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/matrix-blackbox.h (class MatrixBlackbox): Add
this file
2003-07-06 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/matrix/transpose.h (class TransposeMatrix): Add missing
Row, Col, Column declarations
* linbox/field/modular.h (class MVProductDomain): Add
specializations for uint8, uint16, and uint32
2003-07-05 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/matrix/matrix-domain.h (class MVProductDomain): Create
this class and move mulColSpecialized for dense vectors into it
* linbox/algorithms/block-lanczos.inl (solve): Try checking system
solution even if iterate returned false, just in case enough of
the Krylov basis was obtained to get the true solution.
2003-07-03 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/diagonal.h (Diagonal::apply): Don't resize the
output
* linbox/blackbox/transpose.h (class Transpose): Parameterize by
black box; add versions of apply and applyTranspose separately
parameterized by vector
* linbox/blackbox/compose.h (class Compose): Add versions of apply
and applyTranspose separately parameterized by vector
(class Compose): Parameterize by blackboxes
* tests/test-sparse.C (runSparseMatrixTests): Disable testing
sparse matrix against non-dense vectors, since I don't support
them any more
* linbox/blackbox/sparse.h (class SparseMatrix): Add versions of
apply and applyTranspose parameterized by two vector types; add
MatrixDomain _MD; Use _MD for arithmetic and eliminate
specializations as they are no longer needed; eliminate
applyTransposeSpecialized
* linbox/matrix/matrix-domain.h (MatrixDomain::blackboxMul):
Rename blackboxMulLeft, blackboxMulRight; parameterize by black
box and not by vector
2003-07-02 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/solutions/solve.h (solve): Eliminate Vector from
BlockLanczosSolver declaration; parameterize by black box
* linbox/algorithms/block-lanczos.inl (iterate): Declare tmp and
tmp1 locally
(mulin): Use Vector<Field>::Dense::iterator rather than Vector
* linbox/algorithms/block-lanczos.h (class BlockLanczosSolver):
Eliminate v and Av
(class BlockLanczosSolver): Eliminate _t1; replace _t with _tmp
* linbox/algorithms/block-lanczos.inl (solve): Parameterize by
black box and vector
(iterate): Ditto
(solve): Eliminate v and Av
* linbox/algorithms/block-lanczos.h:
(class BlockLanczosSolver): Make generic wrt internal matrix type
used; no longer parameterize by vector
* linbox/algorithms/block-lanczos.inl (compute_Winv_S): Compute
and return rank of V^T AV
(iterate): Keep track of Ni and add trace statements to report it;
abort if total of Ni's is too large
(iterate): Use Vi = 0 as termination condition
(iterate): Add variable progress_interval giving number of
iterations between each call to commentator.progress
(compute_Winv_S): Don't call commentator.progress unless
DETAILED_TRACE is set
2003-07-09 saunders@cis.udel.edu
* field/ntl-zz_p.h unparametric.h fix yesterday's version - syntax of new constructor from p,e.
2003-07-08 saunders@cis.udel.edu
* Documentation tweaks, especially vis a vis @memo entries.
* See doc/doc.dxx for discussion of documentation conventions.
* For now, let's try to make the html documentation work and leave tex for later.
2003-07-07 Rich Seagraves <seagrave@cis.udel.edu>
* macros/expat-check.m4: Disabled automatic detection of expat in system standard locations, expat must now be manually specified in configure step
2003-06-30 Rich Seagraves <seagrave@cis.udel.edu>
* macros/expat-check.m4:
* linbox/blackbox/triplesbb.h:
* linbox/field/modular.h: Files altered to use "XMLENABLED" pre-processor flag instead of "RWENABLED"
* linbox/matrix/sparse.h:
* linbox/matrix/sparse.inl:
* linbox/blackbox/sparse.h:
* linbox/blackbox/sparse.inl: Added XML support to all SparseMatrix variants
* linbox/blackbox/nag-sparse.h: Added XML support to NAGSparse blackbox
* linbox/blackbox/zero-one.h: Added XML support to ZeroOne blackbox
* linbox/util/xml/linbox-reader.h: Added constructor from initalized Writer
* linbox/util/xml/linbox-writer.h: begun adding ability to traverse written Tag structure, add tags BEFORE as well as after the current Tag
2003-06-26 Rich Seagraves <seagrave@cis.udel.edu>
* add macros/expat-check.m4,
* add linbox/util/xml,
* add linbox/util/xml/linbox-reader.h,
* add linbox/util/xml/linbox-writer.h,
* add linbox/util/xml/xml-tree.h,
* add linbox/util/xml/README,
* add linbox/util/xml/Makefile.am: Defines LinBox/XML framework
* configure.in: Alters build system to make expat package optional dependency
* linbox/util/Makefile.am: make xml a subdir of util
* linbox/blackbox/triplesbb.h: Add XML reading & Writing to TriplesBB class
* linbox/field/modular.h: Add XML reading & Writing to ModularBase class
* linbox/solutions/det.h: commented out debug output
2003-06-24 wan@udel.edu
* linbox/field/modular-int.h, linbox/field/modular-short.h, linbox/field/modular-byte.h, use a fast way to compute 2^64 % modulus.
* linbox/tests/test-modular-int.h, change the modulus to a 30 big integer.
2003-06-20 wan@udel.edu
* linbox/blackbox/butterfly.h, linbox/blackbox/dense.h
* linbox/blackbox/dif.h,linbox/blackbox/inverse.h
* linbox/blackbox/sparse.h, linbox/blackbox/submatrix.h : for high performance reason, and a field only occupies a small memory, change const Field& to const Field in private field.
2003-06-16 wan@udel.edu
* add linbox/field/modular-int.h, modular-short.h , modular-byte, combining the trick of NTL for arithmetic operation and dot product of modluar<uint32>
* add linbox/tests/test-modular-int.C, test-modular-short.C, test-modular-byte.C.
* linbox/randiter/modular.h, remove field _card, since it only uses to initialize _size.
2003-06-12 wan@udel.edu
* linbox/field/givaro-gfq.h, enforce that the cardinality must be <2^16, for givaro-gfq
* linbox/randiter/modular.h, replace static-cast with init in the random function.
2003-06-05 saunders@udel.edu
* work on documentation in linbox/blackbox (particularly blackbox.dxx and archetype.h).
* Note: renamed blackboxes.dxx to blackbox.dxx and removed some cruft files.
2003-06-03 zhendong wan
* linbox/blackbox/ntl-sylvester.inl remove the warning message.
2003-06-03 zhendong wan
* linbox/field/ntl-zz-p.h, set default prime to be 65521
* tests/test-sum.C, correct a type name error.
2003-06-03 zhendong wan
* linbox/util/commentator.C, tests/test-commentator.C, temporarily fixed the bug in test-commentator, left a little memory leaking.
2003-06-02 saunders@udel.edu
* blackbox/zero-one.h, .inl: mods to avoid g++ 3.2.1 typename warnings.
2003-05-30 saunders@udel.edu
* field/unparametric.h field/ntl-zz_p.h tests/test-ntl-zz_p.cpp: put in prototype of a constructor
* I propose to have all field classes have a constructor from a prime and optionally an exponent --
* FieldClass(integer q) if a prime field class, (allow q = 0)
* FieldClass(integer q, size_t e) if an extension of degree e.
2003-05-30 saunders@udel.edu
* tests/test-commentator.C - adjust so passes on solaris. Note: there is apparently still a bug to fix.
2003-05-30 zhendong wan <wan@mail.eecis.udel.edu>
* linbox/blackbox/null-matrix.h: remove getInstance member function. Make default constructor public, remove static member nullMatrix
* linbox/blackbox/direct-sum.h: update the include file for NullMatrix.
* tests/Makefile.am: comment some tests lacking of source codes
* linbox/blackbox/Makefile.am: put in null-matrix.h direct-sum.h
2003-05-29 saunders@udel.edu
* change name to null-matrix.h and depreciate applyIn and a doc++ comment.
2003-05-29 zhendong wan <wan@mail.eecis.udel.edu>
* linbox/blackbox/nullmatrix.h : added a new singelton class. a matrix of size 0
* linbox/black/direct-sum.h : solved some ugly problem
2003-05-28 zhendong wan <wan@mail.eecis.udel.edu>
* tests/test-direct-sum.c: update the tests for DirectSum
2003-05-28 austin lobo <alobo@udel.edu> david saunders <saunders@udel.edu>
* Changed blackbox/direct-sum.h to allow for 0 x 0 blocks
* Changed blackbox/scalar-matrix.h to properly handle 0 x 0 matrix
* Added test for 0 x 0 in tests/test-direct-sum.C
* Added test for 0 x 0 in tests/test-scalar-matrix.C
* New blackbox/frobenius.h and tests/test-frobenius.C
2003-05-27 zhendong wan <wan@mail.eecis.udl.edu>
* linbox/blackbox/companion.h, tests/test-companion.h: revised the Compa
nion class, remove template parameter Polynomial, modify the constructor with ra
ndom genertor.
2003-05-27 saunders@udel.edu
* blackbox/companion.h, tests/test-companion.h: added class inherits from triplesbb
* tests/test-triplesbb.C: add test from other constructor
2003-05-26 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* linbox/FFLAS/fflas.h : modify field_trsm to be closed to blas standard
* linbox/FFLAS.fflas.inl : put macro LEFT,RIGHT,UNIT,NOUNIT,LOWER,UPPER, to specialize field_trsm function
* linbox/algorithms/lsp.h : adding function to retrieve index of zero and non-zero rows in S.
* linbox/algorithms/lsp-tools.h: adding function to handle row permutation , synchronization with field_trsm
2003-05-23 saunders@udel.edu
* tests/test-generic.h: make testSmallBlackbox work, put it in with linearity and transpose in testBlackbox.
2003-05-20 saunders@udel.edu
* linbox/blackbox/compose.h: add constructor from references, &A &B.
* linbox/blackbox/sum.h: add constructor from refs, &A &B; remove cloning; copy field for speed.
* linbox/field/ntl-zz_p.h: typdef to name NTL_zz_p
* macros/atlas-check.m4: remove f77blas refs which break things for me. Hope not needed by others.
* tests/test-butterfly.C: also check Compose constructor with refs (vs ptrs)
* tests/test-generic.h: fix vector size bug in testTranspose().
* tests/test-rank.C: add testZeroAndIdentRank().
* tests/test-sum.C: also check Sum constructor with refs (vs ptrs), calls testBlackbox() too.
* Added Files: linbox/blackbox/direct-sum.h tests/test-direct-sum.C:
DirectSum BB is direct sum of 2 BBs, similar in structure to Compose, Sum.
2003-05-14 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* tests/Makefile.am (BASIC_TESTS): Reintroduce test-solve
* tests/test-solve.C (testSingularInconsistentSolve): Check status
== ...INCONSISTENT, not status == SINGULAR
2003-04-23 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* linbox/algorithms/lsp.h: delete typo errors
* linbox/algorithms/lsp-tools.h : clarify Compute-G function
* tests/Makefile.am: retrieve test-lsp
2003-04-19 -bds - comment out non working tests in tests/Makefile.am
2003-04-11 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* linbox/FFLAS/FFFMMBLAS.h: use of init and convert with double in MatGfq2MatDouble,
MatGfq2MatDouble_Triangular and MatDouble2MatGfq
* linbox/field/givaro-zpz.h: define convert to double
2003-04-11 Austin Lobo <alobo@cis.udel.edu>
* Added rules for ntl-sylvester and test-ntl-sylvester
* Added ntl-sylvester.h ntl-sylvester.inl to the repository
2003-04-10 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* linbox/algorithms/lsp.h : optimization
* linbox/FFLAS.fflas.inl : new version of Field_trsm (more effficient)
2003-04-04 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* linbox/field/givaro-zpz.h: fix bug with init from double
* linbox/field/givaro-zpz.inl: fix some warnings
* linbox/FFLAS/FFFMMBLAS.h: fix some bugs
* linbox/FFLAS/fflas.inl: fix some bugs
* linbox/algorithms/lsp.h: adding <iostream.h> header
* linbox/tests/test-lsp.C: adding test for LSP factorization with atlas library
* linbox/tests/Makefile.am: adding tests and variables for atlas library
2003-04-02 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* linbox/matrix/dense.h: adding parameter _ptr as a pointer on the first Element of the matrix
adding FullIterator() function (returning _ptr)
2003-04-02 Jean-Guillaume Dumas <Jean-Guillaume.Dumas@imag.fr>
* gmp++/gmp++_int.h: Backed out my commit
* linbox/util/gmp++/gmp++_int_misc.C: Backed out my commit
* macros/gmp-check.m4 : added GMP_VERSION Makefile variable to enable
gmp-3.xxx compatibility
* All this is made to have fully SIMILAR gmp++ files within givaro
* and linbox (e.g. no "#include <linbox-config.h>" nor
* "#include <givaro-config.h>"
2003-04-02 Giorgi Pascal <pascal.giorgi@ens-lyon.fr>
* linbox/macros/atlas-check.m4: adding checking for atlas tuning library
* linbox/configure.in: adding check for atlas
* linbox/field/givaro-zpz.h: adding init function from double
* linbox/algorithms/lsp.h :
* linbox/algorithms/lsp-tools.h : algorithm to compute the LSP decomposition of a dense matrix stored contiguously by row.
* linbox/FFLAS/ : new directory containing FFLAS routine of jean-guillaume and clement and also LinBox wrappers
* linbox/FFLAS/FFFMMBLAS.h: FFLAS routine (j-g and clement code)
* linbox/FFLAS/ FFFMMBLAS.inl: FFLAS routine (j-g and clement code)
* linbox/FFLAS/lin_wrap_c++.h: FFLAS routine (j-g and clement code)
* linbox/FFLAS/lin_wrap_c++.inl: FFLAS routine (j-g and clement code)
* linbox/FFLAS/fflas.h: wrappers including field_dgemm and field_trsm
* linbox/FFLAS/fflas.inl: wrappers including field_dgemm and field_trsm
2003-04-01 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/matrix/matrix-domain.inl:
* linbox/matrix/matrix-domain.h: Back out previous changes
2003-03-31 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* tests/test-vector-domain.C (main): Add test for uint8
* linbox/field/modular.h (class FieldAXPY<uint8>): typedef uint8
Element
2003-03-29 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/vector/bit-vector.h: Be generic wrt word length, so we
can use 64-bit arithmetic when available
* linbox/util/debug.h: Remove GCCisms
2003-03-27 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* gmp++/gmp++_int.h: Add operator unsigned char
* gmp++/gmp++_int.h: Backed out previous commit, since it broke
the build for the entire library
* linbox/util/gmp++/gmp++_int_misc.C: Backed out previous commit,
since it broke the build for this file
* tests/test-modular.C (main): Add test for Modular<uint8>
* linbox/field/modular.h (class FieldAXPY): Add specialization for
uint8
(class Modular): Add specialization for uint8
(class DotProductDomain): Add specialization for uint8
2003-03-26 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/matrix/matrix-domain.h (class MatrixVectorDomain): Create
this class and move mulRowSpecialized and mulColSpecialized
functions into it
(class MatrixDomain): Inherit MatrixVectorDomain
(class MatrixDomain): Move _VD to MatrixVectorDomain
* linbox/field/gf2.inl (class Diagonal): Add specialization for GF2
* linbox/blackbox/diagonal.h (class Diagonal): Use RandIter, not
RandomIterator
* linbox/field/gf2.inl (addinSpecialized): Remember to increment
other iterators
* tests/test-gf2.C (testDotProductGF2): Create new version for
dense/sparse test
(testDotProductGF2): Use generic vector names
(main): Use unsigned int rather than size_t for n
* linbox/field/gf2.inl (dotSpecializedDD): Use mask at the end of
the vector
* linbox/vector/bit-vector.inl (class BitVector::const_iterator):
Add operator = (iterator)
(class BitVector::iterator): Make const_iterator a friend
(class BitVector::reference): Ditto
(class BitVector::iterator, class BitVector::const_iterator): Add
equality checks with each other
* tests/test-gf2.C (testDotProduct): Enable this
* linbox/field/gf2.inl (class RandomSparseStreamGF2, class
RandomDenseStreamGF2): Require seed as a parameter
(addSpecialized): Swap x and y in if statement
(VectorDomain<GF2>::addinSpecialized): Fix call to copy
* linbox/vector/bit-vector.inl (operator ==): Make this operation
a bit smarter
2003-03-23 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/field/gf2.inl (class VectorDomain): Sprinkle this->
before copy liberally to make SGI CC happy
* linbox/vector/bit-vector.inl (operator =): Return *this
* tests/test-dif.C (testZeroApply): Remove neg_one
* linbox/util/field-axpy.h (FieldAXPY::operator =): Don't try to
assign the field
* tests/test-sparse.C (main): Don't use NonzeroRandIter for
RandomSparseStream -- that's already implied
* linbox/field/gf2.inl (class RandomDenseStreamGF2, class
RandomSparseStreamGF2): Rename from specializations of
RandomDenseStream and RandomSparseStream
* tests/Makefile.am: Enable test-gf2
* linbox/vector/bit-vector.inl (BitVector::resize): Set _size
* linbox/randiter/mersenne-twister.h
(MersenneTwister::randomDoubleRange): Move this to the header file
* linbox/randiter/mersenne-twister.C (randomInt): Make this not
inline
* linbox/field/gf2.inl (class RandomDenseStream): Use the Mersenne
Twister
(class RandomSparseStream): Use the Mersenne Twister
* linbox/randiter/gf2.h (class GF2RandIter): Use the Mersenne
Twister
(GF2RandIter::random): Overload with two reference types rather
than using template <reference>
* linbox/field/gf2.h (class GF2): Eliminate template <reference>
declarations; instead use manual overloading. This means we only
support bool & and BitVector::reference. Use a straight bool on
const parameters
* linbox/vector/bit-vector.inl: Add inserter and extractor
overloading for BitVector::(const_)reference
* linbox/vector/Makefile.am (include_HEADERS): Add missing
bit-vector.inl
* linbox/randiter/Makefile.am (BASIC_HDRS): Add missing gf2.h
2003-03-16 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/util/commentator.C (Commentator::setMaxDepth,
Commentator::setMaxDetailLevel): Use ++i, not i++
* linbox/vector/subvector.h (Subvector::at): Use const_reference
rather than const reference
* linbox/vector/reverse.h (ReverseVector): Use const_reference
rather than const reference
* linbox/util/commentator.h (class Commentator): Add setMaxDepth
and setMaxDetailLevel to disabled commentator
2003-03-21 Austin Lobo <alobo2@washcoll.edu>
* test-generic.h: added testApply(..) and testApplyTranspose(...)
to testBlackBox, so that timings for these two
operations can be obtained.
* test-ntl-toeplitz.C, test-ntl-hankel.C: cosmetic changes to
give slightly cleaner status message.
* ntl-toeplitz.inl: modifications in the
limits of iterations to take into account the
possibility of rectangular matrices.
2003-03-20 Giorgi Pascal <pascal.giorgi@ens-lyon.fr>
* linbox/field/givaro-zpz.h fix bugs for init function
2003-03-15 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/randiter/modular.h (RandIter::RandIter): Copy _size and
_seed in copy constructor
* linbox/vector/stream.h (class RandomSparseStream): Use
MersenneTwister
(class RandomSparseStream): Declare the base random iterator
locally
* linbox/randiter/modular.h (Modular<uint32>::RandIter,
Modular<uint16>::RandIter): New specializations; use the new
Mersenne Twister random number generator
* linbox/randiter/Makefile.am (noinst_LTLIBRARIES): Add libranditer.la
(libranditer_la_SOURCES): Add mersenne-twister.C
(BASIC_HDRS): Add mersenne-twister.h
* linbox/Makefile.am (liblinbox_la_LIBADD): Add libranditer.la
2003-02-07 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/matrix/Makefile.am (BASIC_HDRS): Add matrix-domain.{h|inl}
* linbox/vector/Makefile.am (include_HEADERS): Add
vector-domain.{h|inl}
2002-03-04 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* linbox/field/givaro-zpz.h added specialization for DotProductDomain and FieldAxpy
* linbox/field/givaro-zpz.inl added specialization for DotProductDomain and FieldAxpy
2003-03-03 Zhendong Wan <wan@cis.udel.edu>
*linbox/matrix/matrix-domain.h, include header file linbox/vector/vector-domain.h
2003-02-26 Austin Lobo <alobo@cis.udel.edu>
* linbox/blackbox/Makefile.am (include_HEADERS) : added ntl-hankel.h
* linbox/blackbox/ntl-hankel.h: added to library after testing
* linbox/blackbox/ntl-hankel.inl: added to library after testing
* linbox/tests/test-ntl-hankel.C: added to library after testing
* linbox/tests/Makefile.am: (test_ntl_hankel_SOURCES) added
* linbox/tests/test-generic.h: minor changes to make output clearer.
2003-02-25 Zhendong Wan <wan@mail.eecis.udel.edu>
*linbox/blackbox/zero-one.h, zero-one.inl. Correct one typo.
2003-02-25 Zhendong Wan <wan@mail.eecis.udel.edu>
*linbox/blackbox/zero-one.h, zero-one.inl. Seperate the Intereface and i
implementation, put them in seperate files.And make apply specialization for Modular<uint32> work.
2003-02-24 David Saunders and Zhendong Wan
* linbox/util/timer.h: #define __LINBOX_TIMER_H to avoid conflict with givaro timer
* tests/Makefile.am: reinstate givaro test
2003-02-22 David Saunders
* tests/test-solve.C: comment out "Sparse preconditioner", MethodTrait::Wiedemann::SPARSE
It's segfaulting, likely due to Compose changes.
* linbox/blackbox/transpose.h compose.h: remove cloning
* linbox/blackbox/triplesbb.h: coupla "typename"s to remove warnings.
* linbox/field/hom.h image-field.h: Introduce a scheme for homomorphic images
with injections in extension fields in mind, isoms in mind, ints to modular in mind.
Specializations are now needed.
* tests/test-hom.C test-image-field.C: Add prototype tests for 'em.
* tests/test-generic.h: make statistical randiter test more likely to pass.
2003-02-05 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* tests/Makefile.am (NTL_TESTS): Move test-ntl-toeplitz here
(NTL_TESTS): Move test-gssv_rank here
* tests/test-solve.C (testSingularPreconditionedSolve)
(testSingularInconsistentSolve): Use version of solve without
exceptions
* linbox/solutions/solve.h (solve): Return WiedemannSolver return
status rather than reference to solution vector. Require parameter
for certificate of inconsistency. New version that throws exceptions
* linbox/algorithms/wiedemann.h (class WiedemannSolver): Remove
exception code; have all functions return a new enum ReturnStatus
2003-02-04 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/vector/stream.h (class RandomSparseStream): Remove
specialization for dense vectors
* tests/test-generic.h: Remove testFieldAXPY
(runFieldTests): Remove call to testFieldAXPY
* linbox/vector/vector-traits.h (struct VectorCategories): Add
ZeroOneVectorTag, SparseVectorTag for GF(2)
2003-02-03 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* tests/test-vector-domain.C: Include test-generic.h
* tests/test-generic.h (testRandomIterator): Move from
test-modular.C here
(testDotProduct, testAddMul, testSubMul, testAXPY, testCopyEqual):
Move from test-vector-domain.C here
* tests/test-rank.C (testEliminationRank): New test
* linbox/matrix/sparse.h (class SparseMatrixBase): Add operator []
for row access
(class SparseMatrixBase): Add typedef ConstRow
* examples/blackbox/Makefile.am (EXTRA_PROGRAMS): Add random-rank
* linbox/matrix/Makefile.am (BASIC_HDRS): Add dense-rows-matrix.h
* linbox/vector/Makefile.am (include_HEADERS): Add bit-vector.h
* linbox/field/Makefile.am (BASIC_HDRS): Add gf2.h, gf2.inl
* linbox/algorithms/wiedemann.inl (makeLambdaSparseMatrix): Update
RandomSparseStream
* linbox/vector/stream.h (RandomSparseStream::RandomSparseStream):
Put probability parameter before vector dimension
* linbox/algorithms/gauss.h: Rename gauss_rankin as rankin and
gauss_rank as rank
* linbox/algorithms/block-lanczos.h (class BlockLanczosSolver):
* linbox/algorithms/block-lanczos.inl (solve):
* linbox/algorithms/lanczos.h (class LanczosSolver):
* linbox/algorithms/lanczos.inl (solve):
* linbox/solutions/solve.h (solve):
* linbox/algorithms/wiedemann.h (class WiedemannSolver):
* linbox/algorithms/wiedemann.inl: Port to new SolverTraits interface
* linbox/solutions/methods.h (struct WiedemannTraits): Move
Wiedemann-dependent traits here
(struct LanczosTraits): Move Lanczos-dependent traits here
(struct BlockLanczosTraits): New structure
(struct SolverTraits): Parameterize by MethodTraits and include an
instance thereof; remove all method-specific traits
* linbox/matrix/dense.h (DenseMatrixBase::columnDensity): New
function
* linbox/matrix/archetype.h (MatrixArchetype::columnDensity,
MatrixArchetype::transpose): New functions
* linbox/matrix/sparse.h (SparseMatrixBase::columnDensity): New
function
* linbox/solutions/methods.h (struct RankTraits): New structure
(struct MethodTrait): Add BlockLanczos
2003-03-4 Rich Seagraves <seagrave@cis.udel.edu>
* interfaces/maple/demonstration.mws: Finished
* interfaces/maple/lbmaple.C: Fixed the final bugs with LinBoxV
handling code.
* interfaces/maple/lbmaple.mpl.tail: ditto. Also, renamed LBApply and
LBApplyTranpose as LBaply and LBapplyTranspose to be like the rest of
the names
* interfaces/maple/lbmaple.mpl.tail: ditto.
* configure.in: Removed a double reference to matrix/Makefile in
AC_OUTPUT[...]
2003-03-4 Rich Seagraves <seagrave@cis.udel.edu>
* interfaces/maple/demonstration.mws: Updated file, should be working
* interfaces/maple/README: Added file
* interfaces/maple/lbmaple.mpl.tail: Edited final line, lbmaple.mpl
script now puts LinBox module into global maple namespace when run
2003-02-3 Rich Seagraves <seagrave@cis.udel.edu>
* interfaces/maple/lbmaple.mpl.tail: Fixed some interface bugs
* interfaces/maple/demosntration.mws: Updated file, it's almost finished
2003-01-30 Rich Seagrves <seagrave@cis.udel.edu>
* interfaces/maple/Makefile.am:
* interfaces/maple/Makefile.in.2:
* macros/maple-check.m4: Fixed bug in maple interface build setup
* linbox/blackbox/triplesbb.h: Added missing _max() function
2003-01-30 Rich Seagraves <seagrave@cis.udel.edu>
* tests/Makefile.am: Added entry for test-zero-one.C
* tests/test-zero-one.C: Fixed file, now complies with standard for tests
* macros/maple-check.m4: Now install maple interface in "prefix" directory
* interfaces/maple/Makefile.am: Ditto
* interfaces/maple/Makefile.in.2: Ditto as well :-)
* linbox/blackbox/triplesbb.h: Added file (copy of maplebb.h)
* interfaces/maple/maplebb.h: Removed file
* interfaces/maple/lbmaple.C: Now use TriplesBB blackbox instead of MapleBB
* linbox/blackbox/zero-one.h: Removed some warnings
2003-01-30 Saunders
* tests/test-scalar-matrix.C: simplify test to generic testBlackbox.
* tests/test-*.C: modify " ... test suite" header line of output to be preceeded
by blank line rather than followed.
* linbox/blackbox/hilbert.h, tests/test-hilbert.C: fix hilbert example
(for dense vector only) and insert a generic test
2003-01-29 Rich Seagraves <seagrave@cis.udel.edu>
* interfaces/maple/lbmaple.C: Killed all bugs
* interfaces/maple/lbmaple.mpl.tail: Ditto
* macros/maple-check.m4: Fixed problem with check whether specified maple dir
IS actually valid maple distribution
2003-01-29 Ahmet Duran and David Saunders
* examples/gen_superlu/*: examples added and also removed as a subdir within
linbox, i.e. linbox/gen_superlu/example/ subdir.
2003-01-29 Ahmet Duran and David Saunders
* linbox/gen_superlu/: directory and contents are a generic version of
superlu created by Ahmet. Basics work but header comments and the like
will be brought up to form in the near future,
* tests/test-gssv_rank: a proto test for gen_superlu, improvements will come.
* test/data/gssv_rank_data: input matrix for test-gssv_rank.
2003-01-29 Rich Seagraves <seagrave@cis.udel.edu>
* interfaces/maple/Makefile.am: Remove "if HAVE_MAPLE" check
* interfaces/maple/lbmaple.C: Fixed some bugs, warnings
* interfaces/maple/maplebb.h: Fixed some bugs, warnings
* interfaces/maple/lbmaple.mpl.head: Changed formatting a bit
* interfaces/maple/lbmaple.mpl.tail: Changed formatting a bit
* macros/maple-check.m4: Requires the flag "--enable-shared" to build maple interface,
made some fixes to ensure proper building of lbmaple.mpl, interface script
* linbox/blackbox/zero-one.h: Fixed in-file test functions
* tests/test-zero-one.C: Added test for ZeroOne blackbox
2003-01-20 Austin Lobo <alobo@cis.udel.edu>
* linbox/field/ntl-RR.h: Corrected clashes with LinBox namespace
2003-01-20 Austin Lobo <alobo@cis.udel.edu>
* tests/test-ntl-toeplitz.C: Corrected clashes with LinBox namespace
* linbox/blackbox/ntl-toeplitz.inl: Corrected clashes with LinBox namespace
* linbox/blackbox/ntl-toeplitz.h: Corrected clashes with LinBox namespace
2003-01-20 Austin Lobo <alobo@cis.udel.edu>
* tests/Makefile.am: reinstated test-ntl-toeplitz
* tests/test-generic.h: added LinBox namespace to commentator calls
2003-01-17 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* configure.in: Give a sane default for CFLAGS and CXXFLAGS
2003-01-17 David Saunders
* CHANGED-INTERFACES: coupla edits to bring this summary up to date a bit
2003-01-16 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* configure.in: Disable shared again
2003-01-14 David Saunders
*linbox/linbox.dxx, interfaces.dxx: Text edits. interfaces.dxx should be renamed archetypes.dxx.
Much text added to interfaces.dxx, some of it speculative. Further editing definitely desirable.
2003-01-14 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/matrix/matrices.dxx: Add missing
* interfaces/maple/Makefile.am (mapledir): Put all build rules
inside a conditional
* configure.in: Add linbox/matrix/Makefile
* linbox/matrix/matrix-domain.h: Move from linbox/field
* linbox/matrix/matrix-domain.inl: Move from linbox/field
* linbox/vector/vector-domain.h: Move from linbox/field
* linbox/vector/vector-domain.inl: Move from linbox/field/vector-domain.C
2003-01-11 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/Makefile.am (BASIC_HDRS): Remove files listed
below
* */*.{h|C|inl}: Update to reflect changes below;
s/SparseMatrix0/SparseMatrix/
* linbox/matrix/dense.h: Move from blackbox/dense-base.h
* linbox/matrix/dense.inl: Move from blackbox/dense-base.inl
* linbox/matrix/sparse.h: Move from blackbox/sparse-base.h
* linbox/matrix/sparse.inl: Move from blackbox/sparse-base.inl
* linbox/matrix/transpose.h: Move from blackbox/transpose-matrix.h
* linbox/matrix/dense-submatrix.h: Move from blackbox/dense-submatrix.h
* linbox/matrix/dense-submatrix.inl: Move from blackbox/dense-submatrix.inl
* linbox/Makefile.am (SUBDIRS): Add matrix
2003-01-09 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/solutions/det.h (det): Give correct solution when deg
minpoly is odd
2003-01-08 Brad Botting <bbotting@math.uwaterloo.ca>
* linbox/blackbox/dense.h (DenseMatrix::read, DenseMatrix::write):
Use fully-qualified name for calling overloaded read and write
2003-01-08 Rich Seagraves <seagrave@cis.udel.edu>
* linbox/blackbox/dif.h (very top): changed __TRANSPOSE_H to __DIF_H
in the preprocessor test directive at the top of the file
* linbox/blackbox/sum.h (very top): changed __TRANSPOSE_H to __SUM_H
in the preprocessor test directive at the top of the file
* linbox/blackbox/zero-one.h: begin implementing modular template
specialization
* linbox/util/timer.h (class Timer): change members ut, st, and rt
into private members instead of public members (changed second
appearance of "public" to "private").
2003-01-08 Saunders
* tests/test-dif.C, blackbox/dif.h: difference of two matrices. Minor tweak on sum.h.
2003-01-08 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/dense.h (DenseMatrix::write): Use os, not file
* tests/test-matrix-domain.C (testMatrixDomain): Don't refer to
stream.dim when constructing stream (remaining two
specializations)
2003-01-07 Brad Botting <bbotting@math.uwaterloo.ca>
* linbox/switch/Makefile.am (includedir): Install to switch, not
vector
2003-01-07 Bradford Hovinen <hovinen@algol.cis.udel.edu>
* linbox/algorithms/block-lanczos.h: Undefine _S, _M, _N for the
benefit of Solaris
2003-01-07 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/algorithms/wiedemann.h: #include sparse.h
* tests/test-matrix-domain.C (testMatrixDomain): Don't refer to
stream.dim when constructing stream
2002-1-7 Saunders
* tests/test-subvector.cpp: removed. Superceded by test-subvector.C
2002-1-6 Rich Seagraves <seagrave@cis.udel.edu>
* linbox/algorithms/massey-domain.h: changed swap() to std::swap()
* linbox/randiter/modular.h: changed endl to std::endl in commentator line
* linbox/blackbox/zero-one.h: added RawIterator and RawIndexIterator support to ZeroOne blackbox
2003-01-06 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* tests/test-common.C: #include <cmath>
2002-12-23 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* tests/test-common.h: Add incompleteGamma, chiSquaredCDF
* tests/test-modular.C (testRandomIterator): New test
(main): Call testRandomIterator
2002-12-18 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/* (LinBox): Doc++ fixes
* configure.in: Add check for latex
2002-12-16 Rich Seagraves <seagrave@cis.udel.edu>
* linbox/blackbox/zero-one.h: Added file
* linbox/blackbox/nag-sparse.h: Fixed some errors
2002-12-11 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/util/commentator.h: Include streambuf
* linbox/blackbox/butterfly.h (buildIndices): Remove check that _n
is nonnegative, since _n is unsigned
* linbox/blackbox/dense-base.inl (ColIterator::operator +): Make
this non-const
(ConstColIterator::operator +): Ditto
* linbox/blackbox/diagonal.h (class Diagonal):
* linbox/blackbox/moore-penrose.h (class MoorePenrose):
* linbox/blackbox/butterfly.h (class Butterfly):
* linbox/blackbox/dense.h (class DenseMatrix):
* linbox/blackbox/compose.h (class Compose):
* linbox/blackbox/scalar-matrix.h (class ScalarMatrix):
Parameterize on _Vector and typedef Vector
* linbox/field/modular.h: Cast to signed quantities when comparing
with 0
(LinBox): Add template <> when needed
* linbox/blackbox/butterfly.h (setButterfly): Eliminate unused
j_1, j_2
(setButterfly): Eliminate check for j < 0, as we are dealing with
unsigned quantities
* linbox/blackbox/archetype.h (class BlackboxArchetype): Remove
std:: from size_t
* linbox/algorithms/block-lanczos.inl (eliminate_col)
(find_pivot_row, permute): Take an std::vector for indices rather
than a pointer
(compute_Winv_S): Use _indices; don't declare indices
(compute_Winv_S, find_pivot_row, eliminate_col): Make these
non-const
* linbox/algorithms/block-lanczos.h (class BlockLanczosSolver):
Add vector _indices
* linbox/blackbox/sparse-base.inl (refEntry):
* linbox/field/vector-domain.C: Make sure there's an std:: before
pair
* linbox/util/debug.C:
* linbox/field/lidia-gfq.h:
* linbox/util/debug.h:
* linbox/blackbox/archetype.h: Get rid of 'using namespace std'
* linbox/blackbox/transpose.h (class Transpose): Use linbox_check
* linbox/blackbox/sparse.h:
* linbox/vector/stream.h: Parameterize all classes by _Vector and
typedef to Vector
* linbox/field/modular.h:
* tests/test-common.C:
* linbox/util/debug.h:
* linbox/field/vector-domain.C:
* linbox/field/vector-domain.h:
* linbox/blackbox/sparse-base.inl: Make sure there's an std::
before iostream references
* gmp++/gmp++_int.inl: Move constructor and destructor definitions
to gmp++_int.h to avoid compiler complaints
2002-12-09 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* linbox/blackbox/dense-base.inl (RowIterator): Add operator +=
(ColIterator): Ditto
2002-12-10 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* tests/test-solve.C (main): Add CLI option for blocking factor
* linbox/algorithms/lanczos.inl (iterate): Use DETAILED_TRACE ala
block-lanczos.inl
* linbox/solutions/methods.h (SolverTraits::Preconditioner): Add
DEFAULT
* linbox/algorithms/wiedemann.inl (precondition): Add default case
label for unsupported preconditioners
* linbox/solutions/solve.h (solve): Add support for Block Lanczos
* tests/test-solve.C (testRandomSolve): New test
(main): Add calls to testRandomSolve for Lanczos and Block Lanczos
* linbox/solutions/methods.h (SolverTraits::Method): Add
BLOCK_LANCZOS
(struct SolverTraits): Add _blockingFactor and related methods
* linbox/algorithms/Makefile.am (include_HEADERS): Add
block-lanczos.{h|inl}
* linbox/algorithms/lanczos.inl (solve): Import code from
block-lanczos.inl to support more preconditioner types
2002-12-09 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* configure.in: Bump version number to 0.1.4
2002-12-07 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/util/commentator.C (Commentator::finishActivityReport):
Show the timings in the finalized report, if requested
* linbox/field/modular.h (Modular::negin): Fix in case where x ==
0
* linbox/util/commentator.C (Commentator::printActivityReport):
Reset _last_line_len if no length is given
* linbox/field/vector-domain.C (axpyinSpecialized): Add explicit
specializations for Dense/*
* linbox/field/matrix-domain.inl (mulColSpecialized): Fix
non-dense code
* linbox/field/matrix-domain.h (MatrixDomain::mulColSpecialized):
Create specializations for dense/* and have everything route to
that combination
* linbox/solutions/methods.h (SolverTraits::Preconditioner): Add
SYMMETRIZE, PARTIAL_DIAGONAL, and FULL_DIAGONAL
2002-12-06 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/sparse-base.inl (write): Tweak output slightly
* linbox/blackbox/sparse.h (class MatrixTraits): Define
specialization for SparseMatrix0
* linbox/blackbox/dense-base.inl (ConstRowIterator::operator +):
Don't return a reference
(write): Tweak output slightly
2002-12-05 Rich Seagaves
* interfaces/maple/Makefile.in.1: fixed a small break in the build
stage
2002-12-01 Rich Seagraves
* interfaces/maple/Makefile.blank: removed, not needed
* interfaces/maple/lbmaple.mpl: also removed
* interfaces/maple/Makefile.in.1:
* interfaces/maple/Makefile.in.2: added files
* macros/maple-check.m4: modified for new maple build system
* interfaces/maple/lbmaple.C: fixed a bunch of boo-boo's
* interfaces/maple/maplebb.h: fixed a boo-boo
2002-12-01 Rich Seagraves
* interfaces/maple/lbmaple.C:
* interfaces/maple/lbmaple.mpl.head:
* interfaces/maple/lbmaple.mpl.tail:
* interfaces/maple/maplebb.h:
* interfaces/maple/Makefile.am:
* interfaces/maple/Makefile.blank:
* interfaces/maple/demonstration.mws:
* macros/maple-check.m4: Added files for interface
* configure.in: Added checks for interface build, installation
2002-12-01 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* configure.in (AC_OUTPUT): Add missing interfaces/Makefile
2002-11-30 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/field/matrix-domain.inl (axpyinRowRowRow)
(axpyinColColCol): Fix allocation sizes for t
* tests/test-matrix-domain.C (testInvMul, testInvLeftMulin,
testInvRightMulin): Split these into three cases: square,
over-determined, and under-determined. Use the product of the
matrix and its transpose (in the appropriate order) in the latter
cases
* linbox/algorithms/block-massey-domain.h (class
MasseyBlockDomain): Make _MD a MatrixDomain<Field>
* linbox/field/matrix-domain.inl: Comment out pow_apply and pow_horn
* linbox/blackbox/sparse-base.h (class SparseMatrix0WriteHelper)
(class SparseMatrix0ReadWriteHelper): Compilation fixes
(class SparseMatrix0Base): Update iterator interfaces to match the
dense matrix archetype
(class SparseMatrix0Base): Make Row a typedef of _Row
* linbox/blackbox/dense.h (DenseMatrix::read, DenseMatrix::write):
Swap order of arguments for consistency
* linbox/blackbox/dense-submatrix.h
(DenseSubmatrix::DenseSubmatrix): Take a reference rather than a
pointer
* linbox/blackbox/dense-base.inl (ConstRowIterator::operator ++)
(RowIterator::operator ++): Use ++*this rather than ++_row
* tests/Makefile.am (BASIC_TESTS): Add test-matrix-domain
* linbox/randiter/modular.h (ModularRandIter::ModularRandIter):
clock was always returning 0, so go back to time (NULL)
* linbox/blackbox/sparse.h (SparseMatrix0::write): Make
FORMAT_PRETTY the default
* linbox/blackbox/sparse-base.h (SparseMatrix0Base::write): Make
FORMAT_PRETTY the default
* linbox/field/Makefile.am (BASIC_HDRS): Add matrix-domain.h,
matrix-domain.inl
* linbox/util/commentator.C (Commentator::printActivityReport):
(Commentator::updateActivityReport):
(Commentator::finishActivityReport): Don't indent
* tests/test-trace.C:
* tests/test-sum.C:
* tests/test-submatrix.C:
* tests/test-sparse.C:
* tests/test-solve.C:
* tests/test-rank.C:
* tests/test-moore-penrose.C:
* tests/test-minpoly.C:
* linbox/blackbox/dense-base.inl:
* linbox/blackbox/sparse-base.inl:
* tests/test-matrix-domain.C:
* tests/test-inverse.C:
* tests/test-diagonal.C:
* tests/test-det.C:
* tests/test-dense.C:
* tests/test-butterfly.C:
* tests/test-vector-domain.C:
* tests/test-generic.h: Eliminate calls to commentator.indent
* linbox/util/commentator.C (Commentator::report): Don't initially
indent
* linbox/util/commentator.h (class MessageClass): Define
smartStreambuf, build _stream from that; add Commentator to all
constructors; add copy constructor
* linbox/util/commentator.C (Commentator::indent): Make this const
2002-11-29 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/field/vector-domain.h (class VectorDomain): Add support
for add/sub/mul/axpy with vectors of different representations,
using GenericVectorTag to control the number of specializations
required
* linbox/vector/vector-traits.h (struct VectorCategories): Add
GenericVectorTag; make everything else inherit that
* linbox/blackbox/dense-base.inl (DenseMatrixBase::read): Return
the input stream
* linbox/blackbox/dense-base.h (DenseMatrixBase::read,
DenseMatrixBase::write): Swap order of arguments, to be consistent
with SparseMatrix0Base
* linbox/blackbox/dense-base.h:
* linbox/blackbox/dense-submatrix.h:
* linbox/blackbox/sparse-base.h: Add struct MatrixTraits
* linbox/blackbox/dense-base.h:
* linbox/blackbox/sparse-base.h:
* linbox/blackbox/dense-submatrix.h: Make Element a typedef from
_Element
2002-11-28 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/dense-submatrix.h (class DenseSubmatrix): Use a
reference rather than a pointer
* linbox/blackbox/sparse-base.h (class
SparseMatrix0ReadWriteHelper): Make all methods const
2002-11-26 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/Makefile.am (BASIC_HDRS): Add transpose-matrix.h
* linbox/blackbox/dense-submatrix.h (struct MatrixTraits): Define
* linbox/blackbox/dense-base.h (struct MatrixTraits): Define
* linbox/field/matrix-domain.h (struct MatrixCategories)
(struct MatrixTraits): Define
* linbox/field/matrix-domain.inl: Moved all the arithmetic from
matrix-domain.C here, in accordance with the convention
* linbox/field/matrix-domain.h: Added detailed documentation,
cleaned up the interface slightly, and added support for matrix
traits. Added read, write, neg, negin, axpy, matrix-vector and
matrix-black box operations
* linbox/field/vector-domain.h (class VectorDomain): Extend axpyin
so that it can work with vectors of more than one
representation. Create specializations for input and output
vectors of different representations that just use copy. For the
benefit of MatrixDomain
2002-11-27 Rich Seagraves and David Saunders
* interfaces, interfaces/maple: directories added to hold the Maple
linbox interface (which Rich will put there soon ).
* Makefile.am interfaces/Makefile.am: subdir entries.
2002-10-29 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/dense-base.inl (ColIterator::operator +): Make this
work like a real + operator
(RowIterator::operator +): Ditto
(RowIterator, ConstRowIterator): Fixed some ID10T errors
2002-10-28 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/dense-submatrix.inl: Ditto below
* linbox/blackbox/dense-base.h: Rename ColOfRowsIterator as
RowIterator; similarly with RowOfColsIterator
2002-10-28 Zhendong Wan and David Saunders
* linbox/blackbox/dense.h: tweak doc++, delete RowIterator and
ColIterator types in matrix class. Change name of RawIndexIterator
to RawIndexedIterator.
* linbox/blackbox/dense.inl: update impl to reflect dense.h changes.
2002-10-28 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* tests/test-trace.C (testDiagonalTrace): Make sure vectors get
declared to the right length
* tests/test-sum.C (testZeroApply): Make sure vectors get declared
to the right length
* linbox/vector/stream.h (RandomSparseStream::get,
RandomDenseStream::get): Don't try to resize the vector
* linbox/blackbox/dense-base.inl (write): Make output format a
little prettier
* linbox/algorithms/lanczos.inl (solve): Length of b1 should be
row dimension of A
* linbox/field/vector-domain.h (neg, negin): Add these interfaces
and implement
(class VectorDomain): Parameterize arithmetic methods by separate
vector types for each vector argument. Though they do not support
arithmetic on different vector *representations* at the same time,
one can use this to, say, add a column vector into a standalone
vector
2002-10-27 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/dense.inl:
* linbox/blackbox/dense.h: Split out container/iterator
functionality into new DenseMatrixBase
* linbox/blackbox/Makefile.am (BASIC_HDRS): Add dense-submatrix.h,
dense-submatrix.inl
* linbox/blackbox/dense.inl (read): Compilation fix
(write): Prefer ISO standard outputs
* linbox/blackbox/dense-submatrix.inl: Rename from densesubmatrix.C
* linbox/blackbox/dense-submatrix.h (class DenseSubmatrix): Fix
constructor interface; add interfaces missing from DenseMatrix;
add Doc++ documentation; reindent
* linbox/blackbox/dense-submatrix.h: Rename from densesubmatrix.h
* linbox/blackbox/dense.h (DenseMatrix::refEntry): Define
(class DenseMatrix): Reorder the declarations to match
SparseMatrix0Base; reindent; add Doc++ documentation to the
interfaces
(DenseMatrix::getEntry): Add a form that returns a read-only
reference to the entry
(class DenseMatrix): Make generic wrt vector type
(class DenseMatrix): Move some of the one-liners from dense.inl
into the class
(DenseMatrix::resize): Implement
* macros/saclib-check.m4:
* macros/givaro-check.m4:
* macros/lidia-check.m4:
* macros/ntl-check.m4:
* macros/gmp-check.m4: Preserve user-specified CXXFLAGS and LIBS
when running test
2002-10-26 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* tests/Makefile.am (CLEANFILES): Add $(TESTS)
* .cvsignore: Update
* acconfig.h: Remove this file
* macros/gmp-check.m4:
* macros/ntl-check.m4:
* macros/lidia-check.m4:
* macros/givaro-check.m4:
* macros/saclib-check.m4: Use modernized AC_DEFINE
* configure.in: Bump version to 0.1.3
* .cvsignore:
* tests/.cvsignore: Update
* tests/test-solve.C (testIdentitySolve, testNonsingularSolve):
Don't explicitly give whether the matrix is symmetric
* linbox/algorithms/Makefile.am (include_HEADERS): Add
lanczos.{h|inl}
* linbox/solutions/solve.h (solve): Add support for Lanczos
iteration
* tests/test-solve.C (testIdentitySolve, testNonsingularSolve)
(testSingularConsistentSolve, testSingularInconsistentSolve): Add
support for specifying the solver to be used
(testSingularPreconditionedSolve): Add support for specifying the
preconditioner to be used
2002-10-14 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/algorithms/wiedemann.inl (solveNonsingular): Add support
for symmetric containers, using _traits.symmetric
* linbox/algorithms/blackbox-container-symmetric.h (class
BlackboxContainerSymmetric): Add parameter for the field
* linbox/solutions/methods.h (struct SolverTraits): Add parameter
symmetric, telling whether the matrix is symmetric
* tests/test-solve.C: Update with changes to solve
2002-10-13 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/solutions/methods.h (struct SolverTraits): Add
documentation; remove unimplemented string constructor
* linbox/solutions/solve.h (solve): Add a variant that does not
throw any exceptions
* linbox/solutions/methods.h (struct SolverTraits): Make default
maxTries 100
* linbox/solutions/methods.h (class InconsistentSystem, class
SolveFailed): Move these from WiedemannSolver here, since they
apply to more than just Wiedemann
2002-10-09 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/ntl-toeplitz.inl: Compilation fixes
* tests/test-ntl-toeplitz.C: Compilation fixes
2002-10-03 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/switch/cekstv.h (applyTranspose, apply): Fix formulae
* linbox/algorithms/wiedemann.inl (findNullspaceElement)
(findRandomSolution): Pass _randiter to RandomDenseStream
constructor
* linbox/algorithms/wiedemann.h (class WiedemannSolver): Add
constructor that accepts random iterator
* linbox/algorithms/wiedemann.inl (solveNonsingular)
(precondition, makeLambdaSparseMatrix): Use _randiter
(solveNonsingular): Add parameter useRandIter to determine whether
to use the random iterator, or to use b for the Krylov sequence
computation
(findNullspaceElement, certifyInconsistency): Remove
preconditioner support
(solveSingular): Use non-preconditioned A for certificate of
inconsistency
(makeLambdaSparseMatrix): Use the existing randiter, since
RandomSparseStream already constructs a NonzeroRandIter
(certifyInconsistency): Pass _randiter to WiedemannSolver
constructor
* linbox/algorithms/wiedemann.h (class WiedemannSolver): Add _randiter
* linbox/algorithms/wiedemann.inl (solveSingular): Throw a
BadPreconditioner exception if the reason for failure was a bad
preconditioner, since this means the rank computation was probably
correct and can be reused
(solveSingular): Move rank computation to solve
(solve): Compute rank and try to reuse when possible; set rank to
(unsigned long) -1 when SolveFailed thrown
* tests/test-solve.C (testSingularPreconditionedSolve): Return
success value rather than always returning true
* linbox/randiter/modular.h (LinBox): Use clock () rather than
time (NULL) to get a higher-resolution timer
* tests/test-solve.C (testSingularPreconditionedSolve): Don't fill
matrix with 1's; just build a diagonal black box
2002-10-02 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/algorithms/wiedemann.h: Refactoring: Put everything
inside a WiedemannSolver class, with the following interface
solveNonsingular - Solve a nonsingular system
solveSingular - Solve a general singular system
findRandomSolution - Find a random solution to a singular preconditioned problem
findNullSpaceElement - Find an element of the right nullspace
certifyInconsistency - Find a certificate of inconsistency for a linear system
precondition - Form a preconditioner and return it
* tests/test-solve.C (testSingularPreconditionedSolve)
(testSingularInconsistentSolve, testSingularConsistentSolve):
Update according to interface changes in wiedemann.h
* linbox/field/vector-domain.C (VectorDomain::writeSpecialized):
Remove debugging code
* tests/test-butterfly.C (main): Use Modular<uint32> and make
GF(2147483647) the default
(testCekstvSwitch): Use preconditioner PDQ rather than just PD
* tests/test-solve.C (testSingularPreconditionedSolve): Always
return true
* linbox/blackbox/moore-penrose.h (MoorePenrose::MoorePenrose):
Update use of Submatrix
* tests/test-moore-penrose.C (testRandomApply1): Update use of
Submatrix
* tests/test-solve.C (main): Reenable tests other than
preconditioned solve
* linbox/algorithms/wiedemann.h (solveWiedemannSingular):
Implement sparse preconditioner
* linbox/blackbox/sparse-base.h (class SparseMatrix0Base): Add
method transpose
(class SparseMatrix0Base): Rename VectorTrait as RowTrait in
specializations
* linbox/blackbox/sparse-base.inl (transpose): Implement
2002-09-30 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/solutions/methods.h (struct SolverTraits): Add enum
Preconditioner; rename precondition to preconditioner; add methods to
set parameters
(SolverTraits::SolverTraits): Initialize _singular with singular, not
UNKNOWN
* linbox/vector/stream.h (RandomSparseStream::setP): Implement
* tests/test-butterfly.C (testSetButterfly): Reset the stream
* tests/test-solve.C (testSingularPreconditionedSolve): Use a
SparseMatrix0 and fill in the entries below the zeros with 1's
* tests/test-butterfly.C (testCekstvSwitch): Ditto
2002-09-26 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/algorithms/wiedemann.h (solveWiedemannSingular):
Construct a CekstvSwitchFactory and use it as input for the
CekstvSwitch constructor
(solveWiedemannSingular): Commentator fixes
* linbox/blackbox/butterfly.h (class Butterfly): Parameterize on
the field, give a reasonable default for Vector
* linbox/switch/boolean.h (class BooleanSwitch):
* linbox/switch/cekstv.h (class CekstvSwitch): Don't maintain
vector of 2x2 block information; just hold data for one 2x2 block;
eliminate field and temporary
* linbox/blackbox/butterfly.h (Butterfly): Make the vector of
switches
(class Butterfly): Constructor reorganization; see header file
2002-09-25 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/switch/cekstv.h (class CekstvSwitch): Add copy
constructor
(CekstvSwitch::CekstvSwitch): Implement copy constructor
* tests/test-butterfly.C (testRandomTranspose)
(testRandomLinearity): Implement these tests
(testCekstvSwitch): Construct a random vector and pass it to
CekstvSwitch
* linbox/algorithms/wiedemann.h (solveWiedemannSingular): Prepare
rhs before obtaining minpoly
* linbox/blackbox/submatrix.h (Submatrix::apply,
Submatrix::applyTranspose): Fill unused portions of temporary
input vector with zeros
(class Submatrix): Parameterize by field
(class Submatrix): Give a reasonable default for the vector type
* tests/test-submatrix.C (testRandomLinearity)
(testRandomTranspose): Implement these tests
* linbox/blackbox/submatrix.h (Submatrix::Submatrix): Initialize
_z with column dimension
* tests/test-submatrix.C (testRandomApply): Make vector output
LEVEL_UNIMPORTANT
(testRandomTranspose): Implement this
* linbox/blackbox/submatrix.h (class Submatrix): Make _z, _y
mutable; delete _zt, _yt
(Submatrix::apply, Submatrix::applyTranspose): Don't declare local
vectors
* tests/test-submatrix.C (testRandomApply): Reset stream when done
(testRandomLinearity): Implement this test
2002-09-23 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/algorithms/wiedemann.h (solveWiedemannSingular): Don't
use DenseVector
(solveWiedemann): Compute m_A rather than m_A,b
(solveWiedemannSingular): Fix generator for random solution
(solveWiedemannSingular): Add butterfly preconditioner support
(solveWiedemannSingular): Cancel this loop iteration if the
leading principal minor turned out to be singular
* tests/test-solve.C (testSingularConsistentSolve): Implement
(testNonsingularSolve): Rename from testDiagonalSolve
(testSingularInconsistentSolve): Implement
* linbox/algorithms/cra.h (cra): Use unsigned long in casts
(cra): Fix order of arguments to invmod
(cra): Reduce the result modulo the product of the primes
* linbox/blackbox/sparse-base.h (_RawIndexIterator::operator ++):
Update _curr.second properly
* linbox/util/prime-stream.h (PrimeStream::next): Move _curr
by 2
* linbox/algorithms/cra.h (cra): Invoke commentator
* linbox/solutions/det.h (det): Invoke commentator
* tests/test-det.C (testIntegerDet): Implement this test
(main): Call testIntegerDet
* linbox/blackbox/sparse.inl (makeBlackbox): Implement (smarter
version now, taking over for the constructor that was removed)
* linbox/blackbox/sparse.h (class SparseMatrix0): Remove
constructor from SparseMatrix0Base -- this will be handled by
SparseMatrixFactory from now on
* linbox/blackbox/sparse-base.h (class
SparseMatrix0Base::RawIterator): Remove _A, add _A_end; add
default constructor; update other constructors
(class SparseMatrix0Base::RawIndexIterator): Ditto
(class SparseMatrix0Base): Remove implementations from default
class
(class SparseMatrix0Base::RawIterator): Make this a parameterized
class to allow const version to be defined easily (N.B. I hate
C++)
(class SparseMatrix0Base::RawIndexIterator): Same as RawIterator
(N.B. Same note applies, doubly so)
* linbox/blackbox/sparse.h (SparseMatrixFactory): Pull declaration
of tmp out of the loop
* tests/test-det.C (testDiagonalDet2): Don't specify template
parameters explicitly
(testSingularDiagonalDet): Ditto
* linbox/blackbox/factory.h: Include vector-traits.h
* gmp++/gmp++_int.h (Integer::invmod): Make this static
* linbox/algorithms/cra.h (cra): Compilation fixes
* linbox/solutions/det.h (det): Compilation fixes
* linbox/blackbox/sparse.h (class SparseMatrixFactory): Make sure
SparseMatrix0Base is used with its own element and row types
* linbox/blackbox/factory.h (BlackboxFactory::makeBlackbox): Make
F const
* linbox/algorithms/cra.h (cra): Use integer:: on integer
operations
* linbox/blackbox/sparse-base.h (class SparseMatrix0Base): Provide
a reasonable default for Row; clean up template declaration
* linbox/blackbox/sparse.h (class SparseMatrix0): Clean up
template declaration
2002-09-22 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/blackbox/sparse-base.inl (write): Add support for
FORMAT_MATLAB in sparse parallel specialization
(write): Write closing bracket; put opening bracket at the
beginning of the matrix, not the beginning of each row
* linbox/blackbox/sparse.h (SparseMatrixFactory::maxNorm,
SparseMatrixFactory::rowdim, SparseMatrixFactory::coldim):
Implement
* linbox/util/gmp++/gmp++_int_gcd.C (invmod): Implement
* gmp++/gmp++_int.h (class Integer): Add invmod
* linbox/field/modular.h (class ModularBase): Remove assignment
operator
(Modular::operator =): Copy documentation from ModularBase; use F
rather than rhs; copy _two_64 rather than calling init again
* linbox/util/gmp++/gmp++_int_misc.C (nextprime, prevprime):
Implement
Include cmath
* gmp++/gmp++_int.h (class Integer): Add nextprime, prevprime
* linbox/blackbox/factory.h (class BlackboxFactory): Make a
reasonable default for Vector
* linbox/Makefile.am (BASIC_HDRS): Add rational.h
* linbox/rational.h: Add this file
* tests/test-butterfly.C (testBooleanSwitch): Remove this test; it
is redundant
* linbox/switch/cekstv.h (class CekstvSwitch): Make _iter,
_riter, and _R mutable
* linbox/blackbox/diagonal.h (class Diagonal): Give a reasonable
default for Vector
* tests/test-butterfly.C (testSetButterfly): Use stock typedef for
dense vectors
(testCekstvSwitch): Implement
2002-09-21 Bradford Hovinen <bghovinen@math.uwaterloo.ca>
* linbox/solutions/det.h (det): Add versions for integer and
rational determinant
Comilation fixes
* examples/dot-product.C (main): Update according to new
interfaces; remove unnecessary typedefs
* linbox/vector/vector-traits.h (class RawVector): Rename from
Vector; parameterize on Element rather than Field
(class Vector): Declare to inherit RawVector<typename Field::Element>
* linbox/blackbox/sparse.h (class SparseMatrixFactory): Don't
require that the field and the SparseMatrixBase share the same
element type
* examples/blackbox/.cvsignore: Update
* linbox/field/modular.h: Reinsert two deleted lines
* linbox/util/commentator.C (Commentator::printActivityReport):
Don't print percentage unless _len is positive
2002-09-21 Rich Seagraves <seagrave@cis.udel.edu>
* linbox/field/modular.h: Added = assignment operator.
2002-09-21 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* examples/blackbox/Makefile.am (EXTRA_PROGRAMS): Add load-minpoly
* linbox/blackbox/sparse-base.inl (readMatlab): Use is.putback,
not is.unget
* linbox/blackbox/sparse-base.h
(SparseMatrix0WriteHelper::Format): Add FORMAT_MATLAB
2002-09-20 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* linbox/randiter/param-fuzzy.h (ParamFuzzyRandIter::random):
Uncomment ElementAbstract version
Include element/abstract.h, element/envelope.h
* linbox/field/param-fuzzy.h: Reintroduce forward declaration of
RandIter; move include randiter/... to the end
* linbox/randiter/param-fuzzy.h (class ParamFuzzyRandIter): Add a
version of the constructor that *really* takes a field as an
argument
* tests/test-param-fuzzy.C (main): Add arguments n and i; call
runFieldTests
* tests/test-lidia-gfq.C (main): Add arguments n and i; fix
description text for argument q; call runFieldTests
* tests/test-ntl-RR.cpp (main):
* tests/test-unparametric-field.C (main): Return 0 always
* linbox/randiter/unparametric.h (UnparametricRandIter::random):
Remove debugging code
* tests/test-unparametric-field.C (main):
* tests/test-ntl-RR.cpp (main):
* tests/test-ntl-ZZ_p.cpp (main):
* tests/test-ntl-zz_p.cpp (main): Add arguments n and i; call
runFieldTests
* tests/test-gmp-rational.C (main):
* tests/test-givaro-zpz.C (main):
* tests/test-modular.C (main): Reverse order of iterations and n
when calling runFieldTests
* tests/test-generic.h: Do b / a rather than a / b
* tests/test-givaro-zpz.C (main): Add arguments n and i; fix
description text for argument q; call runFieldTests
(main): Don't print out separate headers for each test; just use
the runFieldTests wrapper.
(main): Add a parameter e and a field F5 which is GF(q^e); run a
test on that
* linbox/randiter/gmp-rational.h: Reindent
(GMPRationalRandIter::random): Initialize value properly
(GMPRationalRandIter::random): Canonicalize before returning
* linbox/field/gmp-rational.h:
* linbox/element/gmp-rational.h: Reindent
* linbox/randiter/gmp-rational.h (class GMPRationalRandIter): Fix
compile errors
* tests/test-generic.h (runFieldTests): Move from test-modular.C
here
* linbox/field/gmp-rational.h
(GMPRationalField::GMPRationalField): Initialize all the const
integers
(class GMPRationalField): Make integers not static const; fix
compile errors
* linbox/blackbox/dense.inl (apply): Remove unused variables
(applyTranspose): Remove unused variables
* linbox/blackbox/dense.h: Include vector-domain.h
* linbox/blackbox/sparse1.h: Fix compile warning
* examples/mmZZ_pE.C: Fix header and indentation; include dense.h
rather than dense-matrix1.h
2002-09-18 zhendong wan <wan@aphrodite.cis.udel.edu>
* linbox/blackbox/dense.h
Add RawIndexIterator, which looks like RawIterator
expect that it has two more member function.
rowIndex returns the row index,
colIndex returns the column index.
2002-09-17 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* linbox/solutions/det.h (det): Use commentator.start /
commentator.stop
* linbox/field/vector-domain.h (VectorDomain::copySpecialized):
Don't call resize
* linbox/blackbox/dense.h (class DenseMatrix): Remove template
parameter from VectorStream constructor; support a different
vector type in the representation
* tests/.cvsignore: Update
* linbox/blackbox/dense.h (class DenseMatrix): Add constructor
that takes a VectorStream
2002-09-16 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* linbox/blackbox/dense.h (class DenseMatrix): Define a vector
domain _VD
* linbox/blackbox/dense.inl (applyTranspose, apply): Use vector
domain
2002-09-15 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* linbox/blackbox/sparse-base.h (class
SparseMatrix0ReadWriteHelper): Add readMatlab
(SparseMatrix0WriteHelper::Format): Add FORMAT_MATLAB
(SparseMatrix0Base::Format): Add FORMAT_MATLAB
* linbox/blackbox/sparse-base.inl (write, read): Add support for
FORMAT_MATLAB
(readMatlab): Implement
2002-09-12 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* configure.in (EIGHT_BYTES): Fix typo
2002-09-11 Rich Seagraves <seagrave@cis.udel.edu>
* linbox/blackbox/nag-sparse.h: Add RawIterator and
RawIndexIterator support, altered test suite appropriately
* linbox/blackbox/archetype.h: include cstddef to ensure support
for size_t type.
2002-09-10 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* tests/test-generic.h (testFieldInversion): Make sure a is
nonzero
2002-09-09 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* configure.in: Support older versions of autoconf that give
AC_SIZEOF results in bits
2002-09-09 Saunders & Wan
* solutions/lu.h: add comments
2002-09-08 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* examples/blackbox/load-det.C: Cut out unnecessary typedefs
* linbox/blackbox/sparse.h (class SparseMatrixFactory): Define
(class SparseMatrix0): Introduce default of Dense for vector type
2002-09-08 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* .cvsignore: Update
* linbox/vector/stream.h (class RandomDenseStream, class
RandomSparseStream): Set default vector types to dense and sparse,
respectively
* linbox/vector/vector-traits.h: Add class Vector with canonical
vector types
* linbox/vector/Makefile.am (include_HEADERS): Add stream.h
* linbox/util/Makefile.am (include_HEADERS): Remove vector-factory.h
* tests/test-trace.C:
* tests/test-sum.C:
* tests/test-submatrix.C:
* tests/test-minpoly.C:
* tests/test-inverse.C:
* tests/test-diagonal.C:
* linbox/solutions/trace.h:
* linbox/algorithms/wiedemann.h:
* tests/test-butterfly.C:
* linbox/algorithms/wiedemann.h:
* tests/test-generic.h:
* tests/test-vector-domain.C:
* tests/test-solve.C:
* tests/test-moore-penrose.C:
* tests/test-sparse.C: Update with changes to linbox/vector/stream.h
* tests/test-moore-penrose.C (buildRandomSparseMatrix): Work with
sparse parallel vectors
2002-09-05 Bradford Hovinen <bghovine@math.uwaterloo.ca>
* linbox/vector/stream.h:
- Renamed to stream.h and moved to linbox/vector
- VectorFactory is now called VectorStream, which fits its purpose
somewhat better
- The interface is now closer to the interface for istream
- RandomDenseVectorFactory, et al. are refactored into classes
parameterized on the vector type and specialized appropriately. This
allows, e.g. construction of a random dense vector in sparse
representation and so on.
- New constructor interface for RandomSparseStream accepts proportion of
nonzero entries
- Reindented, since the other changes are so numerous that diffs aren't a
big deal anyway
* linbox/blackbox/archetype.h: s/stddef.h/cstddef/
2002-09-04 <hovinen@cis.udel.edu>
* tests/test-vector-domain.C (main): Remove srand call
* examples/blackbox/load-symmetrize.C (main): Remove srand call
(main): Fix help text
* examples/blackbox/load-det.C (main): Remove srand call
2002-08-28 Bradford Hovinen <hovinen@cis.udel.edu>
* NEWS: Updated text
* tests/Makefile.am (BASIC_TESTS): Remove test-lu due to
compilation problems
* configure.in: Bump version to 0.1.2
* linbox/field/lidia-gfq.h (LidiaGfq::read, LidiaGfq::write): Use
std::ostream, std::istream
* macros/gmp-check.m4: Add directives to allow use of uninstalled
GMP
* configure.in: Use AM_CONDITIONAL statements for Doc++; Add
arguments --enable-doc and --enable-doc-tex for building
documentation
* doc/Makefile.am (SUBDIRS): Mandary inclusion of html and tex
* doc/html/Makefile.am:
* doc/tex/Makefile.am: Add mechanism for optionally compiling in
targets if USE_DOCPLUSPLUS is set
2002-08-27 Bradford Hovinen <hovinen@cis.udel.edu>
* NEWS: Update text
* linbox/*/Makefile.am (EXTRA_DIST): Merge in contents of
EXTRA_HEADERS
* NEWS: Update text
* configure.in: Bump version number to 0.1.1
* tests/test-commentator.C (testBriefReport): Output brief report
data to the same file used for the other data
* linbox/util/commentator.C (MessageClass::checkConfig): Make
depth and level unsigned
(Commentator::Commentator): Set default max depth of BRIEF_REPORT
to 1
(Commentator::start): Push new activity after printing activity
report
(Commentator::stop): Pop new activity before finishing activity
report
(Commentator::progress): Test on _activities.size () - 1 for
updateActivityReport
(Commentator::progress): Tweak output
(Commentator::setPrintParameters, Commentator::setMaxDepth,
Commentator::setMaxDetailLevel): Omit BRIEF_REPORT
(Commentator::printActivityReport,
Commentator::updateActivityReport,
Commentator::finishActivityReport): Tweak output parameters
(Commentator::updateActivityReport): Don't show progress if deeper
messages are printed
* linbox/util/commentator.h (Commentator::isPrinted,
MessageClass::isPrinted): Make depth and level unsigned
* tests/.cvsignore: Update
* tests/Makefile.am (BASIC_TESTS): Add test-commentator.C
* linbox/algorithms/blackbox-container-base.h
(BlackboxContainerBase::~BlackboxContainerBase): Delete _BB, as it
was a clone
* linbox/util/commentator.h (Commentator::MessageLevel): Renumber
so that LEVEL_ALWAYS is 0
* linbox/util/commentator.C (MessageClass::fixDefaultConfig): Add
a directive to make sure LEVEL_ALWAYS messages always get printed
* linbox/util/commentator.h (Commentator::setPrintParameters,
MessageClass::setPrintParameters): Interface adjustment: only one
depth is specified, the maximum for which the directive is valid;
make depth and level unsigned
2002-08-26 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/randiter/modular.h (ModularRandIter::random): Fix call to
linbox_check
* tests/test-sparse.C (runSparseMatrixTests): Tweak text
* linbox/util/vector-factory.h
(RandomSparseSeqVectorFactory::next,
RandomSparseParVectorFactory::next): Initialize i to -1 so that
the first index might get an entry
* tests/test-generic.h (testTranspose, testLinearity): Declare new
reports inside the loop
* tests/test-sparse.C (testRandomApply2): Reset A_factory when
done
* linbox/util/field-axpy.h (class FieldAXPY): Make _F mutable
* tests/test-sparse.C (testRandomApply2): Remove this test
(testRandomApply3): Rename as testRandomApply2
(testRandomApply1, testRandomApply2): Accept a factory as a
parameter and use it to build the matrix
(testRandomTranspose, testRandomLinearity): Accept a factory as a
parameter and use it to build the matrix
* tests/test-generic.h (testGeometricSummation): Make sure a != 1
* tests/test-modular.C (runFieldTests): Implement; copy code from
relevant section of main
(main): Use runFieldTests
2002-08-25 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/.cvsignore: Update
* tests/.cvsignore: Update
* linbox/blackbox/butterfly.h (applyTranspose, apply): Call
std::copy (x.begin (), x.end (), y.begin ())
* configure.in (AC_OUTPUT): Add linbox/switch/Makefile
* macros/ntl-check.m4: Remove EX_FIELDS_NTL, as it is not needed
* linbox/Makefile.am (BASIC_HEADERS): Rename from include_HEADERS;
have include_HEADERS use the mechanism in tests/Makefile.am for
optional inclusion
* macros/ntl-check.m4 (NTL_HEADERS_*): Remove
* macros/givaro-check.m4 (GIVARO_HEADERS_*): Remove
* macros/lidia-check.m4 (LIDIA_HEADERS_*): Remove
* linbox/field/Makefile.am (BASIC_HEADERS): Rename from
include_HEADERS; have include_HEADERS use the mechanism in
tests/Makefile.am for optional inclusion
* tests/test-ntl-toeplitz.C: Rename from test-toeplitz.C
* tests/Makefile.am: Rename test-toeplitz as test-ntl-toeplitz
* macros/lidia-check.m4 (HAVE_LIDIA): Define
* macros/givaro-check.m4 (HAVE_GIVARO): Define
* macros/ntl-check.m4 (HAVE_NTL): Define
* tests/Makefile.am: Put {NTL|GIVARO|LIDIA}_TESTS in here; use
conditionals to make inclusion in TESTS optional
2002-08-20 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/butterfly.h (setButterfly): Remove Commentator
parameter; update uses of commentator to current interface; remove
TRACE code
* linbox/Makefile.am (SUBDIRS): Add switch
* examples/.cvsignore: Update
2002-08-19 Bradford Hovinen <hovinen@algol.cis.udel.edu>
* linbox/randiter/modular.h (ModularRandIter::random): Protect
from getting a result equal to the size of the sample
* tests/test-sparse.C (testRandomApply1): Remove debugging code
* linbox/randiter/modular.h (class ModularRandIter): Make _size a
double and _seed an Element, as they can never be larger than
Element
(ModularRandIter::randIter): Initialize _card
(ModularRandIter::random): Don't use temp_integer; don't mod out
by cardinality as it should not be necessary; don't convert _size
to a double
2002-08-18 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/modular.inl (dotSpecializedDSP): Add optimized
variant for very short vectors, to avoid cost of additional mod
operation
(dotSpecializedDSP, dotSpecializedDD): Defer declarations until
needed
* configure.in (AC_DEFINE_UNQUOTED): Don't quote description
* examples/blackbox/ex-mat0.C (main): Use Modular<uint32>
* examples/blackbox/example.C: Use Modular<uint32>
* examples/fields/ex-fields0.C (main): Use Modular<uint32>
* examples/fields/ex-fields.C (main): Use Modular<uint32>
* examples/blackbox/load-symmetrize.C: Use Modular<uint32>
* examples/blackbox/load-det.C: Use Modular<uint16>
* examples/dot-product.C: Use Modular<uint32>
* linbox/field/modular.inl (dotSpecializedDD, dotSpecializedDSP):
Update signatures of specialization
* tests/test-trace.C (main): Use Modular<uint32>
* tests/test-sum.C (main):
* tests/test-submatrix.C (main):
* tests/test-sparse.C (main):
* tests/test-solve.C (main):
* tests/test-scalar-matrix.C (main):
* tests/test-minpoly.C (main):
* tests/test-inverse.C (main):
* tests/test-diagonal.C (main):
* tests/test-det.C (main):
* tests/test-rank.C (main):
* tests/test-dense.C (main):
* tests/test-randiter-nonzero.C (main):
* tests/test-moore-penrose.C (main):
* tests/test-vector-domain.C: Use Modular<uint*>
* tests/test-modular.C:
* linbox/field/modular.h: Change Modular, FieldAXPY, and
DotProductDomain specializations to use new Linbox uint* types
* linbox/integer.h: Add typedefs for int*
* acconfig.h: Add #undef __LINBOX_INT*
* configure.in: Define __LINBOX_INT* based on results of
AC_SIZEOF
* linbox/field/modular.inl (dotSpecializedDD, dotSpecializedDSP):
Reintroduce faster modding out
* linbox/field/modular.h (Modular<long>::init_two_64): Start
counter at 0
* tests/test-vector-domain.C (main): Test vector domains for all
basic modular types
(testVectorDomain): Implement
* examples/blackbox/.cvsignore: Update
* examples/Makefile.am (EXTRA_PROGRAMS): Add dot-product
2002-08-13 Bradford Hovinen <hovinen@cis.udel.edu>
* configure.in: Bump version to 0.1.0
* linbox/field/modular.inl (dotSpecializedDSP, dotSpecializedDD):
Use traditional modding out pending getting the more advanced
version working correctly
* linbox/algorithms/wiedemann.h (solveWiedemannSingular): Fix
start/stop pairing
* linbox/field/modular.h (Modular<long>::inv): Keep the inputs
from sign-extending to long long
* linbox/util/commentator.C (Commentator::startIteration): Store
string in _iteration_str so that it is not deallocated when the
call returns
* linbox/util/commentator.h (class Commentator): Add _iteration_str
* tests/test-diagonal.C (testRandomMinpoly): Make vector reports
at LEVEL_UNIMPORTANT
(testRandomTranspose): Use factory to generate diagonal vector;
make it a dense vector, use VectorDomain::write
(testRandomLinearity): Implement
* tests/test-vector-domain.C (main): Used unsigned short field
* tests/test-modular.C (main): Make default n 10000; reorder test
invocations to group fields together
2002-08-12 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-vector-domain.C (testDotProduct): Make vector output
LEVEL_UNIMPORTANT
(testCopyEqual, testAXPY, testSubMul, testAddMul, testDotProduct):
Terminate vector displays with endl's
* linbox/field/modular.inl (dotSpecializedDD, dotSpecializedDSP):
Make sure arithmetic takes place without sign-extension
* tests/test-generic.h (testFieldAssociativity): Implement
2002-08-11 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-modular.C (main): Call tests indicated below for each
modular type
* tests/test-generic.h (testFieldNegation, testFieldInversion)
(testFieldAxioms, testGeometricSummation)
(testFieldCharacteristic, testFreshmansDream)
(testArithmeticConsistency, testAxpyConsistency): Implement
* tests/test-minpoly.C (main): Make A_factory sparse parallel
(testIdentityMinpoly, testNilpotentMinpoly): Define Row to be
sparse parallel
* linbox/field/modular.h (read): Do arithmetic in the domain
integer
* linbox/randiter/modular.h (ModularRandIter::random): Remove
check for negativity
* linbox/field/modular.h (Modular<short>::init): Fix in case
modulus > 2^15
(Modular<short>::init): Perform modding out operation in class
integer
(class Modular<short>): Convert to Modular<unsigned short> to
allow larger moduli
* tests/test-modular.C (main): Test Modular<integer> and
Modular<short> as well; add CLI parameters for that
* linbox/field/modular.h (class Modular<short>): Make _k a long
long
(class FieldAXPY<Modular<short> >): Make sure _y uses long long
arithmetic
(class Modular<short>): Do add and sub in a long to remove
restriction on modulus
* tests/test-vector-domain.C (main): Use a typedef for the field
* linbox/field/modular.h (class Modular<short>): Rename 'k' as '_k'
* linbox/field/modular.inl (dotSpecializedDSP): Fix compiler errors
(dotSpecializedDD): Ditto
* linbox/field/modular.h: Add specializations of DotProductDomain;
include modular.inl
(class Modular): Make DotProductDomain<...> a friend
(Modular<long>::init_two_64): Implement
(class Modular<long>): Add field _two_64
(Modular<long>::Modular): Call init_two_64
* linbox/blackbox/sparse-base.inl (setEntry): Use v.first.size ()
* examples/blackbox/load-symmetrize.C: Ditto
* examples/blackbox/load-det.C: Don't explicitly specify row type
* linbox/field/vector-domain.h (class VectorDomain): Pull out the
dense/dense and dense/sparse parallel dot products into a separate
class DotProductDomain, which VectorDomain inherits. Put the field
in a virtual base class VectorDomainBase
(VectorDomain::field): Implement this
* linbox/blackbox/sparse.h (class SparseMatrix0): Make default row
type a sparse parallel
* examples/blackbox/Makefile.am (EXTRA_PROGRAMS): Add
load-symmetrize
* linbox/algorithms/blackbox-container-symmetrize.h (class
BlackboxContainerSymmetrize): Fix compiler warnings
* linbox/blackbox/sparse-base.inl (read): Fix arguments to
readPretty
(read): Remove unused variables
(read): Add dummy return statement
* examples/blackbox/load-det.C: Fix order of template arguments;
add using namespace std
* linbox/blackbox/sparse-base.h (class SparseMatrix0Base): Fix
member initializer order
2002-08-10 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/vector-factory.h (class StandardBasisFactory): Add
specialization for sparse parallel vectors
* tests/test-generic.h (testLinearity): Use VD.write
(testTranspose): Use VD.write
(testFieldAXPY): Use VD.write, commentator.startIteration
* tests/test-sparse.C (test*): Use VD.write rather than
printVector
* linbox/blackbox/sparse-base.inl (write): Implement
specialization for sparse parallel vectors
* linbox/blackbox/sparse-base.h (class
SparseMatrix0ReadWriteHelper): Implement class NoField to avoid
having twice as many implementations as otherwise
(class SparseMatrix0ReadWriteHelper): Split out writing portions
into SparseMatrix0WriteHelper, which is partially specialized for
sparse parallel vectors
* linbox/blackbox/sparse-base.inl (getEntry, refEntry, setEntry):
Implement specializations for sparse parallel vectors
* linbox/blackbox/sparse.h: Implement specialization for sparse
parallel vectors
* linbox/blackbox/sparse.h (class SparseMatrix0): Specialize
applyTranspose so that it can handle sparse parallel vectors,
without having to specialize the entire class
* linbox/algorithms/Makefile.am (include_HEADERS): Add
wiedmemann.h
* linbox/solutions/Makefile.am (include_HEADERS): Add solve.h
2002-08-09 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/Makefile.am (BASIC_TESTS): Remove test-dense-matrix
* tests/.cvsignore: Update
* linbox/blackbox/Makefile.am (include_HEADERS): Remove
dense-matrix.h
(include_HEADERS): Change dense-matrix1.[Ch] to dense.inl, dense.h
* tests/test-submatrix.C: #include dense.h
* tests/test-inverse.C:
* linbox/blackbox/dense.h (class DenseMatrix): Make F const
2002-08-09 Dave Saunders
* linbox/vector/subvector.h: homage to the indentation police.
2002-08-09 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/dense.h (class DenseMatrix): Make _F a const
reference
(DenseMatrix::DenseMatrix): Make F const
* linbox/blackbox/dense.h:
* linbox/blackbox/dense.inl: Reindent and remove compiler warnings
* tests/test-dense.C: Rename from test-dense-matrix1.C; update
header
* linbox/algorithms/wiedemann.h (solveWiedemannSingular): Give up
if tries exceeds maxTries
(solveWiedemannSingular, solveWiedemann): Fix order of arguments
to VD.axpy
* linbox/solutions/methods.h (struct SolverTraits): Add maxTries
* linbox/algorithms/wiedemann.h (solveWiedemann): Output minimal
polynomial at LEVEL_UNIMPORTANT
* tests/test-solve.C (main): Correct output
(testDiagonalSolve): Correct output
(testDiagonalSolve): Print output vector too
* linbox/util/commentator.C (Commentator::start): Don't output
starting activity method if messages at that activity's depth
aren't printed
(Commentator::stop): Give a different message if this is the
greatest depth at which messages are printed
* linbox/algorithms/wiedemann.h (solveWiedemann): Use traditional
indexing approach; eliminate count
(solveWiedemannSingular): Ditto
* linbox/solutions/methods.h (struct SolverTraits): Add singular,
checkResult, certificate
* tests/Makefile.am (BASIC_TESTS): Remove test-solver, add
test-solve
* linbox/solutions/solve.h: Move solveWiedemann[Singular] to
linbox/algorithms/wiedemann.h; solve is now just a wrapper
* linbox/solutions/solve.h: Rename from solver.h, tweak
indentation, add header
(solve): Add argument SolverTraits
(solve): Remove randiter
(solve): Use P.front () rather than P[0]
(solve): Use iterator to go through polynomial
(solve): Don't use applyIn and axpyin; allocate another vector
(solve): Split into nonsingular case
(solveWiedemann): Move Wiedemann-based method here
(solveWiedemann): Rename y as b
* linbox/solutions/methods.h (struct SolverTraits): Add a
constructor that takes a string
* linbox/blackbox/inverse.h (apply, applyTranspose): Remove
template spec on minpoly call
* linbox/solutions/rank.h: Update header
* linbox/solutions/trace.h (trace): Reorder template parameters so
that only Vector need be specified explicitly
* tests/test-moore-penrose.C: Remove compiler warnings
* tests/test-det.C: Remove compiler warnings
* tests/test-rank.C: Remove compiler warnings
* linbox/solutions/rank.h (rank): Make i a size_t
* linbox/solutions/det.h (det): Make i a size_t
* tests/test-trace.C: Remove compiler warnings
* linbox/solutions/trace.h (trace): Remove unused int i
* linbox/blackbox/dense-matrix.h (DenseMatrix::DenseMatrix): Make
F a const
(class DenseMatrix): Make _F a const
* tests/test-common.h (multiEvalPoly): Make j a size_t
* tests/test-inverse.C: Fix compiler warnings
(testHilbertInverse, testIdentityInverse, testVandermondeInverse)
(testDiagonalInverse): Make generic wrt vector type; use
VectorFactory
(main): Add CLI argument -N for number of vectors to apply
Vandermonde inverse to
* tests/test-diagonal.C: Update header; remove compiler warnings
(testIdentityApply): Use commentator.startIteration; make generic
wrt vector type; use VectorFactory
(testRandomMinpoly): Ditto above
* linbox/blackbox/scalar-matrix.h: Remove unused y_end
* linbox/field/vector-domain.C (VectorDomain::writeSpecialized):
Make idx a size_t
* linbox/blackbox/inverse.h (Inverse::apply): Fix order of
arguments to axpy
(Inverse::applyTranspose): Ditto
* linbox/field/vector-domain.C (VectorDomain::axpySpecialized):
Fix order of arguments to _F.axpy
* linbox/algorithms/blackbox-container-base.h (class
BlackboxContainerBase): Add virtual destructor
* linbox/algorithms/massey-domain.h (MasseyDomain::massey): Cast
to avoid compiler warning
* tests/test-common.h (printPolynomial): Make val a size_t
* tests/test-minpoly.C (testRandomMinpoly1): Use VD in more places
(testRandomMinpoly1): Use startIteration
(testRandomMinpoly1): Use a vector factory to build the matrix
(testRandomMinpoly): Rename from testRandomMinpoly1
(testRandomMinpoly2): Eliminate this test, as it is now redundant
(main): Remove CLI argument -N; construct vector factories
(testNilpotentMinpoly): Make i a size_t
* tests/test-common.h (applyPoly): Fix order of arguments to
VD.axpy
(applyPoly): Make generic wrt vector type
2002-08-08 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/.cvsignore: Remove test-dense-vector-domain, add
test-subiterator, test-param-fuzzy, test-dense-matrix1
* linbox/vector/subvector.h (Subvector::Subvector): Use Iterator
() rather than 0
* linbox/field/param-fuzzy.h (class ParamFuzzy): Use std:: for
istream and ostream
* tests/test-scalar-matrix.C (testScalarApply): Make j a size_t
* tests/test-submatrix.C (testRandomApply): Make i, j, k, l
size_t's
* tests/test-subvector.C (testSubvector): Remove unused variable
i, make z a size_t
* linbox/vector/const-iterator-type.h: Qualify vector with std::
* tests/test-subiterator.C (test): Use
Subiterator<std::vector<int>::iterator>
* linbox/vector/subiterator.h: Reindent
* linbox/vector/const-iterator-type.h: Rename from
constiteratortype.h; reindent
* tests/test-randiter-nonzero.C: Remove #include <strstream>
2002-08-06 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/.cvsignore: Update
* examples/blackbox/example.C: Compilation fixes
* linbox/blackbox/sparse.h: Rename from sparse0.h
* linbox/blackbox/sparse.inl: Rename from sparse0.inl
* linbox/blackbox/sparse-base.h: Rename from sparse0-base.h
* linbox/blackbox/sparse-base.inl: Rename from sparse0-base.inl
* tests/test-sparse.C: Rename from test-sparse0.C
2002-08-05 Bradford Hovinen <hovinen@cis.udel.edu>
* Change local variable header so that it actually works
2002-08-05 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/Makefile.am (include_HEADERS): Update
* tests/Makefile.am (BASIC_TESTS): Remove test-toeplitz and
test-lu, since they depends on an optional library (i.e. NTL)
(EXTRA_PROGRAMS): Add test-toeplitz, test-lu
(BASIC_TESTS): Remove test-stub (test-stub.C is missing)
2002-08-03 Dave Saunders <saunders@cis.udel.edu>
* linbox/field/param-fuzzy.h, linbox/randiter/param-fuzzy.h: update.
* tests/test-param-fuzzy.C: Added this test. Passes, but fails thru archetype
We need to sharpen our testing. Fields should work thru the arch and
there should be exact field tests that fuzzy fields fail.
2002-08-02 Dave Saunders <saunders@cis.udel.edu>
* linbox/field/field-interface.h: empty parent class for fields added for the sake of doc++
* linbox/interfaces.dxx: summary of the various interface concepts. Many have archtypes, but not all
* consequential changes to these files: doc/Makefile.am doc/html/Makefile.am linbox/Makefile.am linbox/linbox.dxx
linbox/field/Makefile.am linbox/field/archetype.h linbox/field/fields.dxx linbox/field/givaro-gfq.h linbox/field/givaro-zpz.h
linbox/field/gmp-rational.h linbox/field/lidia-gfq.h linbox/field/modular.h linbox/field/param-fuzzy.h linbox/field/unparametric.h
2002-08-01 Dave Saunders <saunders@cis.udel.edu>
* linbox/field/Makefile.am: delete ref to the previously removed dense-vector-domain
* tests/Makefile.am: add comments
* HACKING: mod to indent policy, more "cvs up" info.
2002-07-31 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/nag-sparse.h: Tweak header
* linbox/blackbox/sparse0-base.h (class SparseMatrix0Base): Remove
copyToRow and swapRows, as they are unnecessary
2002-07-31 Dave Saunders <saunders@cis.udel.edu>
* linbox/blackbox/ntl-toeplitz.h: fix indentation
* linbox/blackbox/ntl-toeplitz.inl: replace .C and fix indentation
2002-07-30 Saunders and Lobo
* linbox/blackbox/ntl-toeplitz.* and it's test. Adding a toeplitz black box.
* First version, more general capability is coming.
2002-07-26 Bradford Hovinen <hovinen@algol.cis.udel.edu>
* linbox/field/modular.h (class Modular, class FieldAXPY): Add
specializations for int element type
* linbox/util/commentator.h
(Commentator::nullstreambuf::showmanyc): Return std::streamsize
2002-07-29 Rich Seagraves <seagrave@cis.udel.edu>
* linbox/blackbox/Makefile.am (include_HEADERS): Added nag-sparse.h
2002-07-26 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/sparse0-base.C (readTurner, readGuillaume): Use
A.refEntry
* linbox/blackbox/sparse0.[Ch]: Move apply, applyTranspose
definitions to sparse0.C
* tests/test-minpoly.C (testRandomMinpoly1, testRandomMinpoly2):
Update as per change below
* linbox/blackbox/sparse0-base.C (getEntry): Make the Row
reference const
(getEntry): Have specialization for sparse associative vectors use
find to avoid const issues
* tests/test-sparse0.C (testRandomApply1, testRandomApply2)
(testRandomApply3, testRandomTranspose, testRandomLinearity):
Update as per change below
* tests/test-moore-penrose.C (buildRandomSparseMatrix): Update as
per change below
* linbox/blackbox/sparse0-base.h (class SparseMatrix0Base): Change
non-const version of getEntry to refEntry
2002-07-26 Bradford Hovinen <hovinen@stimpy.eecis.udel.edu>
* linbox/blackbox/Makefile.am (include_HEADERS): Remove
densesubmatrix.H
2002-07-25 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/commentator.C (Commentator::stop): Make sure all
timings get the same precision
* linbox/field/modular.h (clsas Modular<short>): Define k for
delayed modding out
(class FieldAXPY<short>): Use static modding out procedure; make
_y a long long
2002-07-24 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-vector-domain.C (main): Add calls to test sparse
parallel vectors
Use VD.write rather than printVector
* linbox/util/vector-factory.h (class
RandomSparseParVectorFactory): Added this class for random sparse
parallel vectors
* tests/test-vector-domain.C (testDotProduct, testAddMul)
(testSubMul, testAXPY, testCopyEqual): Reset factories when done
* linbox/field/vector-domain.C (VectorDomain::addinSpecialized,
VectorDomain::subinSpecialized, VectorDomain::axpyinSpecialized):
Use a temporary vector and copy when done for the sparse sequence
specialization (O(n) vs. O(n^2))
Don't use iterator operator < unless necessary
* linbox/field/vector-domain.h (class VectorDomain): Add support
for SparseParallelVectorTag
(VectorDomain::copySpecialized): Use std::copy for inline
implementations, just in case there are two different vector types
with the same tag
* linbox/vector/vector-traits.h (struct VectorCategories): Add
SparseParallelVectorTag
(struct VectorTraits): Add specialization for sparse parallel
vectors
(refSpecialized, constRefSpecialized, ensureDimSpecialized): Add
specialization for sparse parallel vectors
* tests/test-moore-penrose.C (testRandomApply1): Add commentator
activity for constructing the matrix
(testRandomApply1): Delete A when done
* linbox/field/vector-domain.C (VectorDomain::copySpecialized):
Add version optimized for copying to vectors of the same type
2002-07-23 Bradford Hovinen <hovinen@cis.udel.edu>
* examples/blackbox/load-det.C: Fix include directive
* linbox/field/vector-domain.C (VectorDomain::write): Write out
i->second, not *i
* tests/test-moore-penrose.C (testRandomApply1): Make this generic wrt
vector and row type
(buildRandomSparseMatrix): Use VectorDomain and facilities of new
SparseMatrix0; make generic wrt row type
(testRandomApply1): Indent correct and computed output messages
* linbox/field/vector-domain.C (VectorDomain::copySpecialized):
Implement version described below
* linbox/field/vector-domain.h (class VectorDomain): Add a form of copy
that allows copying a subvector into a subvector
* linbox/util/commentator.C (MessageClass::fixDefaultConfig):
Clear entire list
2002-07-23 Saunders
* tests/Makefile.am includes test-subiterator. Advise me if it doesn't
work for you.
2002-07-22 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-minpoly.C: Updated to reflect changes to
SparseMatrix0
(testNilpotentMinpoly, testIdentityMinpoly): Use a
StandardBasisFactory object
* tests/test-sparse0.C: Updated to reflect changes to SparseMatrix0
* linbox/blackbox/sparse0.h:
* linbox/blackbox/sparse0-base.h: Refactoring:
- Eliminated SparseMatrix0Aux and moved that functionality into Sparse0
- Made SparseMatrix0Base parameterized only on the element type
- New read/write implementations for SparseMatrix0Base, supporting multiple
formats
- Eliminated Gaussian elimination code
- Added iterators, including ColOfRowsIterator, RawIterator, and
RawIndexIterator
- Eliminated operator []; added getEntry; changed put_value to setEntry
* linbox/util/commentator.C (Commentator::progress): Enable
act->_timer.stop ()
* linbox/util/timer.C (stop, start): Use _start_t
* linbox/util/timer.h (class BaseTimer): Added _start_t
* linbox/vector/subvector.h (struct VectorTraits): Use
Subvector<Iterator> to get value_type
2002-07-18 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/vector/vector-traits.h: Add #include <algorithm>
* linbox/util/commentator.h (class Commentator): Add form of
isPrinted that does not require activity depth; add isNullStream
* macros/*-check.m4: Don't add a -I and -L arguments if they refer
only to /usr or to /usr/local
* macros/*-check.m4: Add rules for cross-compiling
* macros/*-check.m4: Tweak argument documentation
* macros/gmp-check.m4: Remove note that GMP installation is
optional
2002-07-12 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/ntl-RR.h (LinBox): Ditto
* linbox/field/ntl-ZZ_p.h (LinBox): Ditto
* linbox/field/ntl-zz_p.h (LinBox): Ditto
* linbox/blackbox/submatrix.h (LinBox): Ditto
* linbox/blackbox/hilbert.h (LinBox): Ditto
* linbox/blackbox/diagonal.h (LinBox): Ditto
* linbox/blackbox/scalar-matrix.h (LinBox): Ditto
* tests/test-scalar-matrix.C: Update as per C++ standard
* linbox/solutions/methods.h (struct SolverTraits): First stab at
this structure
* linbox/algorithms/blackbox-container.h (LinBox): Ditto
* linbox/vector/reverse.h (LinBox): Ditto
* linbox/vector/subvector.h: Ditto
* linbox/vector/subiterator.h (LinBox): Ditto
* linbox/field/unparametric.h (LinBox): Update as per C++ standard
* linbox/util/commentator.C (Commentator::updateActivityReport):
Make i signed
* linbox/util/error.C: Ditto
* linbox/util/timer.C: Updates to C++ standard; place everything
inside LinBox namespace
* linbox/util/gmp++/gmp++_int_misc.C: Ditto
* linbox/util/gmp++/gmp++_int_io.C: Update header file names
Add using namespace std
Updates to conform to C++ standard
* linbox/util/gmp++/gmp++_int_cstor.C: s/iostream.h/iostream/
* linbox/vector/vector-traits.h (struct
SparseSequenceVectorPairLessThan): Use std:: namespace qualifier
(class CompareSparseEntries): Use std:: namespace qualifier
(refSpecialized): Use std:: namespace qualifier
* linbox/util/error.h: s/iostream.h/iostream/
Use std:: namespace qualifier for iostream
* linbox/field/envelope.h (class FieldEnvelope): Ditto
* linbox/field/archetype.h (class FieldArchetype): Ditto
* linbox/field/abstract.h (class FieldAbstract): Use std::
namespace qualifier for ostream/istream
* gmp++/gmp++_int.inl (Integer::random): Eliminate default from
definition
* gmp++/gmp++_int.h: Use namespace qualifier std:: for parts of
the STL; update header names in accordance with C++ standard
* linbox/util/timer.h: s/iostream.h/iostream/ as per updated C++
standard; put everything inside the LinBox namespace; use
std::ostream
2002-07-08 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/solutions/methods.h: Put everything inside the LinBox
namespace
* linbox/solutions/rank.h (rank): Update
(rank): Use VectorWrapper::ensureDim; add commentator calls
* linbox/solutions/det.h (det): Update
* linbox/solutions/minpoly.h (minpoly): Update
* linbox/solutions/methods.h: Changed the name
_DEFAULT_EarlyTerm_THRESHOLD_ to the more standard-consistent
DEFAULT_EARLY_TERM_THRESHOLD; changed the name
Early_Term_Threshold to earlyTermThreshold, also in keeping with
the standard.
2002-07-05 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/sparse0-aux.h
(SparseMatrix0Aux::applyTranspose): Avoid use of operator [];
tweak performance with iterators
* linbox/util/field-axpy.h (class FieldAXPY): Add assignment
operator; make _F a real copy and not a reference
* linbox/field/modular.h (FieldAXPY::FieldAXPY): Add copy
constructor; use direct assignment for 0
(class FieldAXPY): Make _F a real copy; add assignment operator
* linbox/util/field-axpy.h (class FieldAXPY): Add copy constructor
* linbox/blackbox/sparse0-base.h (SparseMatrix0Base::prettyPrint):
Make i, j size_t's
* linbox/blackbox/sparse0-aux.h (class SparseMatrix0Aux): Add
_faxpy
(SparseMatrix0Aux::applyTranspose): Use _faxpy vector to enable
delayed modding out
2002-07-02 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/modular.h (class FieldAXPY): Add template <>
* examples/blackbox/.cvsignore: Update
* tests/.cvsignore: Update
* tests/test-moore-penrose.C (testIdentityApply): Make display of
vectors LEVEL_UNIMPORTANT
(testRandomApply1): Ditto
(testRandomApply1): Put the construction of Adagger inside a
commentator activity; change "Computing" to "Applying" for the
activity surrounding the application
* HACKING: Update instructions for adding a test
* tests/Makefile.am (BASIC_TESTS): Move all mandatory tests here
(TESTS): Include BASIC_TESTS
(EXTRA_PROGRAMS): Include BASIC_TESTS
(noinst_PROGRAMS): Remove
* linbox/util/vector-factory.h
(RandomSparseSeqVectorFactory::next): Make i a size_t
* linbox/field/vector-domain.C (VectorDomain::mulSpecialized):
Eliminate unused j
(VectorDomain::addinSpecialized, VectorDomain::subinSpecialized,
VectorDomain::axpyinSpecialized): Make i a size_t
(VectorDomain::copySpecialized,
VectorDomain::areEqualSpecialized): Make idx a size_t
* linbox/util/vector-factory.h
(RandomSparseSeqVectorFactory::RandomSparseSeqVectorFactory):
Reorder initializers
(class VectorFactory): Add virtual destructor
* tests/test-vector-domain.C (testSubMul): Remove unused i, j
(testAXPY): Ditto
* linbox/blackbox/inverse.h (Inverse::apply): Eliminate unused j
* tests/test-vector-domain.C (testCopyEqual, testAddMul): Remove
unused i, j
(testDotProduct): Make j a size_t
* linbox/util/vector-factory.h (StandardBasisFactory::next): Make
idx a size_t
* linbox/blackbox/sparse0-aux.h
(SparseMatrix0Aux::applyTranspose): Initialize y to all zeros
first
* tests/test-sparse0.C (testRandomApply3, testRandomApply2,
testRandomApply1): Remove unused VD
* linbox/util/vector-factory.h
(RandomSparseSeqVectorFactory::next): Don't die if skip is 0; just
increment i
* tests/test-generic.h (testTranspose, testLinearity): Remove
unused i, j
2002-07-01 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/vector-domain.C (dotSpecialized): Don't initialize
res; it's not necessary here
* linbox/algorithms/blackbox-container-base.h (class
BlackboxContainerBase): Tweak indentation
* linbox/blackbox/sparse0-aux.h
(SparseMatrix0Aux::applyTranspose): Use linbox_check and _F.axpyin
* linbox/algorithms/Makefile.am (include_HEADERS): Add
blackbox-container-symmetrize.h
* linbox/field/modular.h (FieldAXPY::get, FieldAXPY::assign):
inline these
* linbox/util/field-axpy.h (FieldAXPY::get, FieldAXPY::assign):
inline these
* linbox/field/vector-domain.C (VectorDomain::dotSpecialized):
inline this
* linbox/blackbox/sparse0-aux.h (SparseMatrix0Aux::apply):
Eliminate Element temp
* linbox/util/commentator.C (Commentator::progress): Show elapsed time
(Commentator::progress): Get a pointer to the top activity first
* linbox/algorithms/massey-domain.h (MasseyDomain::massey): Use
COMMOD for progress reports
* linbox/util/commentator.C (Commentator::updateActivityReport):
Use a strstream and update _last_line_len
(Commentator::finishActivityReport): Use _last_line_len
(Commentator::setReportStream): Disable brief report if we are
outputing to the same stream it is
* linbox/util/commentator.h (class Commentator): Add _last_line_len
* linbox/util/commentator.C (Commentator::stop): Increase output
precision; make sure output is nonnegative
* examples/blackbox/Makefile.am (EXTRA_PROGRAMS): Add load-det
* linbox/field/givaro-zpz.h: Reindent
* examples/run/Makefile.am: Kill _DEPENDENCIES lines
* examples/integers/Makefile.am: Kill _DEPENDENCIES lines
* examples/fields/Makefile.am: Kill _DEPENDENCIES lines
* examples/blackbox/Makefile.am: Kill _DEPENDENCIES lines
* examples/Makefile.am: Kill _DEPENDENCIES lines
* HACKING: Remove note about _DEPENDENCIES lines
* tests/Makefile.am: Get rid of _DEPENDENCIES lines; turns out
they aren't necessary
* linbox/util/commentator.C (Commentator::stop): Modified report
format; display all three timings
2002-06-28 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/commentator.C (Commentator::updateActivityReport):
Use floor (percent + 0.5) rather than round (percent)
* linbox/util/commentator.h (Commentator): Redefine Commentator to
CommentatorDisabled when disabled; define the existing commentator
regardless of whether it is disabled -- the new #defines will
deflect any access
* tests/test-minpoly.C (main): Re-enable commentator
* linbox/util/commentator.C (Commentator::Commentator): Set
default max depth for BRIEF_REPORT to 2; use macros for detail
levels
(MessageClass::fixDefaultConfig): Make sure j is not erased from
the list before insertion
* gmp++/gmp++_int.h: Add short, unsigned short implicit
conversions
2002-06-27 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/commentator.C (Commentator::updateActivityReport):
Use round (percent) rather than setting precision
(MessageClass::checkConfig): Use depth < (*i).first
(MessageClass::fixDefaultConfig): Erase everything after
_max_depth and everything before _max_depth that is not more
restrictive
* tests/test-vector-domain.C (testAXPY): Update use of VD.axpy
* tests/test-common.h (applyPoly): Update use of VD.axpy
* tests/test-generic.h (testLinearity): Update use of VD.axpy
* linbox/blackbox/inverse.h (Inverse::apply,
Inverse::applyTranspose): Update
* linbox/field/vector-domain.h (class VectorDomain): Change order
of parameters to match FieldArchetype::axpy
2002-06-26 Bradford Hovinen <hovinen@eos.cis.udel.edu>
* tests/test-minpoly.C: Report minpoly degree; tweak report
parameters
* linbox/algorithms/blackbox-container.h
(BlackboxContainer::BlackboxContainer): Initialize _applyTime and
_dotTime if INCLUDE_TIMING is defined
2002-06-26 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/vector-domain.C (VectorDomain::addinSpecialized,
VectorDomain::subinSpecialized): Use i->first < j->first
* linbox/util/vector-factory.h
(RandomSparseSeqVectorFactory::next): Add check that skip > 0
* linbox/field/vector-domain.C (VectorDomain::axpySpecialized):
Fix order of arguments to F.axpy
* tests/test-generic.h (testLinearity): Fix variable names to be
more descriptive
* linbox/util/vector-factory.h (LinBox): Use v[] rather than
v.insert
* tests/test-generic.h (testDenseConsistency): Eliminate this test
(testLinearity): Fix formulae
* linbox/solutions/trace.h (trace): Make sure v has correct
dimension
* tests/test-inverse.C (testRandomTranspose): Update according to
changes in testTranspose
* tests/test-diagonal.C (testRandomTranspose): Update according to
changes in testTranspose
* linbox/blackbox/sparse0-aux.h
(SparseMatrix0Aux::SparseMatrix0Aux): Initialize _VD for sparse
associative specialization
* tests/test-generic.h (testTranspose): Use VectorFactory, make
this generic wrt vector type
* tests/test-sparse0.C (testRandomTranspose, testRandomLinearity):
New tests
(main): Call tests on all combinations of vector types
* linbox/util/vector-factory.h (StandardBasisFactory::next):
Initialize the whole vector for the dense case
* linbox/blackbox/sparse0-base.h (SparseMatrix0Base::put_value,
SparseMatrix0Base::operator[]): Use linbox_check
* tests/test-sparse0.C (testRandomApply1, testRandomApply2,
testRandomApply3): Make these generic wrt vector and row type
* */*.[Ch]: Change top Emacs identifier to mode: C++ so that it
does the correct thing with templates and so on
* linbox/util/vector-factory.h (class RandomDenseVectorFactory):
Use RandIter, not Field::RandIter for _r
2002-06-25 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-sparse0.C (testIdentityApply): Use VectorFactory
(testNilpotentApply): Use VectorFactory
* linbox/blackbox/sparse0-aux.h (class SparseMatrix0Aux): Use
VectorDomain for the sparse associative specialization; replace
Field1 with VectorDomain<Field>
(SparseMatrix0Aux::apply): Use VectorDomain::dot for all
specializations
(class SparseMatrix0Aux): Restore compilation of sparse
associative specialization
(SparseMatrix0Aux::apply): Use iterator rather than integer
* tests/Makefile.am (TESTS): Add test-subvector
* linbox/algorithms/blackbox-container.h (class
BlackboxContainer): Add optional timing facilities, enabled with
INCLUDE_TIMING
* linbox/algorithms/massey-domain.h (class MasseyDomain): Add
optional timing facilities, enabled with INCLUDE_TIMING
* linbox/vector/Makefile.am (include_HEADERS): Add subvector.h,
subiterator.h, reverse.h
* linbox/vector/subvector.h: Reindent; fix headers
* linbox/algorithms/massey-domain.h (class MasseyDomain): Replace
_field with _F; declare VectorDomain _VD; use const long rather
than #define when possible
* linbox/algorithms/blackbox-container-base.h (class
BlackboxContainerBase): Add member VectorDomain _VD; rename _field
to _F (for consistency); eliminate operators; align members
(BlackboxContainerBase::size): Make this const
* linbox/algorithms/blackbox-container.h
(BlackboxContainer::_launch): Use _VD.dot rather than home-cooked
dot product
(class BlackboxContainer): Make RandIter a template parameter,
defaulted to Field::RandIter
* linbox/algorithms/Makefile.am (include_HEADERS): Add
blackbox-container-symmetric.h
* linbox/solutions/trace.h (trace): Use factory.j () - 1
2002-06-24 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-vector-domain.C (main): Reset factory 5 before sparse
sequence/sparse associative dot product; factory 6 before sparse
associative add/mul test
(testDotProduct): Add timing
* linbox/util/vector-factory.h (VectorFactory): Fix output of j ()
* HACKING: Update with consolidated ChangeLogs
* linbox/vector/vector-traits.h (refSpecialized,
cosntRefSpecialized): Check that size is nonzero before conducting
binary search; check that return iterator is not past-the-end
2002-06-21 Bradford Hovinen <hovinen@cis.udel.edu>
* examples/integers/.cvsignore: Update
* examples/.cvsignore: Update
2002-06-21 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/vector-domain.C (VectorDomain::axpyinSpecialized): Don't use an
iterator here, since we invalidate iterators by calling insert
* linbox/field/modular.h (Modular::neg): Make sure -0 = 0
* linbox/field/vector-domain.C (VectorDomain::axpySpecialized): Use _F.axpy
when possible; avoid use of temporaries
(VectorDomain::addSpecialized, VectorDomain::addinSpecialized,
VectorDomain::subSpecialized, VectorDomain::subinSpecialized,
VectorDomain::isZeroSpecialized,
VectorDomain::areEqualSpecialized,
VectorDomain::convertSpecialized, VectorDomain::readSpecialized,
VectorDomain::writeSpecialized, VectorDomain::copySpecialized):
Implement
(VectorDomain::mulSpecialized, VectorDomain::mulinSpecialized):
Implement specialization for sparse associative vectors
* linbox/randiter/nonzero.h (class NonzeroRandIter): Set default RandIter to
Field::RandIter
* linbox/util/vector-factory.h (class RandomSparseSeqVectorFactory, class
RandomSparseMapVectorFactory): Use NonzeroRandIter
* linbox/vector/vector-traits.h (class CompareSparseEntries): Implement
(refSpecialized, constRefSpecialized): Use lower_bound
* tests/test-generic.h (testLinearity): New test
* tests/test-vector-domain.C (testAddMul, testSubMul, testCopyEqual):
New tests; call these from main
* tests/test-vector-domain.C (testAXPY): Use VD.isZero
* tests/.cvsignore: Update
2002-06-20 Bradford Hovinen <hovinen@cis.udel.edu>
* examples/Makefile.am (EXTRA_PROGRAMS): Add mmZZ_pE
* examples/integers/Makefile.am (EXTRA_PROGRAMS): Don't compile programs by
default
2002-06-20 Bradford Hovinen <hovinen@cis.udel.edu>
* examples/blackbox/Makefile.am (EXTRA_PROGRAMS): Don't compile examples by default
* examples/fields/Makefile.am (EXTRA_PROGRAMS): Don't compile programs by default
* linbox/blackbox/dense-matrix1.h (DenseMatrix::Row::Row): Fix typos in default
initialization
* linbox/blackbox/dense-matrix1.C (DenseMatrix::write): Remove default for
parameter
(DenseMatrix::ColOfRowsIterator::ColOfRowsIterator): Remove
default for first parameter
(DenseMatrix::RowOfColsIterator::RowOfColsIterator): Remove
default for first parameter
(class DenseMatrix::RowOfColsIterator): Add constructor with no
parameters
(class DenseMatrix::ColOfRowsIterator): Add constructor with no
parameters
* linbox/field/Makefile.am (EXTRA_DIST): Add EXTRA_HEADERS
2002-06-20 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* linbox/field/givaro-gfq.h: Replace cast according to gmp++ .
2002-06-20 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/randiter/Makefile.am (include_HEADERS): Add nonzero.h
* linbox/util/vector-factory.h (class RandomDenseVectorFactory, class
RandomSparseSeqVectorFactory, class RandomSparseMapVectorFactory):
Add constructor specifying a particular random iterator
2002-06-20 Dave Saunders <saunders@cis.udel.edu>
* insert LinBoxSrcOnly flag for all-source compilation (fixed)
2002-06-20 Bradford Hovinen <hovinen@cis.udel.edu>
* macros/ntl-check.m4 (AC_TRY_LINK): Don't include iostream -- it was
causing compiler trouble wrt autoconf
(NTL_HEADERS_FIELD): Add ntl-ZZ_pE.h
* tests/Makefile.am (TESTS): Add test-randiter-nonzero
(test_diagonal_DEPENDENCIES): Remove duplicate definition
2002-06-19 Bradford Hovinen <hovinen@cis.udel.edu>
* configure.in (AC_OUTPUT): Remove linbox/iterators/Makefile,
remove examples/run/Makefile
2002-06-19 Bradford Hovinen <hovinen@cis.udel.edu>
* examples/Makefile.am (SUBDIRS): Add integers
* examples/fields/Makefile.am (ex_fields_wrapper_SOURCES): Don't comment out this
line
* linbox/util/gmp++/Makefile.am (INCLUDES): Add -I$(top_srcdir)
* linbox/util/vector-factory.h (RandomSparseSeqVectorFactory::next): Use
simpler formulas ala Knuth
(class RandomSparseSeqVectorFactory): Remove extraneous variables
* tests/test-sum.C (main): Use GF(101) by default
(testZeroApply): Use VD.mul rather than VD.axpy
2002-06-18 Bradford Hovinen <hovinen@cis.udel.edu>
* Makefile.am (SUBDIRS): Add gmp++
* configure.in (AC_OUTPUT): s/integer/gmp++/
2002-06-18 Bradford Hovinen <hovinen@cis.udel.edu>
* examples/blackbox/ex-mat0.C: Add using namespace std
* linbox/integer.h: Use GMP++
2002-06-18 Zhendong Wan <wan@cis.udel.edu>
* dense-matrix1.h dense-matrix1.C
* FieldBASL.h FieldBLAS.C
* linbox/field/ntl-ZZ_pE.h
2002-06-18 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/vector-factory.h (RandomSparseMapVectorFactory::next): Use a
simpler mechanism for constructing vectors
* linbox/util/gmp++/gmp++_int.h: Define GMPXX_PREFIX if not already done
* linbox/util/gmp++/*.[Ch]: Prefix #include lines with GMPXX_PREFIX
* linbox/util/Makefile.am (SUBDIRS): s/integer/gmp++/
(libutil_la_LIBADD): s/integer/gmpxx/
2002-06-14 Bradford Hovinen <hovinen@cis.udel.edu>
* examples/blackbox/.cvsignore: Update
2002-06-14 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/vector-domain.C (VectorDomain::dotSpecialized): Make sure not to
accumulate if j is at v2.end.
(VectorDomain::dotSpecialized): Add specialization for sparse
associative/sparse associative dot product
* linbox/field/modular.h (class ModularBase, class Modular): Replace
Modular[Base]::Modular[Base] (Element) with unsigned long version
2002-06-14 zhenddong wan <wan@cis.udel.edu>
* linbox/vector/subvector.h: fix the const_iterator problem
2002-06-14 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-vector-domain.C (main): Add call to test sparse
associative/sparse associative dot product
2002-06-13 Bradford Hovinen <hovinen@cis.udel.edu>
* .cvsignore: Remove config.h[.in] and add linbox-config.h[.in]
* configure.in: Change AM_CONFIG_HEADER to linbox-config.h
* */*.C: Change #include "config.h" to #include "linbox-config.h"
* Makefile.am (include_HEADERS): Add linbox-config.h
* acconfig.h: Add GMP_VERSION_4
2002-06-13 Bradford Hovinen <hovinen@cis.udel.edu>
* examples/blackbox/.cvsignore: Update
* linbox/integer.h: Only use extern "C" if GMP_VERSION_4 is not set
* linbox/vector/vector-traits.h: Add #include linbox/field/archetype.h
* macros/gmp-check.m4: Added check for GMP 4.0 or greater
* tests/test-vector-domain.C (main): Invoke testDotProduct for sparse
sequence/sparse sequence vectors
* tests/Makefile.am: Commented out subiterator and solveNonsingular as
the former has compilation problems and the latter was not added
properly
2002-06-11 Dave Saunders <saunders@cis.udel.edu>
* linbox/field/ntl-ZZ_p.h: include sys/time.h
2002-06-11 Dave Saunders <saunders@cis.udel.edu>
* tests/test-subiterator.C: new test of vector/subiterator.h
2002-06-10 Dave Saunders <saunders@cis.udel.edu>
* linbox/vector/subiterator.h, subvector.h: subvector now constructs from
subiterators, not from underlying vector. This avoids
copy and reference problems with underlying vector.
2002-06-07 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/vector-domain.C (VectorDomain::axpySpecialized): Implement
specialization for sparse associative vectors
(VectorDomain::axpyinSpecialized): Implement specialization for
sparse associative vectors
(VectorDomain::dotSpecialized): Implement specialization for
sparse sequence/sparse sequence and sparse associative/sparse
sequence vectors
2002-06-07 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-vector-domain.C (main): Add call to test sparse associative
vector axpy
2002-06-06 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/vector-domain.C (VectorDomain::dotSpecialized): Implement
specialization for sparse associative/dense dot product
* linbox/field/vector-domain.h (class VectorDomain): Add return statements
2002-06-06 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/vector-factory.h
(RandomSparseSeqVectorFactory::RandomSparseSeqVectorFactory): Make
sure k < n
(RandomSparseSeqVectorFactory::next): Tweak formulae
(RandomSparseMapVectorFactory::next): Tweak formulae the same way
as above
* tests/test-vector-domain.C (testAXPY): Rename from testDenseAXPY. Make
this generic with respect to the vector type being tested
(main): Update according to the above
* tests/.cvsignore: Update
* tests/test-vector-domain.C (main): Add call to test sparse associative
dot product
2002-06-05 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-vector-domain.C (testDotProduct): Rename from
testDenseDotProduct. Make this generic with respect to the vector
type being tested
2002-06-04 Bradford Hovinen <hovinen@aphrodite.cis.udel.edu>
* .cvsignore: Update
2002-06-04 Bradford Hovinen <hovinen@aphrodite.cis.udel.edu>
* examples/run/.cvsignore: Update
2002-06-04 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/inverse.h (class Inverse): Update use of VectorDomain
* linbox/blackbox/sparse0-aux.h (class SparseMatrix0Aux): Update use of VectorDomain
* linbox/blackbox/dense-matrix.h (class DenseMatrix): Update use of VectorDomain
2002-06-04 Bradford Hovinen <hovinen@aphrodite.cis.udel.edu>
* linbox/blackbox/moore-penrose.h (class MoorePenrose): s/_B/_B1/ since _B seems
to be a macro of some type on Solaris
2002-06-04 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/vector-domain.h (class VectorDomainBase, class VectorDomain):
Merge these classes together
(class VectorDomain): Parameterize methods on the vector types
rather than parameterizing the whole class. Add methods
* Specialized for template specialization
* linbox/field/vector-domain.C: Update according to changes in vector-domain.h
2002-06-04 Dave Saunders <saunders@cis.udel.edu>
* linbox/vector/subvector.h: tweak to have reference semantics to underlying vect.
* tests/test-subvector.C: new test for check adapted from Will's
test-subvector.cpp
* tests/Makefile.am: new target test-subvector, part of check.
2002-06-04 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-moore-penrose.C (testRandomApply1):
s/VectorDomainBase/VectorDomain/ and update
* tests/test-common.h (applyPoly): Update use of VectorDomain
* tests/test-generic.h (testDenseConsisntency): Update use of
VectorDomain
(testTranspose): Update use of VectorDomain
2002-05-31 Bradford Hovinen <hovinen@cis.udel.edu>
* macros/gmp-check.m4 (min_gmp_version): s/{gmp_prefix}/${gmp_prefix}/
2002-05-28 Bradford Hovinen <hovinen@cis.udel.edu>
* configure.in: AC_OUTPUT linbox-config
* Makefile.am (bin_SCRIPTS): Add linbox-config
2002-05-28 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/Makefile.am: Add sum.h
2002-05-25 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/compose.h (Compose::Compose): Add call to
VectorWrapper::ensureDim
(class Compose): Make _z mutable
2002-05-25 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/Makefile.am (TESTS): Reorder tests in approximate order of
dependence
(TESTS): Add test-sum
2002-05-19 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/sparse0-aux.h (SparseMatrix0Aux::applyTranspose): Don't
construct a new vector for y; just fill in existing values
* linbox/blackbox/inverse.h (class Inverse): Add _transposeMinpoly for the minimal
polynomial of the transpose of the matrix
(Inverse::Inverse): Don't construct minimal polynomials; just
clear them
(Inverse::apply, Inverse::applyTranspose): Construct minimal
polynomials if needed
* linbox/blackbox/moore-penrose.h (MoorePenrose::MoorePenrose): Reverse order of
arguments for call to Submatrix
(MoorePenrose::MoorePenrose): Construct _B too
* linbox/blackbox/compose.h (Compose::Compose): Don't set _z's size
(Compose::apply, Compose::applyTranspose): use
VectorWrapper::ensureDim rather than setting _z's size
* linbox/blackbox/inverse.h (Inverse::apply, Inverse::applyTranspose): Don't
resize the output vector
(Inverse::Inverse): Check that the input matrix is square
(Inverse::Inverse): Use VectorWrapper::ensureDim rather than
_z.resize
* linbox/blackbox/Makefile.am (include_HEADERS): Added moore-penrose.h
2002-05-19 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/modular.h (class FieldAXPY): Update get () form; remove obsolete
forms
* linbox/field/vector-domain.C (VectorDomain::dotprod): Fix use of FieldAXPY::get
* linbox/solutions/trace.h (trace): Use constRef
* linbox/util/field-axpy.h (class FieldAXPY): Remove obsolete get form
* linbox/util/vector-factory.h (class VectorFactory): Add interface n(), which
returns the dimension of the space from which vectors are being
generated
* linbox/vector/vector-traits.h (class VectorWrapper): Add method ensureDim
(namespace VectorWrapper): Convert this to a namespace and use
function specialization
* tests/test-moore-penrose.C (main): Switch to field GF(2147483647) by
default
* tests/test-generic.h (testTranspose): Rename from testTranpose
(testTranspose): Use commentator.startIteration
* tests/test-moore-penrose.C (testIdentityApply): Ensure w has space for
result
(buildRandomSparseMatrix): Implement
(testRandomApply1): New test
* tests/test-trace.C (testDiagonalTrace): Use constRef
2002-05-18 Bradford Hovinen <hovinen@cis.udel.edu>
* configure.in: Make disabling shared libraries the default
2002-05-18 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/vector-factory.h: Refactor: Create one class
StandardBasisFactory, parameterized by vector type, with
specializations for dense, sparse map, and sparse associative
vectors
* linbox/util/commentator.C (Commentator::setMaxDepth,
Commentator::setMaxDetailLevel): Implement
* linbox/vector/vector-traits.h (class VectorWrapper): Implement
2002-05-17 Bradford Hovinen <hovinen@cis.udel.edu>
* examples/.cvsignore: Update
2002-05-17 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/submatrix.h (class Submatrix): Add Trait to template parameters
and specialize for dense vectors
(Submatrix::Submatrix): Check that the row and column dimensions
given are valid
* linbox/blackbox/sparse0-aux.h: Backed out revision 1.6
(SparseMatrix0Aux::apply): Restore use of _VD.dotprod
* linbox/field/vector-domain.h (LinBox): Added specialization for
SparseSequence, SparseSequence type
* linbox/field/vector-domain.C: Update as per changes in vector-domain.h
(VectorDomainBase::mul, VectorDomainBase::mulin): Don't resize and
don't invalidate iterators
* linbox/field/vector-domain.h (class VectorDomainBase): New class. Pull out
all functions from VectorDomain that only need one vector type.
* linbox/util/vector-factory.h (RandomDenseVectorFactory::next): Resize input
vector
* linbox/util/debug.h (PreconditionFailed::PreconditionFailed): Put out a
couple of newlines before printing the error message
* linbox/util/vector-factory.h (class VectorFactory): Add method reset ()
* linbox/util/commentator.C (Commentator::startIteration): Implement
Include strstream and not cstdio
* linbox/util/commentator.h (class Commentator): Add startIteration
* macros/ntl-check.m4 (EX_FIELDS_NTL): Define
* tests/Makefile.am (test_moore_penrose_SOURCES): New test
* tests/test-submatrix.C: Don't include fstream or cstdio
(testRandomApply): Use commentator.startIteration rather than
forming a new string and calling start
(testRandomApply): Put the declaration for report inside the loop
and remove the call to indent
(testRandomApply): Update report output
(main): Don't construct factory2
* tests/.cvsignore: Update
2002-05-14 William J. Turner <wjturner@acm.org>
* linbox/field/archetype.h, envelope.h: changed randIter to RandIter.
2002-05-14 William J. Turner <wjturner@acm.org>
* linbox/randiter/modular.h: Seeded random number generator in constructor. _seed was
never used before.
2002-05-07 William J. Turner <wjturner@acm.org>
* linbox/field/ntl-zz_p.h, ntl-ZZ_p.h: modified random generator constructor and
creating functions to use NTL functions.
2002-05-07 William J. Turner <wjturner@acm.org>
* linbox/randiter/unparametric.h: static cast added to constructor
2002-04-26 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* configure.in, acconfig.h: updating to allow Lidia Library
2002-04-26 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* linbox/field/lidia-gfq.h, lidia.h: adding wrapper of extensions fields for Lidia
* linbox/field/givaro-gfq.h, givaro-zpz.h: To use these wrappers you need
to get a modified version of givaro. You can find these version
at this address : http://www.ens-lyon.fr/~pgiorgi/software.html
version 3.0.1.
* linbox/field/givaro-gfq.h: adding wrapper of extensions fields for Givaro
* linbox/field/givaro.h: adding givaro-gfq.h
* linbox/field/Makefile.am: adding givaro-gfq.h
* linbox/randiter/lidia-gfq.h: adding randiter for lidia gfq field
* linbox/randiter/lidia.h: file for all randiter of lidia library
* linbox/randiter/Makefile.am: adding the header of Lidia and an EXTRA_DIST variable
* macros/givaro-check.m4: adding headers of givaro fields wrappers
and the test test-givaro-zpz.h
* macros/lidia-check.m4: creating for the library LiDIA
* macros/Makefile.am: adding lidia-check.m4 to the EXTRA_DIST
* tests/test-givaro-zpz.C: test for prime finites fields of givaro
using all type of zpz fields of givaro and an extension field of
degree 1 for gfq.
* tests/test-lidia-gfq.C: test for Lidia Gfq field.
But the Gfq field is tested as a prime field (the extension degree
is 1)
* tests/test-generic.h: Put in comment the line 56 which is inconsistant.
Also make the test for the init/convert function generic for every
fields (finite and inifinite fields).
2002-04-25 Zhendong Wan <wan@mail.eecis.udel.edu>
* tests/test-dense-vector-domain.C: test for dense vector domain.
2002-04-24 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* linbox/givaro.h: include file for all Givaro wrappers
* linbox/lidia.h: include file for all Lidia wrappers
* linbox/Makefile.am: adding file givaro.h and lidia.h and adding
all Lidia header base
2002-04-24 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* linbox/field/givaro-zpz.h, givaro.h: Adding wrappers of primes fields for
givaro and his file givaro.h associated.
NB: this wrappers is template class which wrapps three sorts of
givaro fields. For more information see the file itself.
* linbox/field/Makefile.am: adding givaro fields wrapper
2002-04-18 William J. Turner <wjturner@acm.org>
* linbox/vector/subvector.h, subiterator.h: New wrappers for subvector of dense
vector.
2002-04-18 William J. Turner <wjturner@acm.org>
* tests/test-subvector.cpp: New partial test program for subvector wrapper
class. This needs a lot of work, and is not in the makefile yet.
2002-04-17 Dave Saunders <saunders@cis.udel.edu>
* tweak identity case to copy
2002-04-13 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/modular.h (FieldAXPY<Modular<short|long> >): Add form of get
where the element in which to store result is also passed
2002-04-13 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/Makefile.am (include_HEADERS): Added vector-factory.h
* linbox/util/field-axpy.h (class FieldAXPY): Add form of get where the place
in which to store the result is passed
* tests/test-vector-domain.C (testDenseDotProduct): Convert this to use
VectorFactories
2002-04-12 Bradford Hovinen <hovinen@cis.udel.edu>
* s/element/Element/ everywhere except in comments (I hope!)
* Add a file dummy.C to fool libtool into actually building
liblinbox.la
* Move debug.[Ch] and error.[Ch] to linbox/util
2002-04-12 William J. Turner <wjturner@acm.org>
* linbox/blackbox/sparse0-aux.h: Made dense vector apply not invalidate iterators
2002-04-12 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/commentator.h (class Commentator): Added compatibility layer for
Jean-Guillaume's code
(class Commentator): Move cnull above protected section to fix
crashes on DISABLE_COMMENTATOR
* linbox/util/commentator.h: Added null commentator
* linbox/util/Makefile.am (include_HEADERS): Put debug.h, error.h here
(libutil_la_SOURCES): Put error.C, debug.C here
* macros/givaro-check.m4: Fix definition of GIVARO_HEADERS_*, GIVARO_TESTS
* tests/test-unparametric-field.C: Rename from test-unparametric-field.cpp
2002-04-11 Bradford Hovinen <hovinen@cis.udel.edu>
* Makefile.am: Remove EXTRA_DIST, since both of these files are
for CVS developers only
2002-04-11 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/modular.h (FieldAXPY<Modular<short|long> >::accumulate): Use -t
for overflow check
(FieldAXPY<Modular<short|long> >::accumulate): Cast to unsigned
when modding out to avoid sign flip problem
(FieldAXPY<Modular<short|long> >::get): Cast to unsigned when
modding out
* tests/test-modular.C (main): Call testFieldAXPY
* tests/test-generic.h (testField): Make title const
(testFieldAXPY): Add this test
* tests/test-diagonal.C (testRandomTranspose): Report diagonal vector
used as input
* tests/test-scalar-matrix.C: #include "modular.h"
(main): Use integers mod 2147483647; update to use Modular interface
* tests/.cvsignore: Add test-submatrix
* tests/test-submatrix.C (main): Fix banner string
* tests/test-diagonal.C (main): Enable printing of detailed messages
* tests/test-unparametric-field.cpp (main):
* tests/test-modular.C (main):
* tests/test-inverse.C (main):
* tests/test-minpoly.C (main):
* tests/test-diagonal.C (main):
* tests/test-rank.C (main): Use GF(2147483647) by default; fix relevant
documentation
* tests/test-sparse0.C (main): Fix documentation string for default modulus
2002-04-10 Bradford Hovinen <hovinen@cis.udel.edu>
* examples/example.C: Update with new Modular signature
2002-04-10 Dave Saunders <saunders@udel.edu>
* linbox/blackbox/scalar-matrix.h: New (simple) black box - sparse vector part not
checked.
2002-04-10 Bradford Hovinen <hovinen@cis.udel.edu>
* macros/ntl-check.m4: Set NTL_TESTS, NTL_HEADERS_* to empty strings by
default and to real data if NTL was found. Call AC_SUBST in all
cases
Fix check for whether NTL prefix was set
* tests/.cvsignore: Add test-unparametric-field;
s/test-sparse-matrix/test-sparse0/
2002-04-10 Dave Saunders <saunders@udel.edu>
* tests/test-scalar-matrix.C: New test for new blackbox.
2002-04-08 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/commentator.h (class Commentator): Use std:: namespace for
ofstream
(class Commentator): Add std:: specifiers for nullstreambuf
declarations and cnull
2002-04-08 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* macros/gmp-check.m4: Keep the current LD_LIBRARY_PATH
* tests/test-generic.h: WARNING: The test of a field is not generic. The test
of init and convert functions use a fixed number 49193295. So the test
failed if the characteristic is less than this number.
2002-04-05 William J. Turner <wjturner@acm.org>
* linbox/Makefile.am: Install NTL and Givaro wrapper headers only if
libraries are installed.
2002-04-05 William J. Turner <wjturner@acm.org>
* linbox/blackbox/Makefile.am: Only install NTL and Givaro wrapper header files
if libraries are installed.
* linbox/blackbox/sparse0-aux.h: Fixed apply and applyTranspose for sparse vectors.
* macros/ntl-check.m4, givaro-check.m4: Only run tests of NTL and Givaro
wrappers, and install header files, if libraries are installed.
* tests/test-common.h: Fix printVector to print correct number of zeros
for sparse sequence vectors. Made functions for testing equality of
two vectors of the same type and to test if a vector is the zero
vector. These may need some work still.
* tests/Makefile.am: Only run tests of NTL and Givaro wrappers if libraries
are installed.
* tests/test-sparse0.C: Attempted to convert test functions to be generic
for the Row and Vector types. These still need more work to be
complete. In particular, there still needs to be a function to
create a vector with no zero elements.
2002-04-04 William J. Turner <wjturner@acm.org>
* configure.in: removed requirement of givaro
2002-04-04 William J. Turner <wjturner@acm.org>
* linbox/ntl.h: include file for all NTL wrappers.
* linbox/blackbox/archetype.h: Added virtual destructor to avoid warning.
Removed resize() from apply and applyTranspose.
* linbox/blackbox/sparse0-base.h: Fixed comparison between signed and unsigned
integers, accessor function to field.
* linbox/blackbox/sparse0-aux.h: Fixed constructor from SparseMatrix0Base.
2002-04-04 William J. Turner <wjturner@math.ncsu.edu>
* linbox/field/Makefile.am: Install NTL and Givaro wrapper header files only
if libraries are installed.
* linbox/field/ntl.h, ntl-RR.h, ntl-ZZ_p.h, ntl-zz_p.h: Broke NTL field wrappers
into separate files.
2002-04-04 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
* macros/ntl-check.m4, givaro-check.m4: Use GMP_CFLAGS and GMP_LIBS and
appending to LD_LIBRARY_PATH, and removed UNSET LD_LIBRARY_PATH at
end of file
* macros/gmp-check.m4: removed UNSET LD_LIBRARY_PATH at end of file
2002-04-04 William J. Turner <wjturner@acm.org>
* macros/ntl-check.m4: Use GMP_CFLAGS and GMP_LIBS
* tests/test-ntl-zz_p.cpp, test-ntl-ZZ_p.cpp, test-ntl-RR.cpp: New tests
* tests/test-common.h, test-vector-domain.C: generalized printVector to all
vector types. Created areVectorsEqual function. Both need to be
generalized to sparse associative vectors.
2002-04-03 William J. Turner <wjturner@acm.org>
* examples/example.C: changed sparse-matrix to sparse0
2002-04-03 William J. Turner <wjturner@acm.org>
* linbox/blackbox/sparse1.h: Original port; needs work!
* linbox/blackbox/sparse0*.h: Renamed from sparse-matrix*.h.
2002-04-03 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/modular.h (class Modular): Rename from LargeModular, make this a
class parameterized on the element type
2002-04-03 William J. Turner <wjturner@math.ncsu.edu>
* linbox/field/ntl.h: Fixed random iterator random(x) for zz_p
2002-04-03 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/randiter/modular.h (class Modular): Rename from LargeModular; make this a
class parameterized on the element type
2002-04-03 William J. Turner <wjturner@acm.org>
* linbox/randiter/unparametric.h: Ported UnparametricRandIter<K> from old module
* macros/givaro-check.m4: Copy from gmp-check.m4 and fix for Givaro
* macros/ntl-check.m4: Change to version >= 5.0 and C++ namespace
* tests/test-unparametric-field.cpp: New test
* tests/test-minpoly.C: Changed sparse-matrix to sparse0
* tests/test-sparse0.C: Changed sparse-matrix to sparse0
2002-04-02 Bradford Hovinen <hovinen@cis.udel.edu>
* s/*_{abstract|archetype|envelope}/Abstract|Archetype|Envelope/g
2002-04-02 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/dense-matrix.h (DenseMatrix::apply): Signedness fix
* linbox/blackbox/submatrix.h (class Submatrix): Don't parameterize on the field;
add rowdim, coldim
(Submatrix::Submatrix): Pass rowdim, coldim; initialize vectors
directly
* linbox/field/Makefile.am (include_HEADERS): Add ntl.h
* linbox/field/vector-domain.C (VectorDomain::axpy): Remove unused iterator k
* linbox/util/commentator.C (Commentator::printActivityReport,
Commentator::indent)
(Commentator::updateActivityReport,
Commentator::finishActivityReport): Make i unsigned
(MessageClass::checkConfig): Signedness fix
* linbox/util/integer/integer-io.C: Return v
* tests/test-dense-matrix.C (test*): s/size_t/long/ for parameter n
* tests/Makefile.am (TESTS): Add test test-submatrix
* tests/test-common.h (printSparseSeqVector, printVector): Signedness
fix
* tests/test-vector-domain.C (test*): s/size_t/long/ for parameter n
* tests/.cvsignore: Added test-det, test-rank
2002-04-01 Bradford Hovinen <hovinen@cis.udel.edu>
* Makefile.am (SUBDIRS): Build documentation last
2002-04-01 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/transpose.h (Transpose::Transpose): Make A_ptr const
(Transpose::Transpose): Use Transpose<Vector>, not Compose<Vector>
for copy constructor
* linbox/blackbox/compose.h (Compose::apply, Compose::applyTranspose): Declare
local intermediate vector, since it was not compiling (for what
reason I do not know) with the class member
* linbox/solutions/rank.h: #include blackbox-container.h
(rank): Compilation fixes
* linbox/solutions/det.h: #include blackbox-container.h
* tests/test-det.C (test*): Supply iterations to commentator.start
* tests/Makefile.am (TESTS): Add test test-rank
2002-03-30 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/compose.h (Compose::Compose): Use const pointers for inputs
(Compose::Compose): Initialize _z directly
2002-03-30 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/solutions/det.h (det): Compilation fixes
2002-03-29 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-generic.h (testDenseConsisntency): New test
2002-03-28 Bradford Hovinen <hovinen@cis.udel.edu>
* Makefile.am (EXTRA_DIST): Typo fix
2002-03-28 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/dense-matrix.h (DenseMatrix::clone): Implement nontrivially
(DenseMatrix::DenseMatrix): Implement copy constructor
* linbox/util/commentator.C (Commentator::Commentator): Set default max depth
for errors and warnings to 10; set max detail to 3
(Commentator::registerMessageClass): Accept parameters max_depth
and max_level for initial configuration of message class
* tests/test-inverse.C (main): Set maximum depth on internal
descriptions to 3
(testDiagonalInverse): Add this test
(main): Disable Hilbert inverse test pending test of Hilbert black
box
* tests/Makefile.am (test_large_modular_SOURCES):
s/test-field-common/test-generic/
* tests/test-large-modular.C: Update
* tests/test-field-common.h: Obsolete now; remove
* tests/test-field-common.h (testField): Move to test-generic.h
* tests/test-common.[Ch] (test_header, test_trailer): Remove
* tests/test-field-common.h (isPower): Move to test-common.c/.h
2002-03-27 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/commentator.h (Commentator::Activity::Activity): Initialize
_progress to 0
* linbox/util/commentator.C (Commentator::Commentator): Initialize cnull
(Commentator::Commentator): Kill customization of BRIEF_REPORT
(MessageClass::dumpConfig): Implement. Dumps the state of this
MessageClass
(Commentator::updateActivityReport): #if out estimated time
* linbox/util/commentator.h (class Commentator): Make cnull no longer static
* linbox/util/commentator.C (MessageClass::MessageClass): Accept max_depth and
max_level parameters
(Commentator::progress): Remove redundant isPrinted check
(MessageClass::checkConfig): Return false if we get all the way
through the loop
2002-03-27 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-inverse.C (test*): Use commentator, kill report parameter
* tests/test-generic.h (testTranpose): Use commentator, kill report
parameter
* tests/test-diagonal.C (test*): Use commentator, kill report parameter
* tests/test-minpoly.C (test*): Use commentator, kill report parameter
* tests/test-large-modular.C (main): Kill report
* tests/test-sparse-matrix.C (test*): Use commentator, kill report
parameter
* tests/test-dense-matrix.C (testVandermonde, testIdentity): Use
commentator, kill report parameter
2002-03-26 Bradford Hovinen <hovinen@cis.udel.edu>
* configure.in: Add default CXXFLAGS
2002-03-26 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/util/commentator.[Ch]: Complete rewrite
* tests/test-*.C (main): Fix argument list
* tests/test-large-modular.C (main): Update; add Dave Saunders to
credits
* tests/test-field-common.h (test_field): Rename to testField
(testField): Remove report parameter; rename iters as iterations
(testField): Fix indentation
(testField): Use commentator
2002-03-24 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/algorithms/massey-domain.h (class MasseyDomain): Remove commentator; use
global commentator instead. Update
2002-03-24 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-common.C (parseArguments): Remove report argument
(parseArguments): Use commentator to set default report file
* tests/test-vector-domain.C (testDenseDotProduct): Use commentator
2002-03-19 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/dense-matrix.h (class DenseMatrix): Use VectorDomain rather than
MatrixDomain; typedef Vector and use it throughout
(DenseMatrix::setEntry): Implement
(DenseMatrix::rowdim, DenseMatrix::coldim): Fix signatures
(DenseMatrix::clone): Define this; implementation deferred
(DenseMatrix::DenseMatrix): Accept field and build VectorDomain
object
2002-03-19 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-field-common.h: Prevent multiple inclusion
* tests/Makefile.am (TESTS): Beatify listing; put test-large-modular at
top
2002-03-18 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-diagonal.C (testRandomTranspose): Add this test
* tests/test-common.h (applyPoly, multiEvalPoly): Return resulting vector
(interpolatePoly): Implement
* tests/Makefile.am (TESTS): Add test-dense-matrix
2002-03-15 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-inverse.C (testVandermondeInverse): New test; construct the
inverse of a Vandermonde matrix and check that it behaves correctly
* tests/test-common.h (applyPoly): Use VectorDomain; typedef Vector to
reduce verbosity
(multiEvalPoly): Implement
2002-03-12 Bradford Hovinen <hovinen@cis.udel.edu>
* CHANGED-INTERFACES: Updated text
* TODO: Updates
2002-03-12 Bradford Hovinen <hovinen@cis.udel.edu>
* examples/example.C: Update to new interface
* linbox/blackbox/sparse-matrix-aux.h (LinBox): Rename references to MatrixDomain
to VectorDomain
(apply): Use vector domain dotprod
* linbox/blackbox/inverse.h (LinBox): Use matrix domain vector axpy
(LinBox): Compute the negative of the inverse of the constant
coefficient first, then multiply through by that
(Inverse): Rename MatrixDomain _MD to VectorDomain _VD
* linbox/field/large-modular.h (LinBox): Rename ParamModular to LargeModular
* linbox/field/Makefile.am (include_HEADERS): Rename param-modular.h to
large-modular.h
* linbox/field/vector-domain.[Ch]: Rename references to MatrixDomain to
VectorDomain
* linbox/field/Makefile.am (include_HEADERS): Rename matrix-domain.* to
vector-domain.*
* linbox/field/matrix-domain.h (LinBox): Add scalar-vector multiplication
* linbox/field/matrix-domain.C (LinBox): Use FieldAXPY for dot products
(MatrixDomain::axpy): Remember to increment i in the last loop
(LinBox): Use axpy and axpyin when possible
(LinBox): Specialize everything using MatrixDomainType rather than
MatrixDomainSimpleType
* linbox/randiter/large-modular.h: Rename ParamModularRandIter to
LargeModularRandIter
* linbox/randiter/Makefile.am (include_HEADERS): Rename param-modular.h to
large-modular.h
* tests/test-*.C: Update
* tests/.cvsignore: Update
* tests/test-vector-domain.C: Rename references to MatrixDomain to
VectorDomain
* tests/Makefile.am (test_vector_domain_SOURCES): Rename
test-matrix-domain to test-vector-domain
* tests/test-matrix-domain.C (testSparseAXPY, testDenseAXPY): Add these
tests
2002-03-11 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/matrix-domain.C (LinBox): Remove precondition checks for sparse
axpy
(LinBox): Check that i has not gone past the end of y in the loop
2002-03-06 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/matrix-domain.h (LinBox): Remove definitions that derive from
the field class; they are not necessary right now
2002-02-28 Bradford Hovinen <hovinen@cis.udel.edu>
* TODO: Added notes here
2002-02-28 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/field/matrix-domain.h (LinBox): Remove extraneous template
specialization
* linbox/field/matrix-domain.C (LinBox): Use _F.init to initialize field
elements
* linbox/field/matrix-domain.h: #include vector-traits.h
* tests/test-common.h (printSparseSeqVector): Implement
* tests/test-matrix-domain.C: Added this test
2002-02-27 Bradford Hovinen <hovinen@cis.udel.edu>
* doc/Makefile.am (SUBDIRS): Add $({DOCPLUSPLUS|TEX}_SUBDIRS)
2002-02-27 Bradford Hovinen <hovinen@cis.udel.edu>
* configure.in: Added doc/{html|tex}/Makefile; added call to check
for Doc++; Add a check for latex and only build latex
documentation if that is present
(TEX_SUBDIRS): Make sure this gets included even if Doc++ isn't found
* examples/example.C (main): Comment alignment fix
* linbox/*/*.dxx: Update paths
* Added missing *-wrappers.dxx
* linbox/*/*.dxx: Update paths; add missing .dxx files
* linbox/field/matrix-domain.h (LinBox): Add specialization for SparseSequence
vectors
2002-02-20 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/Makefile.am (noinst_PROGRAMS): Use $(TESTS)
2002-02-13 Bradford Hovinen <hovinen@cis.udel.edu>
* HACKING: Update information on directory structure
* configure.in: Properly quote error message strings
Use exit status 1 rather than -1 on error
* HACKING: Added section with checklists for adding header files
and tests to Linbox.
* configure.in: Print error message if GMP was not found
* HACKING: Update text
(http): Added a section on having the right development tools and
added some information on autogen.sh/configure options
* CHANGED-INTERFACES: Update text
2002-02-09 Bradford Hovinen <hovinen@cis.udel.edu>
* COPYING: Copy over LGPL
2002-02-08 Bradford Hovinen <hovinen@cis.udel.edu>
* all: s/element_/Element_/g
2002-02-08 Saunders <saunders@udel.edu>
* examples/Makefile.am: change load order
2002-02-08 Bradford Hovinen <hovinen@cis.udel.edu>
* linbox/blackbox/inverse.h: Update #include vector-traits.h
(Inverse): Correctly instantiate minpoly
Include minpoly.h
(class Inverse): Make _z mutable
2002-02-08 Saunders <saunders@udel.edu>
* macros/gmp-check.m4: set LD_LIBRARY_PATH
2002-02-08 Bradford Hovinen <hovinen@cis.udel.edu>
* macros/*-check.m4: Unset *_{CFLAGS|LIBS} if the library was not found
Invoke found macro only if version check succeeded
Invoke not found macro if version check failed
2002-02-08 Saunders <saunders@udel.edu>
* tests/Makefile.am: change link order.
2002-02-08 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-inverse.C (main): Use prevprime(2^32) for default modulus
(main): Fix banner
* tests/test-diagonal.C (main): Use prevprime(2^32) for default modulus
* tests/test-sparse-matrix.C (main): Use 101 for default modulus
* tests/test-minpoly.C (main): Use prevprime(2^32) for default modulus
* tests/Makefile.am (TESTS): Added test test-inverse
2002-02-07 Bradford Hovinen <hovinen@cis.udel.edu>
* tests/test-sparse-matrix.C (main): Use GF(65521) by default
* tests/test-minpoly.C (main): Use GF(65521) by default
* tests/test-diagonal.C (main): Use GF(65521) by default
* tests/Makefile.am (TESTS): Added test test-diagonal
* tests/test-sparse-matrix.C: Don't #include minpoly.h
2002-02-04 Bradford Hovinen <hovinen@cis.udel.edu>
* configure.in (AC_OUTPUT): Add examples/data/Makefile
2002-02-04 Bradford Hovinen <hovinen@cis.udel.edu>
* configure.in (CFLAGS): Make sure all CFLAGS variables make it in
to compilations
(CXXFLAGS): s/CFLAGS/CXXFLAGS/
* Makefile.am (SUBDIRS): Put examples last in the list
* linbox/blackbox/sparse-matrix-aux.h (apply): Initialize *y_iter to 0 before
looping
* macros/ntl-check.m4: Correct check in error message
* macros/*.m4: Remove setting LD_LIBRARY_PATH, etc.
* tests/test-sparse-matrix.C (testNilpotentApply): Reset even with every
iteration
* tests/test-minpoly.C (testNilpotentMinpoly): Fix test of correctness
* tests/test-common.h (printPolynomial): Write 0 for the zero polynomial
(printPolynomial): Make sure 1 polynomial gets printed correctly
* tests/test-minpoly.C (testIdentityMinpoly): Swap coefficients in the
test
* tests/test-minpoly.C (main): Update banner
* tests/test-common.h (applyPoly): Implement; copy from
linbox/blackbox/inverse.h
* tests/test-sparse-matrix.C: Move minpoly tests to test-minpoly
* tests/Makefile.am (TESTS): Add test test-minpoly
2002-02-03 Bradford Hovinen <hovinen@cis.udel.edu>
* */*.{C|h|inl}: Change Element to element, Integer to integer
* */*.{C|h|inl}: Updated header comments to reflect correct
filename locations
* */.cvsignore: Added/updated .cvsignore files
* configure.in: Add AC_PROG_CC, AC_PROG_RANLIB for building static
libraries
Add AM_PROG_LIBTOOL
* */Makefile.am: Added infrastructure for building static library
liblinbox.a so that we can avoid symbol collisions
2001-12-31 Bradford Hovinen <hovinen@cis.udel.edu>
* HACKING: Added documentation on coding style, fleshed out
algorithms a bit
|