Editing User:Alisha

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
== Contact Information ==
== An introduction ==
'''Name''': Alisha Jain
* Please describe yourself in three sentences, one of them regarding your current studies.
''I'm currently working towards my PhD in Electrical Engineering which focuses on the statistical modeling of 5G wireless networks.''


'''E-mail Addres'''s: jain.alisha14@gmail.com
''I like cooking, baking and watching food network :)''


'''IRC Handle''': alisha
''I am an introvert''


'''Blog''': jainalisha14.wordpress.com
** Which languages do you speak?
'' English, Urdu.''


'''Github Account: '''https://github.com/alishajain
** What's your overall background?


'''Location''': Ludhiana, Punjab, India
''PhD Student (2013-current). Full Scholarship. (Tuiton + Stipend). Electrical Engineering (Researching on next generation wireless networks). PhD Student. University of Leeds, UK''


'''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 completely free after that. My working hours for the internship will be flexible and subject to the requirements of the project.
''MSc. (2011-2013) Electrical Engineering. Tuition Scholarship. (3.90/4.00), National University of Science and Technology, Pakistan. Distinction.''


== About me ==
''Lab Engineer (6 months. 2013). Projects for Cypress Semiconductor USA, National University of Sciences and Technology, Pakistan''
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.


== Heard about this program ==
''BSc. (2007-2011) Electrical Engineering, National University of Science and Technology, Pakistan.''
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 ==
''O/A levels.''


==== Experience with GNU products ====
* Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?


As a user I have a quite good experience with GNU Bison and can use make, gcc and gdb.
''As a researcher, I feel that my research is freely accessible to a very small community of engineers. My contribution to an open source organization such as Octave on the other hand, will be available to anyone.''


==== Experience with other FOSS projects ====
''Participation in GSoC will not only help me be a part of an organization but also provide me the opportunity to be mentored by highly skilled and experienced professionals. The learning curve from this experience will be huge as I will walk through the process of making a normal looking piece of code worthy of integration in a software and from my friends' experiences, it is an impressive achievement to add on the CV and opens a lot of career options :). ''


As a user I have experienced many FOSS projects like Linux, OpenScad, Flex and  Mediawiki and other Wiki software.
** Please also describe your previous experience with the GSoC, if any.


== Previous projects ==
''This is my first formal application for Octave GSoC.''
I have worked upon writing DXF files using C++. Below is the link to it:-


https://github.com/alishajain/dxfwentities
* Why are you choosing Octave?


<nowiki/>I have been also working on parser using Flex & Bison. You can check it here:-
''I am very familiar with the coding style as I use MATLAB for my research simulations.''


https://github.com/alishajain/Xcad-Ecad-Converter
''My research is quite mathematical in nature and which is why I believe that for implementing the missing algorithms, I can study the algorithms from research papers, understand them and translate them to Octave code.''


https://github.com/alishajain/Std-Flt-Converter
== Contact ==
* Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave.


== Project Details ==
'''AsmaZLK'''
=== Interested project ===
Because of my affinity for mathematics, I have my keen interest in [http://wiki.octave.org/Summer_of_Code_Project_Ideas#Generalised_eigenvalue_problem Generalised_eigenvalue_problem] project and would like to explore myself in the field of matrices.


=== Introduction to Project ===
* Which time zone do you live in?
This project deals with the [http://in.mathworks.com/help/matlab/ref/eig.html?searchHighlight=eig eig] function in GNU Octave, which calculates the eigenvalues and eigenvectors of a matrix.


=== Synopsis ===
''UTC+1 April-Oct''
This project will implement missing calling forms of the eig function, which includes preliminary balancing, calculating left eigenvectors as a third ouput and choosing among the generalized eigenvalue algorithms.


== Detail Project Timeline ==
* Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?


''As a rough guide, 1600 till late. But I am flexible. :)''


Community bonding period
== Coding experience ==
This part is one of the more important ones in your application. You are allowed to be as verbose as you want, as long as you stay on topic ;-)
* Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.


    Getting familiar with the code
''Matlab. A lot. Throughout graduate and post graduate. Communications/Signal Processing/Optimization/Math.''
    Interaction with mentors and the community members


1st week (25th May - 30th May)
''Octave. See [http://sourceforge.net/p/octave/optim/ci/62934b60c7505ce43caba6d517fd185ef04babc2/] and [https://github.com/AsmaAfzal/octave_workspace]''


    Designing the algorithm for calculation of left eigenvectors
* Please describe your experience with other programming languages.


2nd week (1st June - 7th June)
'' C/Verilog. AES encryption. ''


    Implementation of the algorithm
* Please describe your experience with being in a development team.


3rd week (8th June - 14th June)
'' Undergraduate group assignments/final project. Involved Digital Design implementation in Verilog. ''


    Implementation of calling form for calculating left eigenvectors as third output
* Please describe the biggest project you have written code for and what you learned by doing so. Also describe your role in that project over time.
'' AES Encryption implementation on Cypress Programmable System on Chip (PSoC) 3 [http://www.cypress.com/psoc3/?source=CY-ENG-HEADER] ''
'' The PSoC has a unique architecture and uses a combination of C/RTL blocks for implementing designs. ''
'' I was hired during my masters for implementing designs on the PSoC and publish how its architecture enhances implementations of designs. ''
'' See [http://www.embedded.com/design/safety-and-security/4417178/Enhancing-system-efficiency-of-embedded-encryption-applications-] and [http://www.embedded.com/design/prototyping-and-development/4422955/Building-an-efficient--intelligent--and-flexible-thermal-management-system] ''


4th week (15th June - 21th June)
'' This was mostly a solo task in terms of implementation. The actual documentation was collaborative. ''


    Studying Cholesky Factorisation algorithm and QR algorithm
* Please state the commits and patches you already contributed to Octave.


5th week (22nd June - 28th June)
'' quadprog in Optim package [http://sourceforge.net/p/octave/optim/ci/62934b60c7505ce43caba6d517fd185ef04babc2/] ''


    Implementation of the calling form to choose among generalised algorithms
'' lsqlin in Optim package [http://sourceforge.net/p/octave/optim/ci/bb42d6e052a1ba0bd417110b54897e7229de01a3/] ''


Mid-Term Evaluation
== Feeling fine ==
* Please describe (in short) your experience with the following tools:


    Calling form of eig to calculate left eigenvectors as third output
** IRC and mailing lists
    Calling form for choosing among generalised eigenvalue algorithms


7th week (6th July - 12th July)
'' Can use them. ''


    Understanding the concept of balancing
** Mercurial or other source code management systems


8th week (13th July - 19th July)
'' Won't need help ''


    Implementation of algorithm for balancing option
** Mediawiki or other wiki software


9th week (20th July - 26th July)
'' Easy. ''


    Implementation of calling form for preliminary balancing
** make, gcc, gdb or other development tools


10th week ( 27th July - 2nd August)
'' Will need to learn more for them. But might not need these. ''


    Writing test cases for these calling forms of eig function
* What will make you actively stay in our community after this GSoC is over?


11th and 12th week(3rd August - 16th August)
''Being better positioned to practically contribute further to Octave.''


  Documentation for the code
== Only out of interest ==
  Reviewing the code
* Did you ever hear about Octave before?
  Final touches to the code


== Other Commitments ==
''Sometimes as a MATLAB alternative.''
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 ==
** If so, when and where? How far have you been involved already?


I have been using stupendous products of GNU organisation from the very starting point of my career in open source world. I have been a regular user of GNU Bison, gdb, gcc etc. GNU Octave being a project which touches my area of interest. So, it would be a great honor for me to be a part of such a cardinal community and ameliorate myself in the field of programming and mathematics.
''Before GSoC. No.''


== Why me? ==
** If not, where would you expect or advise us to do advertising?


Because of my keen interest of contributing to the open source world and Octave being the most suitable community for me, I would like to put all sincere efforts to complete my project within the time period. I have joined octave-maintainers@gnu.org mailing list and #octave channel on IRC a few days ago and feeling great to interact with the community members and also I have got worthy feedback from them. Also, I have a good experience with C++ and mathematics always being one of my favorites, I think I am suitable according to the requirements of the project.
''MATLAB alternative is a big advertisement. Closer compatibility. ''
 
''Better windows installer is coming soon. That was a big barrier to entry.''
 
* What was the first question concerning Octave you could not find an answer to rather quickly?
''Difference between Octave and Octave Forge can be a bit confusing at first. Optim(forge)/Optimization(core). etc.''
 
== Prerequisites ==
* Please state the operating system you work with.
 
''Windows, Linux Mint.''
 
** If you have access to more than one, please state them and the conditions under which you are granted this access.
 
''Windows only in university lab. Windows/Linux at home.''
 
* Please estimate an average time per day you will be able to ''(if separated)'' access
** an internet connection
** a computer
** a computer with your progressing work on
 
''24/7''
 
* Please describe the degree up to which you can install new software on computers you have access to.
''Portable software on Windows in Lab. Admin rights on home PC/laptop.''
 
== Self-assessment ==
* Please describe how useful criticism looks from your point of view as committing student.
 
''I like feedback rather than silence. I prefer constructive criticism. :)''
 
* How autonomous are you when developing?
''After initial direction, I can be mostly autonomous.''
 
** Do you like to discuss changes intensively and not start coding until you know what you want to do?
** Do you like to code a proof of concept to 'see how it turns out', modifying that and taking the risk of having work thrown away if it doesn't match what the project or original proponent had in mind?
 
''more on the code/see how it turns out.''
 
== 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.


[[Category: Summer of Code]]
[[Category: Summer of Code]]
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)