Antonio Pino

Joined 25 March 2015
Line 30: Line 30:
* Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.
* Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.
I have been writing m-scripts for two years now, to solve specific engineering problems, 100-200 lines long on average.
I have been writing m-scripts for two years now, to solve specific engineering problems, 100-200 lines long on average.
Appart from that, I have a basic level of C++ (not wih the octave api) and I have not used OpenGL nor Qt before.
Apart from that, I have a basic level of C++ (not with the octave api) and I have not used OpenGL nor Qt before.
* Please describe your experience with other programming languages.
* Please describe your experience with other programming languages.
A big part of the programming done at Uni has been done in Python: from the basic algortithm courses to symbolic problem solving with sympy. It has also been the tool of choice for a little klugde here and there.
A big part of the programming done at Uni has been done in Python: from the basic algorithm courses to symbolic problem solving with sympy. It has also been the tool of choice for a little kludge here and there.
On the other hand, I have used VHDL for building and testing a discrete signal filter. And c to do a little systems and microcontroller programming.
On the other hand, I have used VHDL for building and testing a discrete signal filter. And c to do a little systems and microcontroller programming.
* Please describe your experience with being in a development team.
* Please describe your experience with being in a development team.
Line 40: Line 40:
The biggest project I have worked on was the VHDL discrete filter, carried out along with two colleagues. The idea was to make use of all we learned about digital circuits so we implemented a RAM, adders, various types of registers, finite state machines, and we all went through the nightmare of 'looking for the bug' and creating testbenchs for vhdl. But more importantly that an innocent looking modification may break others' job.
The biggest project I have worked on was the VHDL discrete filter, carried out along with two colleagues. The idea was to make use of all we learned about digital circuits so we implemented a RAM, adders, various types of registers, finite state machines, and we all went through the nightmare of 'looking for the bug' and creating testbenchs for vhdl. But more importantly that an innocent looking modification may break others' job.


By the way, knowing about the nuts and bolts of how are numbers stored in the bare metal gave me an appretiation for what are the differences betwen an idealized (almighty) function and the ''real'' poor man's version of it.
By the way, knowing about the nuts and bolts of how are numbers stored in the bare metal gave me an apreciation for what are the differences between an idealized (almighty) function and the ''real'' poor man's version of it.
* Please state the commits and patches you already contributed to Octave.
* Please state the commits and patches you already contributed to Octave.
No commits or patches done, although I have successfully built it from source and written a barebones matrix cosine function
No commits or patches done, although I have successfully built it from source and written a bare bones matrix cosine function
[[Media:cosm.m]] based on [http://www.maths.manchester.ac.uk/~higham/narep/narep411.pdf Higham and Smith].
[[Media:cosm.m]] based on [http://www.maths.manchester.ac.uk/~higham/narep/narep411.pdf Higham and Smith].


Line 62: Line 62:
I have been using octave for a long time now, in varying courses such as Linear Algebra, Control Theory, Quantum Physics.
I have been using octave for a long time now, in varying courses such as Linear Algebra, Control Theory, Quantum Physics.
* What was the first question concerning Octave you could not find an answer to rather quickly?  
* What was the first question concerning Octave you could not find an answer to rather quickly?  
Finding a way to systematically test a functions was not very easy. I also missed a guide on the differences with Matlab (specially syntax), which should be crucial as Matlab is sadly more promoted than Octave in universities and people dicover the latter when looking for an alternative to the former, just like me.
Finding a way to systematically test a functions was not very easy. I also missed a guide on the differences with Matlab (specially syntax), which should be crucial as Matlab is sadly more promoted than Octave in universities and people discover the latter when looking for an alternative to the former, just like me.


== P: Prerequisites ==
== P: Prerequisites ==
Line 73: Line 73:
* How autonomous are you when developing?  
* How autonomous are you when developing?  


I often start with a proof of concept and 'see how it turns out' is usualy my approach to a problem, I never start doing it blindly or whitout a clue, though.
I often start with a proof of concept and 'see how it turns out' is usually my approach to a problem, I never start doing it blindly or without a clue, though.


== Y: Your task ==
== Y: Your task ==
Line 159: Line 159:
I believe this is of interest to Gnu Octave first, due to the goal of overall MATLAB compatibility and second, because more and more systems are being described by a matrix equation lately.
I believe this is of interest to Gnu Octave first, due to the goal of overall MATLAB compatibility and second, because more and more systems are being described by a matrix equation lately.


funm shoud be ready by the mid-term. The rest will follow. The tentative time line can be read in the "Additional Info URL".
funm should be ready by the mid-term. The rest will follow. The tentative time line can be read in the "Additional Info URL".




Line 170: Line 170:
On the other, more and more dynamical systems can be approximated by a Matrix differential equation, and to have efficient Matrix Function implementations in Gnu Octave will help any free software user (including myself) approach these systems.
On the other, more and more dynamical systems can be approximated by a Matrix differential equation, and to have efficient Matrix Function implementations in Gnu Octave will help any free software user (including myself) approach these systems.


Finally, I have been writing m-scripts for two years now, to solve specific engineering problems, a strong python background. I order to fulfill it I will have to refresh my C++ knowledge by becoming familiar with the source tree, and get used to mercurial (hg), the version control system used to manage Gnu Octave.
Finally, I have been writing m-scripts for two years now, to solve specific engineering problems, a strong python background. I order to fulfil it I will have to refresh my C++ knowledge by becoming familiar with the source tree, and get used to mercurial (hg), the version control system used to manage Gnu Octave.


[1] N.J. Higham. A New sqrtm for MATLAB. Numerical Analysis Report No. 336, Manchester Centre for Computational Mathematics, Manchester, England, January 1999.
[1] N.J. Higham. A New sqrtm for MATLAB. Numerical Analysis Report No. 336, Manchester Centre for Computational Mathematics, Manchester, England, January 1999.
107

edits