[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #54399] test eigs fail
From: |
Rik |
Subject: |
[Octave-bug-tracker] [bug #54399] test eigs fail |
Date: |
Mon, 30 Jul 2018 10:40:44 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0 |
Follow-up Comment #13, bug #54399 (project octave):
I don't see why you can't increase the performance a bit by having a special
case for sigma == 0.
The code is
if (have_b)
{
if (cholB)
{
if (permB.numel ())
{
SparseMatrix tmp (n,n,n);
for (octave_idx_type i = 0; i < n; i++)
{
tmp.xcidx (i) = i;
tmp.xridx (i) =
static_cast<octave_idx_type> (permB(i));
tmp.xdata (i) = 1;
}
tmp.xcidx (n) = n;
AminusSigmaB -= sigma * tmp *
b.transpose () * b * tmp.transpose ();
}
else
AminusSigmaB -= sigma * b.transpose () * b;
}
else
AminusSigmaB -= sigma * b;
}
else
{
SparseMatrix sigmat (n, n, n);
// Create sigma * speye (n,n)
sigmat.xcidx (0) = 0;
for (octave_idx_type i = 0; i < n; i++)
{
sigmat.xdata (i) = sigma;
sigmat.xridx (i) = i;
sigmat.xcidx (i+1) = i + 1;
}
AminusSigmaB -= sigmat;
}
It looks like there is a similar opportunity when have_B is false. Instead of
calculating sigmat, just leave AminusSigmaB unchanged.
Is sigma guaranteed to be scalar at that point?
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?54399>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [Octave-bug-tracker] [bug #54399] test eigs fail, (continued)
- [Octave-bug-tracker] [bug #54399] test eigs fail, Marco Caliari, 2018/07/28
- [Octave-bug-tracker] [bug #54399] test eigs fail, Dmitri A. Sergatskov, 2018/07/28
- [Octave-bug-tracker] [bug #54399] test eigs fail, Dmitri A. Sergatskov, 2018/07/28
- [Octave-bug-tracker] [bug #54399] test eigs fail, Marco Caliari, 2018/07/28
- [Octave-bug-tracker] [bug #54399] test eigs fail, Dmitri A. Sergatskov, 2018/07/28
- [Octave-bug-tracker] [bug #54399] test eigs fail, Marco Caliari, 2018/07/29
- [Octave-bug-tracker] [bug #54399] test eigs fail, Dmitri A. Sergatskov, 2018/07/29
- [Octave-bug-tracker] [bug #54399] test eigs fail, Marco Caliari, 2018/07/30
- [Octave-bug-tracker] [bug #54399] test eigs fail, Dmitri A. Sergatskov, 2018/07/30
- [Octave-bug-tracker] [bug #54399] test eigs fail, Marco Caliari, 2018/07/30
- [Octave-bug-tracker] [bug #54399] test eigs fail,
Rik <=
- [Octave-bug-tracker] [bug #54399] test eigs fail, Marco Caliari, 2018/07/30
- [Octave-bug-tracker] [bug #54399] test eigs fail, Dmitri A. Sergatskov, 2018/07/30
- [Octave-bug-tracker] [bug #54399] test eigs fail, Rik, 2018/07/30
- [Octave-bug-tracker] [bug #54399] function LuAminusSigmaB in eigs-base.cc can be made faster for special case of sigma == 0, Rik, 2018/07/30
- [Octave-bug-tracker] [bug #54399] function LuAminusSigmaB in eigs-base.cc can be made faster for special case of sigma == 0, Marco Caliari, 2018/07/31
- [Octave-bug-tracker] [bug #54399] function LuAminusSigmaB in eigs-base.cc can be made faster for special case of sigma == 0, Rik, 2018/07/31