Andrew Kazyrevich
622e5277f3
Minor improvement. Exception messages for matrix dimensions now tell you the values (in addition to a mere 'dimensions must match' we had before).
15 years ago
Christoph Ruegg
7a34beed26
Sparse Vectors: Equals now supports accidential zeros. Fixes gh-21.
Equals previously returned always false in case of (asymmetric) accidential
zeros. Instead, Equals now expects accidential zeros and treats them
correctly (so we can allow arithmetic algorithms to generate accidential
zeros, avoiding a lot of zero checks).
15 years ago
Christoph Ruegg
7904a2c181
Sparse Linear Algebra: make unchecked setter privately accessible II
15 years ago
Christoph Ruegg
f754a121f7
Sparse Linear Algebra: minor add/subtract optimization, gh-18.
15 years ago
Christoph Ruegg
ea4e6a6d80
Sparse Linear Algebra: fix subtraction bug gh-20 gh-18
15 years ago
Christoph Ruegg
68c0417368
Sparse Linear Algebra: fix addition bug gh-20 gh-18.
15 years ago
Christoph Ruegg
101864e798
Sparse Linear Algebra: make unchecked setter privately accessible. gh-20.
15 years ago
Christoph Ruegg
7b47fb50e3
Sparse Linear Algebra: complex vectors now override right Equals. gh-20.
Previously sparse vectors for Complex and Complex32 did override
Object.Equals instead of the generic IEquatable<Vector<T>>.Equals.
Now only overrides the generic version to ensure that the right version
is called in all code paths.
15 years ago
Christoph Ruegg
bbceec35e7
LinearAlgebra: sparse vectors longer than 20 are no longer fully rendered on ToString
15 years ago
Christoph Ruegg
45ed83ac12
Unit Tests: added sparse vector unit tests confirming gh-18.
15 years ago
Christoph Ruegg
7cced98dd2
Threading: CommonParallel now supports empty loops. Closes gh-19.
CommonParallel did break on empty loops with an argument exception instead
of just doing nothing. It now exits early if there's nothing to do in
For and Invoke, no longer throwing an exception. Also, it now special cases
single-element iterations and inlines their execution (trivial loop
unrolling), skipping all the threading/task overhead.
15 years ago
Till Hoffmann
94c57bdf2d
Extended the chisquare distribution to support the generation of samples for non-integer dof.
15 years ago
Christoph Ruegg
4455e9f6e1
Fixes dirichlet distribution (multivariate beta) density function (pdf). Closes gh-9.
15 years ago
Jurgen Van Gael
bacac93336
Fixed sparse vector bug.
15 years ago
Marcus Cuda
722611725f
added methods to create matrices from a list of vectors. work items: 5691
15 years ago
Marcus Cuda
08f1483e87
tweaked cholesky solve
fixed issue with LU solve for complex types using parallel element copy instead of Array.Copy
15 years ago
Marcus Cuda
57da4a187e
vector parallelization tweaks
15 years ago
Alexander Karatarakis
2234560a7a
[Matrix] LeftMultiply with vector is exactly the same as TransposeThisAndMultiplty() with vector
Change LeftMultiply to a protected method (from protected abstract) and it now
calls TransposeThisAndMultiply(). TransposeThisAndMultiply has unit tests
so it was chosen as the "main" method. Overrides of LeftMultiply were removed,
because now only TransposeThisAndMultiply() needs to be overriden.
Signed-off-by: Alexander Karatarakis <alex@karatarakis.com>
16 years ago
Alexander Karatarakis
4889537d50
[Single/Double.Matrix] Remove redundant calculation of abs in frobenius norm
The formulas found in various references do not have abs. Furthermore,
when multiplying A*A^T or A^T*A (for the frobenius norm we only care
about the diagonal so it doesn't matter which product is used) the
i-ith diagonal element of the final matrix comes from the multiplication
of line i with itself. Therefore, all numbers involved will be multiplied
with themselves resulting in numbers that are always non-negative.
Signed-off-by: Alexander Karatarakis <alex@karatarakis.com>
16 years ago
Alexander Karatarakis
10059d1ea6
Fix documentation summary of RangeCheck()
Signed-off-by: Alexander Karatarakis <alex@karatarakis.com>
16 years ago
Marcus Cuda
b4c8440e57
tweaked vector scale routines
16 years ago
Marcus Cuda
89aa96eec8
started optimizing the parallel code for small matrices and vectors
16 years ago
Abratiychuk
3f470bc0bc
Fixed unit tests for Silverlight
Signed-off-by: abratiychuk <18.05.2011>
16 years ago
Christoph Ruegg
c2ba6ef0f9
upgrade NuGet, add assembly descriptions (taken from nuspecs)
16 years ago
Marcus Cuda
820cba83cd
added support for large sparse matrices with less than int.MaxValue non-zero elelements, work items: 5688
16 years ago
Marcus Cuda
8e24293a79
moved factorization extenstions into typed namespaces
removed version t4 template for the silverlight project
16 years ago
Marcus Cuda
960149224f
removed t4 templates
16 years ago
Marcus Cuda
7b7e1722d3
fixed my last fix and the original bug
16 years ago
Marcus Cuda
705ef289dd
fixed lower triangle bug
16 years ago
Alexander Karatarakis
9a4441c946
(Strictly)Upper/Lower Triangle(): Now using iterations that only go through the necessary elements instead of having nested if statements. Reduced nesting and improved efficiency.
16 years ago
Alexander Karatarakis
f1530e223a
(Strictly)Upper/Lower Triangle(): Changed iterations to have rows as outer loop and columns as inner loop. Was previously mixed [Consistency Change]
16 years ago
Alexander Karatarakis
ca9a455144
Removed redundant braces.
16 years ago
Alexander Karatarakis
46ad88b73e
(Strictly)Upper/Lower Triangle(): Changed (i,j) to (row, column) [Naming Style Change]
16 years ago
Marcus Cuda
089544a1f6
added missing Serializable attributes. work item:5683
16 years ago
Alexander Karatarakis
71b30bdd6d
Removed "diagonal" from Multiply() and TransposeAndMultiply() methods because a)it can handle non-diagonal matrices and b) other methods don't make this clarification (consistency)
16 years ago
Alexander Karatarakis
6892b7c768
Fixed Add and Subtract methods in DiagonalMatrix to use the correct type of matrix.
16 years ago
Marcus Cuda
bc1d9df3bc
native: finished acml provider - needs more testing
16 years ago
Marcus Cuda
28ac162287
native: using MKL_INT in MKL provider and renamed common template to norm
16 years ago
Marcus Cuda
f068a33ca5
updated gotoblas to not call serveal routines
16 years ago
Marcus Cuda
944c79c721
native: switched to f2c defined integers
16 years ago
Marcus Cuda
ee933111e3
native: fixed several native interface bugs
16 years ago
Marcus Cuda
435eaff230
fixed matrix multiple bug when using more than two threads
16 years ago
Marcus Cuda
1713db411a
added GotoBLAS2 provider class.
16 years ago
Abratiychuk
37526cb8d9
Change MatrixMultuplyWithUpdate to cache-oblivious multiplication.
16 years ago
Marcus Cuda
9f2d5e5923
dense matrix performance tweak. work item: 5680
16 years ago
Marcus Cuda
676dd39c55
stylecop fixes
16 years ago
Alexander Karatarakis
f4e8456a62
Removed stubs in SparseMatrix. Calculation of A^T*x is inefficient for CSR format so it defaults to generic calculation.
16 years ago
Alexander Karatarakis
ecaa031ca1
Previous commits were for DenseMatrix. Created stubs for SparseMatrix.
16 years ago
Alexander Karatarakis
793d976952
Implemented DoTransposeThisAndMultiply for matrices & vectors on Complex32.
16 years ago
Alexander Karatarakis
765cae8482
Implemented DoTransposeThisAndMultiply for matrices & Vectors on Complex.
16 years ago