Hi Mario, Thanks for the reply. One of the design goals of CSymPy is that user should be able to install and use it without additional dependencies. Currently, only compulsory dependency for CSymPy is the gmp module. We can use FLINT, BLAS, or LAPACK for linear algebra if the user is ready to install them, but if not CSymPy should be able to do them itself. I think Ondrej will have something to add to this.
Regards, Thilina On Sun, Mar 9, 2014 at 10:54 PM, mario <[email protected]> wrote: > > csympy could use flint for matrices with multiprecision numbers > > > 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 [email protected]. > To post to this group, send email to [email protected]. > 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/92d9c5ea-869d-4025-a3fa-53477a2eae67%40googlegroups.com<https://groups.google.com/d/msgid/sympy/92d9c5ea-869d-4025-a3fa-53477a2eae67%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. To post to this group, send email to [email protected]. 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/CAPnoRor%2B%3D_itYcnKrayJfqV%2B4e8F_nvRvtR_CwGuAmER0Yb_xw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
