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

 
 

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

Submitted by:  Cristiano Dorigo <cristianodorigo>
Submitted on:  Sat 09 Apr 2016 05:31:11 PM UTC  
 
Category: Core : otherPriority: 5 - Normal
Status: NonePrivacy: Public
Assigned to: NoneOpen/Closed: Open

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

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.

Best,

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 File(s):
   
   
Comment:
   

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
  • -unavailable- added by lachlan (Updated the item)
  • -unavailable- added by francesco_faccio (Posted a comment)
  • -unavailable- added by cristianodorigo (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 07 Jul 2016 02:02:19 AM UTClachlanCategoryNone=>Core : other
    Fri 29 Apr 2016 01:28:50 PM UTCcristianodorigoAttached File-=>Added input_control_sparse_correct.diff, #37022
    Fri 29 Apr 2016 12:47:12 PM UTCcristianodorigoAttached File-=>Added input_control_sparse_2.diff, #37020
    Sat 09 Apr 2016 05:31:11 PM UTCcristianodorigoAttached File-=>Added input_control_sparse.cset, #36878

    Back to the top


    Powered by Savane 3.1-cleanup1