My opinion is that it would be great if CSymPy depended only on Flint and 
its extensions;
for what is missing in it one could make other extensions to it or write 
code
directly in CSymPy. The reason is that there are costs in using many 
libraries;
one must learn how to use them;  there is often a slowdown in converting to 
the required
data structures.
 

On Sunday, March 9, 2014 4:26:28 PM UTC+1, Thilina Rathnayake wrote:
>
> Hi All,
>
> I would like to work on implementing a Linear Algebra Module for CSymPy 
> this summer
> as a GSoC project. I like to focus mainly on Matrices and related 
> algorithms as they play
> a central role in Linear algebra.
>
> I hope to implement following (rough) list of things related to matrices:
>
> 1. Basic Operations: 
>     Addition, Scalar multiplication, transposition
>     Matrix multiplication
>     Row operations
>     Finding a Submatrix (by deleting specific rows and columns)
>
> 2. Square Matrices
>     Decompositions
>     Inverse
>     Eigen values, Eigen vectors and Determinants
>     Nullspace
>
> I haven't decided on the magnitude of the scope of this project but since 
> Matrices are a
> well studied and implemented field in scientific and numeric computation 
> lots of references
> can be found so we can start implementing right after we get the 
> requirements and designs
> correct.
>
> Apart from SymPy matrices module, there are open source linear algebra 
> modules 
> implemented in c++ like Armadillo <http://arma.sourceforge.net/> and 
> it++<http://itpp.sourceforge.net/4.3.1/>. 
> Armadillo seems to be the fastest among 
> these according to the benchmarks 
> here.<http://arma.sourceforge.net/speed.html>Armadillo focuses on numeric 
> computations.
> Following two links provide useful information about implementing 
> numerical matrix 
> algorithms in C++.
>
> http://arma.sourceforge.net/armadillo_nicta_2010.pdf
>
> http://itee.uq.edu.au/~conrad/misc/sanderson_templates_lecture_uqcomp7305.pdf
>
> Generalizing these functions to work with elements from a more general 
> field rather than
> numeric fields won't be that hard. That way we can support symbolic 
> expressions as well.
> We can create a matrix base class and derive matrices which can support a 
> specific
> Field (domain) effectively, like matrices with rational elements or real 
> elements.
>
> Should we think about the implementation of about sparse/dense or 
> mutable/immutable
> matrices as a part of this project? 
>
> Regards,
> Thilina
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/a1c958b6-5752-4314-ba3d-63f18f2cb5a2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to