On Wed, Mar 5, 2014 at 11:49 AM, Kasper Peeters
<[email protected]> wrote:
>> Thanks for the email. Would you be willing to license your code under
>> BSD style license?
>
>
> Let's leave the licensing issues out of the discussion for the time being if
> you don't mind. We'll find a way to make this work.

I think it's just a simple "yes" or "no". ;)

>
>> Btw, since your code is in C++, maybe you can help us with CSymPy
>> (https://github.com/certik/csympy),
>> which is also a pure C++ library, with optional Python wrappers.
>
>
> I know. Though I was under the impression that there is rather a large
> amount of functionality in Sympy which has not yet been ported to CSymPy
> (yet?). I would be willing to help with that but my time is limited.

Correct, so far only the very simple symbolic manipulation works.

>
>>
>> In particular, do you have some applications,
>> where SymPy is too slow?
>
>
> Not at the moment, since I am only now adding component computations to
> cadabra, and I haven't really done anything substantial with that
> functionality yet. Again, this is something that I think one should tackle
> by just trying to solve explicit problems, rather than thinking about a
> general solution.

That's right, I was hoping you would supply some good problems to tackle. :)

>
>>
>> Since you chose to use C++ in Cadabra, I assume you might have some
>> applications
>> where using Python would be too slow.
>
>
> No, I chose C++ because I like it better as a programming language for large
> projects (I like static typing, among other things). That's just personal
> preference, I am not saying that you couldn't have written it in Python. I
> did at some point have applications for which I needed a lot of computer
> power, and at that stage it was probably good that cadabra was in C++, but
> that was more luck than wisdom.

I see. Yes, C++, Fortran and C are all nice in this respect, you just compile
it and only have to write tests for the actual functionality, not for
syntax/argument types.
And when you look at a function in those languages, you can easily see
what argument types
it is expecting. While in Python you have no idea if it expects an
int, or a list (list of what?),
list of lists, dictionary or an object (what kind of object?) and so
on. But Python is way easier
to hack on for new comers, so that's also something to take into account.

> My motivation for making the functionality available through Python now is
> essentially that I need my system to have some programming capability which
> is easier to access than writing C++ code (most of my users have no
> knowledge about C++ at all, but would probably get away with a bit of Python
> scripting).

Right. Python is great for exploratory work, especially when used with
the IPython
Notebook and all the other Python libraries.

So how do you propose Cadabra would work with SymPy or CSymPy? Would
there be some
core in Cadabra, that works well with SymPy, that people can use to
build useful things upon it,
or just use it for calculations?

Ondrej

-- 
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/CADDwiVCLV7W%2B6U_yk5CarMSoG%2B7njca6Rq69_QTuwXfQaLMpsg%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to