I am not sure BLAS or LAPACK supports arbitrary precision arithmetic. If not we have to go with FLINT.
Regards, Thilina On Mon, Mar 10, 2014 at 8:51 AM, Thilina Rathnayake <thilina.r...@gmail.com>wrote: > 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 <mario.pern...@gmail.com> 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 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/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 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/CAPnoRopfocWKWOMg6SH2Zg9h4fadkjdY1eO8W%2B8s6tAgLgu%3D9A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.