patchGNU Octave - Patches: patch #8974, GSOC16 - Improve iterative methods...


patch #8974: GSOC16 - Improve iterative methods for sparse linear systems

Submitter:  Cristiano Dorigo <cristianodorigo>
Submitted:  Sat 09 Apr 2016 05:31:11 PM UTC
Category:  Core : other Priority:  5 - Normal
Status:  None Privacy:  Public
Assigned to:  None Open/Closed:  Open
* Mandatory Fields

Add a New Comment Rich Markup

Fri 29 Apr 2016 01:28:50 PM UTC, comment #3: 

Dear all,

I noticed that the previous patch was incorrect. I attach the correct one, with the name input_control sparse_correct.diff
Sorry for the mistake.

Best regards,
Cristiano Dorigo

(file #37022)

Cristiano Dorigo <cristianodorigo>
Fri 29 Apr 2016 12:47:12 PM UTC, comment #2: 

Dear all,

I attach a new patch input_control sparse_2.diff. In this new one there are all the changes that were in the first one (so the first one now is useless), moreover now also bicg, bicgstab, cgs, pcr and qmr use the function _default__input_.m to control the values of tol, maxit and x0 and to set these into default values if necessary.

Best regards,
Cristiano Dorigo

(file #37020)

Cristiano Dorigo <cristianodorigo>
Sun 10 Apr 2016 12:17:53 PM UTC, comment #1: 

Dear Cristiano,

thank you for your contribution. I am working on a similar function for ode23 and ode45, so I will take a look to your code because the aim of our exercises is the same.


Francesco Faccio

Francesco Faccio <francesco_faccio>
Sat 09 Apr 2016 05:31:11 PM UTC, original submission:  

Dear all,
I submitted a proposal for the GSOC16 project mentioned in the summary.
In the attached patch there is an idea of how to work for the first part of the project.

I wrote the private function _default__input_.m that performs as follows:
[varargout] = _default__input.m_(def_val, varargin) and verifies the values of the varargin variables, if they are filled then varargout{i} = varargin{i}, otherwise if they miss or are empty thevarargout{i} = def_val{i}, where def_val is a cell array that contains the defaul desired values.

Then I substituted the internal input control of restart,rtol,maxit in the gmres code using the previous function and the same for tol,maxit,x0 in pcg.

I made the function _default__input_ more general as possible because the variables that need a control in gmres and pcg are different (in this specific case gmres has the restart values that pcg hasn't).

The next step could be at first to improve and/or fix this function if there are some useless things and/or missing features , then to extend this input check for the other algorithms mentioned in the GSOC project (pcr, bicg, bicgstab, cgs, and qmr). Then I think that can be useful another private function that check if are consistent the matrix A, the preconditioners M1, M2 and the right-hand-side vector b.

Please don't hesistate to give me some advices, observations or tell me if I'm working in an uncorrected road.

Cristiano Dorigo <cristianodorigo>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #36878:  input_control_sparse.cset added by cristianodorigo (7KiB - application/octet-stream)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by lachlan (Updated the item)
  • -email is unavailable- added by francesco_faccio (Posted a comment)
  • -email is unavailable- added by cristianodorigo (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-07-07 lachlan CategoryNone Core : other
    2016-04-29 cristianodorigo Attached File- Added input_control_sparse_correct.diff, #37022
    2016-04-29 cristianodorigo Attached File- Added input_control_sparse_2.diff, #37020
    2016-04-09 cristianodorigo Attached File- Added input_control_sparse.cset, #36878

    Back to the top

    Powered by Savane 3.13-c54d.
    Corresponding source code