view .hgtags @ 8964:f4f4d65faaa0

Implement sparse * diagonal and diagonal * sparse operations, double-prec only. Date: Sun, 8 Mar 2009 16:28:18 -0400 These preserve sparsity, so eye(5) * sprand (5, 5, .2) is *sparse* and not dense. This may affect people who use multiplication by eye() rather than full(). The liboctave routines do *not* check if arguments are scalars in disguise. There is a type problem with checking at that level. I suspect we want diag * "sparse scalar" to stay diagonal, but we have to return a sparse matrix at the liboctave. Rather than worrying about that in liboctave, we cope with it when binding to Octave and return the correct higher-level type. The implementation is in Sparse-diag-op-defs.h rather than Sparse-op-defs.h to limit recompilation. And the implementations are templates rather than macros to produce better compiler errors and debugging information.
author Jason Riedy <jason@acm.org>
date Mon, 09 Mar 2009 17:49:13 -0400
parents 644aecd65bbb
children 60b7fb86380a
line wrap: on
line source

d56e0d75e7c9760f2a3e750c2d71a5c52bb76b98 ss-2-1-45
dece11da64ed86ac2347f48ffa13fd046bef7de3 ss-2-1-52
e759d01692dbb69ff28b6d70940239d93ff77a9d ss-2-1-53
adf8d68d71438b8b394cbbce59e817a557db5ecd ss-2-1-54
6279796dc2b9ee28e0624b4b91bba1eec6ed292d ss-2-1-55
d0aa1a59b73b879fe18eafb8df54e451f870058c ss-2-1-56
c1cdf2a32cdbf4e0d68aead4bfa597106e844989 ss-2-1-57
ce01dbd7e026c095d9e50beac529e8e955a303f8 ss-2-1-58
1c65a8e44ef95fd4b2b11eb19071e3ecbbe77b76 ss-2-1-59
1e6f653ef1e332fbaab48ac44149b0eb2d3bcfc8 ss-2-1-61
1bf9abc0256be1800b553acdb30b099b4c2a3abb ss-2-1-62
8386cf9811ee90243a965a3782b1b4f6cb107845 ss-2-1-63
5a92c3177fc6c038bc93745f6ebc6a055e602b96 before-gnuplot-split
e2ed74b9bfa052ce499b7f419e8d204123c49af0 after-gnuplot-split
996a08a3eb068ce8002f54170fae755f9142d9a4 ss-2-9-0
5c2f5830179082f18658d5a9e68087938444581e ss-2-9-1
57b5030f5737ef9a1ac588b32e6c828358fac801 before-64-bit-merge
9302581b820d71e6e3ae722b68e5923aebd46157 ss-2-9-2
06585668a971b21818cacedbab1e11a98c11c5a0 ss-2-9-3
f16c05db625059770b94eec0af027bbe74d2ce62 ss-2-9-4
cda6a105ae9a30f9cd8032b1f49c2cfecfc04f6c before-ov-branch
acb4a1e0b311c47bc957a48bf6af7f77e9c80fab ss-2-9-6
b2e1be30c8e94902e6557c1edba2c4f37ff7bdf8 ss-2-9-7
d542d919783961dce51ee8fc06f65b8f2cfe4156 ss-2-9-8
60f9ced8ab534e65f27d95a712d97ba6add6cd8d ss-2-9-9
12b676a0b18395af2fa0ccceb516447d8be6ad03 before-graphics-branch
a848b846cb3ac279782b7fef8270a62ca4578539 ss-2-9-10
3e2cfed6c87e2019cb1584211068b9c581331ccb before-object-branch
10da0f6d85c260bb5f640436e42d633a57ccda9b ss-2-9-11
db6d908e8a03a42760a45c7fd29eae074e505f7c ss-2-9-12
afbd31bb7b4e001c6c16d41eb908aa66bed64352 ss-2-9-13
fc55a5e1760b832a672d9de3b53888a3d6793d21 ss-2-9-14
0b91144f9533b05d14fb5692ed67d8c6f500230f ss-2-9-15
5608935ff5228a90d34fa80dce3dab2462d20fd3 ss-2-9-16
77de8319c337b39a477d5433348e4597ad61abe0 ss-2-9-17
9f02c32eb70d3e6d0c42a2fd5f3b862f4d6c6bcc ss-2-9-18
89d546610556ee47ec634ab8c3e441e1db248873 ss-2-9-19
274d9642ac1032fcc4996a3cac80cfe5fd20f8a4 release-3-0-0
af10baa6391596c3713385d7b6c66c93ee935e87 ss-3-1-50
a5d1e27ee1f4c3fd66c489e83fdb40f92bf1bf43 ss-3-1-51
739141cde75a22b9ac9b5b327ea30c61fd357748 ss-3-1-52
bd1b1fe9c6e952202bf5878cd042a168f6df6ddd ss-3-1-53
3c3cbe8f18e03c73cc34494c8037d8a45a30bf7d ss-3-1-54