GSOC 2017 Idea Improve logm, sqrtm, funm

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

GSOC 2017 Idea Improve logm, sqrtm, funm

Valliappan C A
Hello everyone,

As I introduced my self earlier, I'm a final year student majoring Electronincs & Instrumentation from BITS Pilani, India. I have strong coding skills and proficient in Matlab and C++.
I am looking forward to take part in GSOC 2017, and I'm interested to work on idea- improve logm, sqrtm, funm
I have been looking into the code base and found that it is well structured that help me a lot in becoming comfortable with the code base.
I will start contributing to GNU-Octave soon, but it will be excellent if anyone can point out some issue just for start. Some pointers will be really helpful to start working on this module.
Lastly I apologize if I have been rude in any manner.


--
Valliappan.C.A
BITS PILANI K K BIRLA GOA CAMPUS
Contact: +91-8378988093

Reply | Threaded
Open this post in threaded view
|

Re: GSOC 2017 Idea Improve logm, sqrtm, funm

Michael Godfrey
You could start by looking at bug report:#44310. This is quite old, but has not
been worked on. Now that C++11 is in use the entire set of elementary functions
should be redone to make use of the math library. The current functions use
numerically unstable transformations.  As far as I remember only atanh was
corrected to use libm.

Doing this would be an important contribution and is not dependent on much
detailed knowledge of Octave.  Of course, carefully coded tests for each function
will be required and these will need to be included in the source code as is
done for other functions.

Thanks very much for offering to help.

Michael

On 03/09/2017 07:33 PM, Valliappan C A wrote:
Hello everyone,

As I introduced my self earlier, I'm a final year student majoring Electronincs & Instrumentation from BITS Pilani, India. I have strong coding skills and proficient in Matlab and C++.
I am looking forward to take part in GSOC 2017, and I'm interested to work on idea- improve logm, sqrtm, funm
I have been looking into the code base and found that it is well structured that help me a lot in becoming comfortable with the code base.
I will start contributing to GNU-Octave soon, but it will be excellent if anyone can point out some issue just for start. Some pointers will be really helpful to start working on this module.
Lastly I apologize if I have been rude in any manner.


--
Valliappan.C.A
BITS PILANI K K BIRLA GOA CAMPUS
Contact: +91-8378988093


Reply | Threaded
Open this post in threaded view
|

Re: GSOC 2017 Idea Improve logm, sqrtm, funm

PhilipNienhuis
In reply to this post by Valliappan C A
Valliappan C A wrote
Hello everyone,

As I introduced my self earlier, I'm a final year student majoring
Electronincs & Instrumentation from BITS Pilani, India. I have strong
coding skills and proficient in Matlab and C++.
I am looking forward to take part in GSOC 2017, and I'm interested to work
on idea- *improve logm, sqrtm, funm*
I have been looking into the code base and found that it is well structured
that help me a lot in becoming comfortable with the code base.
I will start contributing to GNU-Octave soon, but it will be excellent if
anyone can point out some issue just for start. Some pointers will be
really helpful to start working on this module.
Lastly I apologize if I have been rude in any manner.
A little while ago one of our Italian contributors/developers provided a link to code that apparently has been worked on silently and looked already in a very usable state.  A.o., AFAIR there was already a fairly complete funm implementation.

I can't find the message now, but just search this maintainers ML as I think it was mentioned here.

Philip
Reply | Threaded
Open this post in threaded view
|

Re: GSOC 2017 Idea Improve logm, sqrtm, funm

Marco Caliari-4
On Thu, 9 Mar 2017, PhilipNienhuis wrote:

> Valliappan C A wrote
>> Hello everyone,
>>
>> As I introduced my self earlier, I'm a final year student majoring
>> Electronincs & Instrumentation from BITS Pilani, India. I have strong
>> coding skills and proficient in Matlab and C++.
>> I am looking forward to take part in GSOC 2017, and I'm interested to work
>> on idea- *improve logm, sqrtm, funm*
>> I have been looking into the code base and found that it is well
>> structured
>> that help me a lot in becoming comfortable with the code base.
>> I will start contributing to GNU-Octave soon, but it will be excellent if
>> anyone can point out some issue just for start. Some pointers will be
>> really helpful to start working on this module.
>> Lastly I apologize if I have been rude in any manner.
>
> A little while ago one of our Italian contributors/developers provided a
> link to code that apparently has been worked on silently and looked already
> in a very usable state.  A.o., AFAIR there was already a fairly complete
> funm implementation.
>
> I can't find the message now, but just search this maintainers ML as I think
> it was mentioned here.
>
> Philip

I worked on that together with Mudit Sharma

https://github.com/RickOne16/matrix

Marco

Reply | Threaded
Open this post in threaded view
|

Re: GSOC 2017 Idea Improve logm, sqrtm, funm

Mudit Sharma
In reply to this post by Valliappan C A
Hi All,

These are some details relating to the project :

A) The implementation of matrix functions provided in [1] definitely works fine but needs some parts to be
implemented in C++, the student will need to use a profiler[2] to identify the slow areas in the m file scripts.

B) Also Higham also has some other important matrix functions which are missing in Octave, so next task can
be to implement them based on the same idea of utilizing C++ for slow code.
[2] : https://sourceware.org/binutils/docs/gprof/

Thanks!
Mudit
Reply | Threaded
Open this post in threaded view
|

Re: GSOC 2017 Idea Improve logm, sqrtm, funm

Mudit Sharma
In reply to this post by Valliappan C A
> Hello Mudit,
 Hi Valliappan,

As I introduced my self earlier, I'm a final year student majoring Electronics & Instrumentation from BITS Pilani, India. I have strong coding skills and proficient in Matlab and C++.
I am looking forward to take part in GSOC 2017, and I'm interested to work on idea- improve logm, sqrtm, funm.
I have been looking into the code base. Can you help me with some reference material.
 
Here's a link to Prof Higham's work on matrix functions : http://www.maths.manchester.ac.uk/~higham/papers/matrix-functions.php

I will start contributing to GNU-Octave soon, but it will be excellent if anyone can point out some issue just for start. Some pointers will be really helpful to start working on this module.
Lastly I apologize if I have been rude in any manner.


As a 'programming task' you can proceed with a small matrix function which is either missing or can be an improvement to the existing one in Octave. 
--
Valliappan.C.A
BITS PILANI K K BIRLA GOA CAMPUS
Contact: +91-8378988093

Thanks!
Mudit
Reply | Threaded
Open this post in threaded view
|

Re: GSOC 2017 Idea Improve logm, sqrtm, funm

Michael Godfrey
> Hello Mudit,
 Hi Valliappan,

As I introduced my self earlier, I'm a final year student majoring Electronics & Instrumentation from BITS Pilani, India. I have strong coding skills and proficient in Matlab and C++.
I am looking forward to take part in GSOC 2017, and I'm interested to work on idea- improve logm, sqrtm, funm.
I have been looking into the code base. Can you help me with some reference material.
 
Here's a link to Prof Higham's work on matrix functions : http://www.maths.manchester.ac.uk/~higham/papers/matrix-functions.php

I will start contributing to GNU-Octave soon, but it will be excellent if anyone can point out some issue just for start. Some pointers will be really helpful to start working on this module.
Lastly I apologize if I have been rude in any manner.


As a 'programming task' you can proceed with a small matrix function which is either missing or can be an improvement to the existing one in Octave. 
--
Valliappan.C.A
BITS PILANI K K BIRLA GOA CAMPUS
Contact: +91-8378988093

Thanks!
Mudit

The matrix functions do need work, but the elementary functions that you mentioned might usefully be
done first. They are quite straightforward and the C++ library is suitable so only the interface code is
needed. The code for atanh can be used as an example.

Michael
Reply | Threaded
Open this post in threaded view
|

Re: GSOC 2017 Idea Improve logm, sqrtm, funm

Mithil
In reply to this post by Mudit Sharma
Hello all

I have been following the ideas posted on the thread and about the project proposed. I need few clarifications about the same.

1) Why are some parts need to be implemented in C++?
2) Also, the implementation in [1] seems quite optimal. So are we going to try and check whether other possible algorithms work better than implemented ones?
3) Which functions are supposed to be implemented? [1] has implemented expm,logm and sqrtm. [2] contains the implementation of cosm and sinm. [3] contains the implementation of lambert function.

[1] https://github.com/RickOne16/matrix
[2]https://github.com/sdrelton/cosm_sinm
[3]http://riccati.dm.unipi.it/software/lambertw/lambertwmatrix.m

4) Lastly, would you mind to outline the timeline of the project briefly ?

Thanks
Mithil

Reply | Threaded
Open this post in threaded view
|

Re: GSOC 2017 Idea Improve logm, sqrtm, funm

Marco Caliari-4
> I have been following the ideas posted on the thread and about the project
> proposed. I need few clarifications about the same.
>
> 1) Why are some parts need to be implemented in C++?

Inside logm_new [1] there is the subfunction sqrtm_tri. If I'm not wrong,
it is already present in sqrtm.cc (current version of sqrtm in Octave) and
in sqrtm2 [1]. Since it is a triple loop, it would be nice to have it as a
C++ (sub)function called by both logm_new and sqrtm2.

Regards,

Marco

Reply | Threaded
Open this post in threaded view
|

Re: GSOC 2017 Idea Improve logm, sqrtm, funm

Mithil
Hello

Thanks for your reply. This is what I inferred from your response: There are some slow areas in m file scripts which could be used as a subfunction at different places and we'd like it to convert it to C++ function as given in current octave implementation ( like sqrtm.cc ).

Lastly, would you mind stating other functions we'd like to implement and also few other questions which I posted?

Here's what I feel should be included:

1) exponential
2) logarithm
3) square root
4) sine
5) cosine
6) lambert W function
6) sign
7) nth root
 
*These have been discussed here Nick Higham  quite extensively.
Reply | Threaded
Open this post in threaded view
|

Re: GSOC 2017 Idea Improve logm, sqrtm, funm

Mithil
In reply to this post by Mithil
Hello

It'd be great if somebody clarifies my doubts. I'm looking forward to GSoC and it'd help me understand the project well.

Thanks
Mithil