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.

Reply via email to