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.

Reply via email to