Hi, Thanks Tim for the heads up. I think Linbox currently offers symbolic linear algebra algorithms so we can refer it.
http://www.linalg.org/ Regards, Thilina On Mon, Mar 10, 2014 at 9:26 AM, Tim Lahey <[email protected]> wrote: > Keep in mind that symbolic linear algebra is quite different than > numerical linear algebra. A lot of the algorithms aren't designed for > symbolic matrices. > > Cheers, > > Tim. > > > On 9 Mar 2014, at 23:49, Thilina Rathnayake wrote: > > 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 >> <[email protected]>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 <[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/CAPnoRopfocWKWOMg6SH2Zg9h4fadkjdY1eO8W%2B8s6tAgLgu%3D9A% >> 40mail.gmail.com. >> >> 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/1E55FAB0-F118-4450-B0BF-5550B55D42C8%40gmail.com. > > 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/CAPnoRop%2Bd6G6LhbUvV-ujgF3MXnRz5wd7Ya2PJ1f1KE51%3D-bBA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
