User:Alisha: Difference between revisions

From Octave
Jump to navigation Jump to search
Line 45: Line 45:


== Project Details ==
== Project Details ==
== Your task ==
* Did you select a task from our list of proposals and ideas?
''yes''
** If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information.
''http://wiki.octave.org/Summer_of_Code_Project_Ideas#Nonlinear_and_constrained_least_squares''
''http://octave.1599824.n4.nabble.com/GSoC-2015-Optimization-Package-Non-linear-and-constrained-least-squares-lsqcurvefit-lsqlin-lsqnonlin-tt4668777.html''
* Please provide a rough estimated timeline for your work on the task.
GSoC Application period
'' 'quadprog' wrapper around 'qp' ''
'' 'lsqlin' wrapper around 'qp' ''
Start of GSoC (May)
'' 'lsqnonlin' wrapper around 'nonlin_residmin' ''
'' 'lsqcurvefit' wrapper around 'nonlin_curvefit', 'nonlin_residmin', or 'lsqnonlin', ''
'' 'fmincon' wrapper around 'nonlin_min', ''
Midterm
instead of wrappers for top-level functions like qp. Call back-end function (__qp__) to be able to extract lambda.
See [http://octave.1599824.n4.nabble.com/GSoC-2015-Optimization-Package-Non-linear-and-constrained-least-squares-lsqcurvefit-lsqlin-lsqnonlin-tp4668777p4669284.html]
Stretch Goals
Implement another back-end algorithm/add variant.


=== Introduction to Project ===
=== Introduction to Project ===

Revision as of 06:45, 25 March 2015

Contact Information

Name: Alisha Jain

E-mail Address: jain.alisha14@gmail.com

IRC Handle: alisha

Blog: jainalisha14.wordpress.com

Github Account: https://github.com/alishajain

Location: Ludhiana, Punjab, India

Typical Working Hours:-GMT+5.30, Typical working hours will be 11AM to 2AM on working days and full time on weekends. I can devote 40 - 50 hours per week and more if required. My graduation will end by the mid of May. I will be after that. I can spare ample time from my college timings for my project. My working hours for the internship will be flexible and subject to the requirements of the project.

About me

I am an undergraduate 4th year Computer Science student at Guru Nanak Dev Engineering College, Ludhiana. I have formidable learning in C++, PHP and MySQL. I have a strong affinity for Mathematics which keeps my inquisitiveness alive for learning more about numerical functions and their implementation through programming. I am also passionate for programming.

Heard about this program

I got to know about this program from the word of mouth from my friends who too were participants in GSOC 2014.

Experiences with FOSS projects

Experience with GNU products

As a user I have a quite good experience GNU Bison.

Experience with other FOSS projects

As a user I have experienced many FOSS projects like Linux, OpenScad, Flex and Wiki.

Previous projects

I have worked upon writing DXF files using C++. Below is the link to it:-

https://github.com/alishajain/dxfwentities

I have been also working on parser using Flex & Bison. You can check it here:-

https://github.com/alishajain/Xcad-Ecad-Converter

https://github.com/alishajain/Std-Flt-Converter

Interested project

Because of my affinity for mathematics, I have my keen interest in 'Generalised_eigenvalue_problem' project [1]. I want to explore myself more in the field of matrices.

Project Details

Your task

  • Did you select a task from our list of proposals and ideas?

yes

    • If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information.

http://wiki.octave.org/Summer_of_Code_Project_Ideas#Nonlinear_and_constrained_least_squares

http://octave.1599824.n4.nabble.com/GSoC-2015-Optimization-Package-Non-linear-and-constrained-least-squares-lsqcurvefit-lsqlin-lsqnonlin-tt4668777.html

  • Please provide a rough estimated timeline for your work on the task.

GSoC Application period

'quadprog' wrapper around 'qp'

'lsqlin' wrapper around 'qp'

Start of GSoC (May)

'lsqnonlin' wrapper around 'nonlin_residmin'

'lsqcurvefit' wrapper around 'nonlin_curvefit', 'nonlin_residmin', or 'lsqnonlin',

'fmincon' wrapper around 'nonlin_min',

Midterm

instead of wrappers for top-level functions like qp. Call back-end function (__qp__) to be able to extract lambda.

See [2]

Stretch Goals Implement another back-end algorithm/add variant.



Introduction to Project

This project deals with the file conversion of various file formats. The Translate extension has been developed for this purpose. The extension is made supportive for various file formats but the work for only specific format of the input files. The data is read from the input file and stored in the arrays (in the form of key-value pair for JSON file format) and then written in the output file following the file format specifications of the output file format.

Synopsis

This project will make the extension robust so that it can handle even the exceptional cases of the input file format. Moreover, a proper documentation will be maintained for the different file formats. I will be mainly focusing on AndroidXML, Qt ts and JSON file formats.

Present state of project

After carrying out the scrutiny of present working code I found the following limitations:- Lack of proper documentations, unable to handle abnormal cases, only specific format of input file is translated, lack of robust programming and code is not secure.

Project partition

Based on the different file formats I will be working on my project will be partioned in the following three parts:- AndroidXML QT ts JSON

Timeline - December 9, 2014 to March 9, 2015

November 1 to December 9

  • Setup the extension
  • Communicate with the community members and get involved in it
  • Work on a micro-task to get familiar with the extension
  • Study the file format specifications
  • Study the corner cases

December 10 to December 20

  • Work on reading the AndroidXML file
  • Examine the corner cases while reading the file

December 21 to December 31

  • Work on writing the AndroidXML file

January 1 to January 10

  • Testing on AndroidXML files for abnormalities
  • Proceed with the decoding of the JSON files

January 11 to January 20

  • Proceed with the decoding of the JSON files
  • Robust the code

January 20 to January 31

  • Testing on JSON files for the accuracy
  • Study on the specifications of QT ts file format

February 1 to February 10

  • Work on reading the QT files
  • Examine the exceptional cases while reading the file

February 11 to February 20

  • Work on writing the QT files
  • Testing the code with aberrant cases of the file format

February 21 to february 28

  • Testing and enhancing the code
  • Fixing all the bugs

March 1 to March 9

  • Documentation
  • Mediawiki coding conventions

Other Commitments

Till mid of May, I would be having my final exams. But after that I would be completely free to devote all my time to GSoC. So I will be comfortably able to manage to fulfill my tasks within the specified time.

Objective of joining GNU Octave

As I loved the very concept of open source development from the moment I learned about it, it would be a matter of honour for me to be a part of such a splendid crew. Also I have a firm belief that I will excel tremendously in my area of interest and nurture my skills by working ardently. GNU Octave being an paradigm of its field enticed me to work with it and learn manifold new things.

Why me?

Being highly assiduous and fervent for my work I would love to contribute to the open source development since it is like a holy grail to me. I had been into coding environment from quite a time and I wish to apply my whole coding-impetus to a point. I have joined the octave-maintainers@gnu.org mailing list and #octave channel on IRC a few days ago and I am feeling good to interact there and I have already got some valuable suggestions. This is the real blessing for the young saplings in the garden of programming to grow in the guidance of the sublime mentors. I am so much self-obliged and excited to work with dexterous developers across the globe and be a part of the legacy.

Feeling fine

  • Please describe (in short) your experience with the following tools:
    • IRC and mailing lists

Can use them.

    • Mercurial or other source code management systems

Won't need help

    • Mediawiki or other wiki software

Easy.

    • make, gcc, gdb or other development tools

Will need to learn more for them. But might not need these.

  • What will make you actively stay in our community after this GSoC is over?

Being better positioned to practically contribute further to Octave.

Your task

  • Did you select a task from our list of proposals and ideas?

yes

    • If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information.

http://wiki.octave.org/Summer_of_Code_Project_Ideas#Nonlinear_and_constrained_least_squares

http://octave.1599824.n4.nabble.com/GSoC-2015-Optimization-Package-Non-linear-and-constrained-least-squares-lsqcurvefit-lsqlin-lsqnonlin-tt4668777.html

  • Please provide a rough estimated timeline for your work on the task.

GSoC Application period

'quadprog' wrapper around 'qp'

'lsqlin' wrapper around 'qp'

Start of GSoC (May)

'lsqnonlin' wrapper around 'nonlin_residmin'

'lsqcurvefit' wrapper around 'nonlin_curvefit', 'nonlin_residmin', or 'lsqnonlin',

'fmincon' wrapper around 'nonlin_min',

Midterm

instead of wrappers for top-level functions like qp. Call back-end function (__qp__) to be able to extract lambda.

See [3]

Stretch Goals Implement another back-end algorithm/add variant.