Yes, Linbox is probably your best bet for symbolic linear algebra code. Cheers,
Tim. On 2014-03-10, at 12:24 AM, Thilina Rathnayake <[email protected]> wrote: > 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. -- 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/74BEC21E-9CBD-45D6-84A2-73FF8FD0C981%40gmail.com. For more options, visit https://groups.google.com/d/optout.
