1======== construct LowRankMatrix from explicit matrices ========= 2Low rank matrix (UDV*) size 6 x 4, rank : 3, number of non zero : 33 3U = 4[ 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 6 7 8 9 7 8 9 ] 10V = 11[ 3 5 7 12 4 6 8 13 5 7 9 14 6 8 10 ] 15 D = [ 1 2 3 ] 16 17======== construct LowRankMatrix from iterators ========= 18Low rank matrix (UDV*) size 6 x 4, rank : 3, number of non zero : 33 19U = 20[ 2 3 4 21 3 4 5 22 4 5 6 23 5 6 7 24 6 7 8 25 7 8 9 ] 26V = 27[ 3 5 7 28 4 6 8 29 5 7 9 30 6 8 10 ] 31 D = [ 1 2 3 ] 32 33======== construct LowRankMatrix from pointers ========= 34Low rank matrix (UDV*) size 6 x 4, rank : 3, number of non zero : 33 35U = 36[ 2 3 4 37 3 4 5 38 4 5 6 39 5 6 7 40 6 7 8 41 7 8 9 ] 42V = 43[ 3 5 7 44 4 6 8 45 5 7 9 46 6 8 10 ] 47 D = [ 1 2 3 ] 48 49======== clone a LowRankMatrix ========= 50Low rank matrix (UDV*) size 6 x 4, rank : 3, number of non zero : 33 51U = 52[ 2 3 4 53 3 4 5 54 4 5 6 55 5 6 7 56 6 7 8 57 7 8 9 ] 58V = 59[ 3 5 7 60 4 6 8 61 5 7 9 62 6 8 10 ] 63 D = [ 1 2 3 ] 64 65======== LowRankMatrix to dense row ========= 66[ 120 140 160 180 154 180 206 232 188 220 252 284 222 260 298 336 256 300 344 388 290 340 390 440 ] 67======== LowRankMatrix to Matrix (dense row) ========= 68 69[ 120 140 160 180 70 154 180 206 232 71 188 220 252 284 72 222 260 298 336 73 256 300 344 388 74 290 340 390 440 ] 75======== get rows ========= 76 row 1 : [ 120 140 160 180 ] 77 row 2 : [ 154 180 206 232 ] 78 row 3 : [ 188 220 252 284 ] 79 row 4 : [ 222 260 298 336 ] 80 row 5 : [ 256 300 344 388 ] 81 row 6 : [ 290 340 390 440 ] 82======== get cols ========= 83 col 1 : [ 120 154 188 222 256 290 ] 84 col 2 : [ 140 180 220 260 300 340 ] 85 col 3 : [ 160 206 252 298 344 390 ] 86 col 4 : [ 180 232 284 336 388 440 ] 87======== LowRankMatrix to LargeMatrix (dense row) ========= 88non symmetric real scalar matrix 6x4, storage row dense, number of non zero : 24 89 90(firsts 6 rows.) 91 row 1 1.20000000000e+02 1.40000000000e+02 1.60000000000e+02 1.80000000000e+02 92 row 2 1.54000000000e+02 1.80000000000e+02 2.06000000000e+02 2.32000000000e+02 93 row 3 1.88000000000e+02 2.20000000000e+02 2.52000000000e+02 2.84000000000e+02 94 row 4 2.22000000000e+02 2.60000000000e+02 2.98000000000e+02 3.36000000000e+02 95 row 5 2.56000000000e+02 3.00000000000e+02 3.44000000000e+02 3.88000000000e+02 96 row 6 2.90000000000e+02 3.40000000000e+02 3.90000000000e+02 4.40000000000e+02 97 98======== LowRankMatrix to LargeMatrix (dense col) ========= 99non symmetric real scalar matrix 6x4, storage column dense, number of non zero : 24 100 101(firsts 4 cols.) 102 col 1 1.20000000000e+02 1.54000000000e+02 1.88000000000e+02 2.22000000000e+02 2.56000000000e+02 2.90000000000e+02 103 col 2 1.40000000000e+02 1.80000000000e+02 2.20000000000e+02 2.60000000000e+02 3.00000000000e+02 3.40000000000e+02 104 col 3 1.60000000000e+02 2.06000000000e+02 2.52000000000e+02 2.98000000000e+02 3.44000000000e+02 3.90000000000e+02 105 col 4 1.80000000000e+02 2.32000000000e+02 2.84000000000e+02 3.36000000000e+02 3.88000000000e+02 4.40000000000e+02 106 107======== LowRankMatrix to LargeMatrix (dense dual) ========= 108non symmetric real scalar matrix 6x4, storage row/column dense, number of non zero : 24 109 110lower triangular part (18 entries, firsts 6 rows.) 111 row 1 1.20000000000e+02 112 row 2 1.54000000000e+02 1.80000000000e+02 113 row 3 1.88000000000e+02 2.20000000000e+02 2.52000000000e+02 114 row 4 2.22000000000e+02 2.60000000000e+02 2.98000000000e+02 3.36000000000e+02 115 row 5 2.56000000000e+02 3.00000000000e+02 3.44000000000e+02 3.88000000000e+02 116 row 6 2.90000000000e+02 3.40000000000e+02 3.90000000000e+02 4.40000000000e+02 117upper triangular part (10 entries, firsts 4 cols.) 118 col 1 1.20000000000e+02 119 col 2 1.40000000000e+02 1.80000000000e+02 120 col 3 1.60000000000e+02 2.06000000000e+02 2.52000000000e+02 121 col 4 1.80000000000e+02 2.32000000000e+02 2.84000000000e+02 3.36000000000e+02 122 123======== construct LowRankMatrix from LargeMatrix(dense row) ========= 124Low rank matrix (UDV*) size 6 x 4, rank : 2, number of non zero : 22 125U = 126[ 0.22858714819 0.6867004001 127 0.29418311124 0.45683081365 128 0.3597790743 0.2269612272 129 0.42537503735 -0.0029083592498 130 0.4909710004 -0.2327779457 131 0.55656696345 -0.46264753215 ] 132V = 133[ 0.39332069512 0.73844351903 134 0.46064181237 0.29632603784 135 0.52796292961 -0.14579144335 136 0.59528404686 -0.58790892454 ] 137 D = [ 1326.9054569 1.3814324663 ] 138 139lm*xn=[ 1600 2060 2520 2980 3440 3900 ] lrmfl*xn=[ 1600 2060 2520 2980 3440 3900 ] 140======== construct LowRankMatrix from LargeMatrix(dense col) ========= 141Low rank matrix (UDV*) size 6 x 4, rank : 3, number of non zero : 33 142U = 143[ -0.22858714819 -0.6867004001 -0.56288892404 144 -0.29418311124 -0.45683081365 0.71848265949 145 -0.3597790743 -0.2269612272 0.228540498 146 -0.42537503735 0.0029083592498 -0.30067067567 147 -0.4909710004 0.2327779457 -0.14376616041 148 -0.55656696345 0.46264753215 0.060302602637 ] 149V = 150[ -0.39332069512 -0.73844351903 -0.22360679775 151 -0.46064181237 -0.29632603784 0.67082039325 152 -0.52796292961 0.14579144335 -0.67082039325 153 -0.59528404686 0.58790892454 0.22360679775 ] 154 D = [ 1326.9054569 1.3814324663 1.5888218581e-15 ] 155 156lmdc*xn=[ 1600 2060 2520 2980 3440 3900 ] lrmflmfdc*xn=[ 1600 2060 2520 2980 3440 3900 ] 157======== extract a submatrix from LowRankMatrix ========= 158Low rank matrix (UDV*) size 3 x 2, rank : 3, number of non zero : 18 159U = 160[ 3 4 5 161 4 5 6 162 7 8 9 ] 163V = 164[ 3 5 7 165 5 7 9 ] 166 D = [ 1 2 3 ] 167 168non symmetric real scalar matrix 3x2, storage row dense, number of non zero : 6 169 170(firsts 3 rows.) 171 row 1 1.54000000000e+02 2.06000000000e+02 172 row 2 1.88000000000e+02 2.52000000000e+02 173 row 3 2.90000000000e+02 3.90000000000e+02 174 175======== restrict a LowRankMatrix to row/col index ========= 176Low rank matrix (UDV*) size 3 x 2, rank : 3, number of non zero : 18 177U = 178[ 3 4 5 179 4 5 6 180 7 8 9 ] 181V = 182[ 3 5 7 183 5 7 9 ] 184 D = [ 1 2 3 ] 185 186======== exten a LowRankMatrix row/col index parent numbering ========= 187Low rank matrix (UDV*) size 6 x 3, rank : 3, number of non zero : 30 188U = 189[ 0 0 0 190 3 4 5 191 4 5 6 192 0 0 0 193 0 0 0 194 7 8 9 ] 195V = 196[ 3 5 7 197 0 0 0 198 5 7 9 ] 199 D = [ 1 2 3 ] 200 201======== LowRankMatrix *= s ========= 202Low rank matrix (UDV*) size 6 x 4, rank : 3, number of non zero : 33 203U = 204[ 2 3 4 205 3 4 5 206 4 5 6 207 5 6 7 208 6 7 8 209 7 8 9 ] 210V = 211[ 3 5 7 212 4 6 8 213 5 7 9 214 6 8 10 ] 215 D = [ 2 4 6 ] 216 217======== LowRankMatrix /= s ========= 218Low rank matrix (UDV*) size 6 x 4, rank : 3, number of non zero : 33 219U = 220[ 2 3 4 221 3 4 5 222 4 5 6 223 5 6 7 224 6 7 8 225 7 8 9 ] 226V = 227[ 3 5 7 228 4 6 8 229 5 7 9 230 6 8 10 ] 231 D = [ 1 2 3 ] 232 233======== LowRankMatrix += LowRankMatrix ========= 234Low rank matrix (UDV*) size 6 x 4, rank : 6, number of non zero : 66 235U = 236[ 2 3 4 2 3 4 237 3 4 5 3 4 5 238 4 5 6 4 5 6 239 5 6 7 5 6 7 240 6 7 8 6 7 8 241 7 8 9 7 8 9 ] 242V = 243[ 3 5 7 3 5 7 244 4 6 8 4 6 8 245 5 7 9 5 7 9 246 6 8 10 6 8 10 ] 247 D = [ 1 2 3 1 2 3 ] 248 249======== LowRankMatrix -= LowRankMatrix ========= 250Low rank matrix (UDV*) size 6 x 4, rank : 9, number of non zero : 99 251U = 252[ 2 3 4 2 3 4 2 3 4 253 3 4 5 3 4 5 3 4 5 254 4 5 6 4 5 6 4 5 6 255 5 6 7 5 6 7 5 6 7 256 6 7 8 6 7 8 6 7 8 257 7 8 9 7 8 9 7 8 9 ] 258V = 259[ 3 5 7 3 5 7 3 5 7 260 4 6 8 4 6 8 4 6 8 261 5 7 9 5 7 9 5 7 9 262 6 8 10 6 8 10 6 8 10 ] 263 D = [ 1 2 3 1 2 3 -1 -2 -3 ] 264 265======== LowRankMatrix = LowRankMatrix ========= 266Low rank matrix (UDV*) size 6 x 4, rank : 3, number of non zero : 33 267U = 268[ 2 3 4 269 3 4 5 270 4 5 6 271 5 6 7 272 6 7 8 273 7 8 9 ] 274V = 275[ 3 5 7 276 4 6 8 277 5 7 9 278 6 8 10 ] 279 D = [ 1 2 3 ] 280 281======== LowRankMatrix + s*LowRankMatrix (no compression) ========= 282Low rank matrix (UDV*) size 6 x 4, rank : 6, number of non zero : 66 283U = 284[ 2 3 4 2 3 4 285 3 4 5 3 4 5 286 4 5 6 4 5 6 287 5 6 7 5 6 7 288 6 7 8 6 7 8 289 7 8 9 7 8 9 ] 290V = 291[ 3 5 7 3 5 7 292 4 6 8 4 6 8 293 5 7 9 5 7 9 294 6 8 10 6 8 10 ] 295 D = [ 1 2 3 2 4 6 ] 296 297======== LowRankMatrix * vector ========= 298lm*xn = [ 1600 2060 2520 2980 3440 3900 ] 299lrm*xn = [ 1600 2060 2520 2980 3440 3900 ] 300======== vector * LowRankMatrix ========= 301xm*lm = [ 4900 5740 6580 7420 ] 302xm*lrm = [ 4900 5740 6580 7420 ] 303======== norm of LowRankMatrix ========= 304norm2(lm)=1326.906176 norm2(lrm)=1326.906176 305norminfty(lm)=440 norminfty(lrm)=440 306======== multMatrixCol L*MatCol ========= 307lm*Mcol=non symmetric real scalar matrix 6x2, storage row dense, number of non zero : 12 308 309(firsts 6 rows.) 310 row 1 2.20000000000e+03 2.80000000000e+03 311 row 2 2.83200000000e+03 3.60400000000e+03 312 row 3 3.46400000000e+03 4.40800000000e+03 313 row 4 4.09600000000e+03 5.21200000000e+03 314 row 5 4.72800000000e+03 6.01600000000e+03 315 row 6 5.36000000000e+03 6.82000000000e+03 316 317lrm*Mcol=non symmetric real scalar matrix 6x2, storage column dense, number of non zero : 12 318 319(firsts 2 cols.) 320 col 1 2.20000000000e+03 2.83200000000e+03 3.46400000000e+03 4.09600000000e+03 4.72800000000e+03 5.36000000000e+03 321 col 2 2.80000000000e+03 3.60400000000e+03 4.40800000000e+03 5.21200000000e+03 6.01600000000e+03 6.82000000000e+03 322 323======== multLeftMatrixCol MatCol*L ========= 324Mcol*lm=non symmetric real scalar matrix 2x4, storage row dense, number of non zero : 8 325 326(firsts 2 rows.) 327 row 1 6.13000000000e+03 7.18000000000e+03 8.23000000000e+03 9.28000000000e+03 328 row 2 7.36000000000e+03 8.62000000000e+03 9.88000000000e+03 1.11400000000e+04 329 330Mcol * lrm=non symmetric real scalar matrix 2x4, storage column dense, number of non zero : 8 331 332(firsts 4 cols.) 333 col 1 6.13000000000e+03 7.36000000000e+03 334 col 2 7.18000000000e+03 8.62000000000e+03 335 col 3 8.23000000000e+03 9.88000000000e+03 336 col 4 9.28000000000e+03 1.11400000000e+04 337 338======== multMatrixRow L*MatRow ========= 339lm*Mrow=non symmetric real scalar matrix 6x2, storage row dense, number of non zero : 12 340 341(firsts 6 rows.) 342 row 1 2.20000000000e+03 2.80000000000e+03 343 row 2 2.83200000000e+03 3.60400000000e+03 344 row 3 3.46400000000e+03 4.40800000000e+03 345 row 4 4.09600000000e+03 5.21200000000e+03 346 row 5 4.72800000000e+03 6.01600000000e+03 347 row 6 5.36000000000e+03 6.82000000000e+03 348 349lrm*Mrow=non symmetric real scalar matrix 6x2, storage row dense, number of non zero : 12 350 351(firsts 6 rows.) 352 row 1 2.20000000000e+03 2.80000000000e+03 353 row 2 2.83200000000e+03 3.60400000000e+03 354 row 3 3.46400000000e+03 4.40800000000e+03 355 row 4 4.09600000000e+03 5.21200000000e+03 356 row 5 4.72800000000e+03 6.01600000000e+03 357 row 6 5.36000000000e+03 6.82000000000e+03 358 359======== multLeftMatrixRow MatRow*L ========= 360Mrow*lm=non symmetric real scalar matrix 2x4, storage row dense, number of non zero : 8 361 362(firsts 2 rows.) 363 row 1 6.13000000000e+03 7.18000000000e+03 8.23000000000e+03 9.28000000000e+03 364 row 2 7.36000000000e+03 8.62000000000e+03 9.88000000000e+03 1.11400000000e+04 365 366Mrow * lrm=non symmetric real scalar matrix 2x4, storage row dense, number of non zero : 8 367 368(firsts 2 rows.) 369 row 1 6.13000000000e+03 7.18000000000e+03 8.23000000000e+03 9.28000000000e+03 370 row 2 7.36000000000e+03 8.62000000000e+03 9.88000000000e+03 1.11400000000e+04 371 372======== compression svd rank = 2 ========= 373Low rank matrix (UDV*) size 6 x 4, rank : 2, number of non zero : 22 374U = 375[ 0.22858714819 0.6867004001 376 0.29418311124 0.45683081365 377 0.3597790743 0.2269612272 378 0.42537503735 -0.0029083592498 379 0.4909710004 -0.2327779457 380 0.55656696345 -0.46264753215 ] 381V = 382[ 0.39332069512 0.73844351903 383 0.46064181237 0.29632603784 384 0.52796292961 -0.14579144335 385 0.59528404686 -0.58790892454 ] 386 D = [ 1326.9054569 1.3814324663 ] 387lrm*xn = [ 1600 2060 2520 2980 3440 3900 ] 388lrm2*xn = [ 1600 2060 2520 2980 3440 3900 ] 389======== compression svd eps = 1e-07 ========= 390Low rank matrix (UDV*) size 6 x 4, rank : 2, number of non zero : 22 391U = 392[ 0.22858714819 0.6867004001 393 0.29418311124 0.45683081365 394 0.3597790743 0.2269612272 395 0.42537503735 -0.0029083592498 396 0.4909710004 -0.2327779457 397 0.55656696345 -0.46264753215 ] 398V = 399[ 0.39332069512 0.73844351903 400 0.46064181237 0.29632603784 401 0.52796292961 -0.14579144335 402 0.59528404686 -0.58790892454 ] 403 D = [ 1326.9054569 1.3814324663 ] 404lrm*xn = [ 1600 2060 2520 2980 3440 3900 ] 405lrm2*xn = [ 1600 2060 2520 2980 3440 3900 ] 406======== compression rsvd rank = 2 ========= 407Low rank matrix (UDV*) size 6 x 4, rank : 2, number of non zero : 22 408U = 409[ 0.22858714819 -0.6867004001 410 0.29418311124 -0.45683081365 411 0.3597790743 -0.2269612272 412 0.42537503735 0.0029083592498 413 0.4909710004 0.2327779457 414 0.55656696345 0.46264753215 ] 415V = 416[ 0.39332069512 -0.73844351903 417 0.46064181237 -0.29632603784 418 0.52796292961 0.14579144335 419 0.59528404686 0.58790892454 ] 420 D = [ 1326.9054569 1.3814324663 ] 421lrm*xn = [ 1600 2060 2520 2980 3440 3900 ] 422lrm2*xn = [ 1600 2060 2520 2980 3440 3900 ] 423======== compression rsvd eps 1e-07 ========= 424Low rank matrix (UDV*) size 6 x 4, rank : 3, number of non zero : 33 425U = 426[ -0.22858714819 -0.6867004001 0.17187197668 427 -0.29418311124 -0.45683081365 0.10441586473 428 -0.3597790743 -0.2269612272 -0.2116930884 429 -0.42537503735 0.0029083592498 0.042565265776 430 -0.4909710004 0.2327779457 -0.72707460866 431 -0.55656696345 0.46264753215 0.61991458988 ] 432V = 433[ -0.39332069512 -0.73844351903 -0.066317243631 434 -0.46064181237 -0.29632603784 0.4936677894 435 -0.52796292961 0.14579144335 -0.78838384791 436 -0.59528404686 0.58790892454 0.36103330214 ] 437 D = [ 1326.9054569 1.3814324663 7.0207941e-29 ] 438lrm*xn = [ 1600 2060 2520 2980 3440 3900 ] 439lrm2*xn = [ 1600 2060 2520 2980 3440 3900 ] 440======== compression r3svd eps = 1e-07 ========= 441Low rank matrix (UDV*) size 6 x 4, rank : 2, number of non zero : 22 442U = 443[ -0.22858714819 -0.6867004001 444 -0.29418311124 -0.45683081365 445 -0.3597790743 -0.2269612272 446 -0.42537503735 0.0029083592498 447 -0.4909710004 0.2327779457 448 -0.55656696345 0.46264753215 ] 449V = 450[ -0.39332069512 -0.73844351903 451 -0.46064181237 -0.29632603784 452 -0.52796292961 0.14579144335 453 -0.59528404686 0.58790892454 ] 454 D = [ 1326.9054569 1.3814324663 ] 455lrm*xn = [ 1600 2060 2520 2980 3440 3900 ] 456lrm2*xn = [ 1600 2060 2520 2980 3440 3900 ] 457======== LowRankMatrix + s*LowRankMatrix (with compression eps=1e-07) ========= 458Low rank matrix (UDV*) size 6 x 4, rank : 2, number of non zero : 22 459U = 460[ 0.22858714819 0.6867004001 461 0.29418311124 0.45683081365 462 0.3597790743 0.2269612272 463 0.42537503735 -0.0029083592498 464 0.4909710004 -0.2327779457 465 0.55656696345 -0.46264753215 ] 466V = 467[ 0.39332069512 0.73844351903 468 0.46064181237 0.29632603784 469 0.52796292961 -0.14579144335 470 0.59528404686 -0.58790892454 ] 471 D = [ 3980.7163708 4.144297399 ] 472 473