sparse/bicg.b,sparse/cgs.patch and sparse/bicgstab.patch

View: New views
7 Messages — Rating Filter:   Alert me  

sparse/bicg.b,sparse/cgs.patch and sparse/bicgstab.patch

by R! :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi
I wrote some procedure in past, and Here is some patches for them.
There is some small time optmalization, and minor changes.
I'm also sending new procedure bicg.m

I will be realy happy if you use it.

Thanks

bicgstab.patch,
cgs.patch,
bicg.m

Re: sparse/bicg.b,sparse/cgs.patch and sparse/bicgstab.patch

by Jaroslav Hajek-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, May 24, 2009 at 7:55 PM, R! <salac.r@...> wrote:

>
> Hi
> I wrote some procedure in past, and Here is some patches for them.
> There is some small time optmalization, and minor changes.
> I'm also sending new procedure bicg.m
>
> I will be realy happy if you use it.
>
> Thanks
>

Hi,
what is the purpose of changes like the following?

-  ## Default tolerance.
+  # default toleration

cheers

--
RNDr. Jaroslav Hajek
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz

Re: sparse/bicg.b,sparse/cgs.patch and sparse/bicgstab.patch

by R! :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Well,

nothing special, I understand that these unnecessary changes I rather bad so I removed them.
Here is better version as i hope
bicg.m,
bicgstab.patch,
cgs.patch


Jaroslav Hajek-2 wrote:
On Sun, May 24, 2009 at 7:55 PM, R! <salac.r@gmail.com> wrote:
>
> Hi
> I wrote some procedure in past, and Here is some patches for them.
> There is some small time optmalization, and minor changes.
> I'm also sending new procedure bicg.m
>
> I will be realy happy if you use it.
>
> Thanks
>

Hi,
what is the purpose of changes like the following?

-  ## Default tolerance.
+  # default toleration

cheers

--
RNDr. Jaroslav Hajek
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz

Re: sparse/bicg.b,sparse/cgs.patch and sparse/bicgstab.patch

by Jaroslav Hajek-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, May 26, 2009 at 11:30 AM, R! <salac.r@...> wrote:
>
> Well,
>
> nothing special, I understand that these unnecessary changes I rather bad so
> I removed them.

OK. I'ts just Octave coding conventions - stand-alone comments should
start with ##.

> Here is better version as i hope
> http://www.nabble.com/file/p23719708/bicg.m bicg.m ,
> http://www.nabble.com/file/p23719708/bicgstab.patch bicgstab.patch ,
> http://www.nabble.com/file/p23719708/cgs.patch cgs.patch
>

Thanks. Could you please also write ChangeLog entries for these?

--
RNDr. Jaroslav Hajek
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz

Re: sparse/bicg.b,sparse/cgs.patch and sparse/bicgstab.patch

by R! :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Of course,
I didnt find any information which is the right way how to do it so I write it here:

Changelog
sparse/bicgstab.m
- new output when calling without arguments
- time optimization: removed certain checks linked to preconditioner which are unacceptably  slow

sparse/cgs.m
- new output when calling without arguments
- time optimization: removed certain checks linked to preconditioner which are unacceptably  slow
- certain internal variable was renamed, it has the same names in bicgstab and bicg now



Jaroslav Hajek-2 wrote:
On Tue, May 26, 2009 at 11:30 AM, R! <salac.r@gmail.com> wrote:
>
> Well,
>
> nothing special, I understand that these unnecessary changes I rather bad so
> I removed them.

OK. I'ts just Octave coding conventions - stand-alone comments should
start with ##.

> Here is better version as i hope
> http://www.nabble.com/file/p23719708/bicg.m bicg.m ,
> http://www.nabble.com/file/p23719708/bicgstab.patch bicgstab.patch ,
> http://www.nabble.com/file/p23719708/cgs.patch cgs.patch
>

Thanks. Could you please also write ChangeLog entries for these?

--
RNDr. Jaroslav Hajek
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz

Re: sparse/bicg.b,sparse/cgs.patch and sparse/bicgstab.patch

by Jaroslav Hajek-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, May 27, 2009 at 5:27 PM, R! <salac.r@...> wrote:

>
> Of course,
> I didnt find any information which is the right way how to do it so I write
> it here:
>
> Changelog
> sparse/bicgstab.m
> - new output when calling without arguments
> - time optimization: removed certain checks linked to preconditioner which
> are unacceptably  slow
>
> sparse/cgs.m
> - new output when calling without arguments
> - time optimization: removed certain checks linked to preconditioner which
> are unacceptably  slow
> - certain internal variable was renamed, it has the same names in bicgstab
> and bicg now
>
>
>
>

OK, I applied the bicgstab and cgs patches, with a couple of style
changes. Bicg will be kept for 3.2.1.

cheers

--
RNDr. Jaroslav Hajek
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz


Re: sparse/bicg.b,sparse/cgs.patch and sparse/bicgstab.patch

by Jaroslav Hajek-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, May 28, 2009 at 7:03 AM, Jaroslav Hajek <highegg@...> wrote:

> On Wed, May 27, 2009 at 5:27 PM, R! <salac.r@...> wrote:
>>
>> Of course,
>> I didnt find any information which is the right way how to do it so I write
>> it here:
>>
>> Changelog
>> sparse/bicgstab.m
>> - new output when calling without arguments
>> - time optimization: removed certain checks linked to preconditioner which
>> are unacceptably  slow
>>
>> sparse/cgs.m
>> - new output when calling without arguments
>> - time optimization: removed certain checks linked to preconditioner which
>> are unacceptably  slow
>> - certain internal variable was renamed, it has the same names in bicgstab
>> and bicg now
>>
>>
>>
>>
>
> OK, I applied the bicgstab and cgs patches, with a couple of style
> changes. Bicg will be kept for 3.2.1.
>
> cheers
>

Looking closer at the code, I discovered a minor bug in the preconditioning:
`precon = @(x) M1 * (M2 * x)' was not correct because the
preconditioning matrices are specified as inverses.
Also, I don't think that it's a good idea to explicitly invert the
preconditioner. Preconditioners are usually sparse and triangular; the
inverse remains triangular but is often much less sparse, and also
usually has more widely varying elements.
Note that Octave's matrix division operator is smart enough to
recognize triangular matrices (in the sparse case, also permuted
triangular), and will even cache this information to be reused in
subsequent divisions, hence there are no dramatic losses of
performance to be expected here.

I applied the following patch to alleviate these problems:
http://hg.savannah.gnu.org/hgweb/octave/rev/1673a0dc019f

of course, if you want to discuss this further, you're welcome.

cheers

--
RNDr. Jaroslav Hajek
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz