Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • 08:10
    rikardn commented #1932
  • 08:04
    bjodah commented #1932
  • 06:44
    justxi starred symengine/symengine
  • Sep 30 04:13
    dmadisetti starred symengine/symengine
  • Sep 28 11:11
    ximlel starred symengine/symengine
  • Sep 28 05:16
    tsukurudesktop starred symengine/symengine
  • Sep 28 02:33
    Xingtao starred symengine/symengine
  • Sep 28 01:52
    tsukurudesktop opened #1933
  • Sep 27 19:30
    kylarf starred symengine/symengine
  • Sep 26 16:48
    lwJi starred symengine/symengine
  • Sep 25 15:58
    rikardn opened #1932
  • Sep 22 12:47
    AlexanderLasar commented #1931
  • Sep 22 11:06
    rikardn commented #1931
  • Sep 22 08:56
    AlexanderLasar opened #1931
  • Sep 18 22:45

    isuruf on master

    check before casting to Boolean Add sympy names add test and 5 more (compare)

  • Sep 18 22:45
    isuruf closed #1930
  • Sep 18 22:45
    isuruf commented #1930
  • Sep 17 04:24
    isuruf review_requested #1930
  • Sep 16 21:44
    isuruf synchronize #1930
  • Sep 16 21:22
    isuruf synchronize #1930
Isuru Fernando
@darioizzo, it's at https://symengine.github.io/classSymEngine_1_1Add.html , but it has close to zero documentation
@darioizzo even though it's not a 1:1 mapping, SymPy's documentation is a good place to look since many functions are essentially a reimplementation in C++. Also, I find the tests in SymEngine to be quite approachable for examples of usage.
Jogi Miglani
Btw can anyone tell me that what's the plan for documentation for symengine, because I myself facing very much problems while implementing cancel for apart ....if there is predefined plan then I would like to help in that
How to install symengine for python 3 using macports? I tried using sudo port install symengine and I was not able to use in python3
Isuru Fernando
@ronald00773, install pip and then do python3 -m pip install symengine
thanks @isuruf
Ammar Alam Malik
Hey, everyone.
This is Ammar and I am new to open source. Can anyone get me started?
Hello, everyone .
I am new to opensource ,so i want help on how to get started. I am good in c++,still learning though trying to make my coding skills more better.
can anyone guide me on open source,it will really helpfull to me.
Arpan Chattopadhyay
Hello, everyone. My name is Arpan. I have been active in the main SymPy room and Github page. Among the proposed projects, I am interested in SymEngine- SymPy integration, could someone please tell me what all is expected in the proposal?
@isuruf Respected Sir, could you please help me out?
Isuru Fernando
@Arpan612, the linked issues give some details
Here's an example PR that was closed that can be resurrected. sympy/sympy#13214
There's also symengine-sage integration project https://wiki.sagemath.org/GSoC/2020#Fast_evaluation_of_symbolic_expressions
Arpan Chattopadhyay
Thank you sir, will definitely look into it.
Sir, could you please tell me who are the potential mentors for this project along with you?
Arpan Chattopadhyay
@isuruf Sir, after Shikhar's work in GSoC 17, did anyone else in latter GSoC years work on symengine?
Also, I found the symengine-sage project interesting. Is this part of immediate attention to the symengine project? Actually, I am looking to work on a part of symengine project which is of immediate attention to this GSoC.
Anubhav Gupta
@isuruf Sir, I have been contributing to Sympy for over 2 months and I have gone through the codebase of Symengine. I have even opened a PR in symengine similar to an issue in Sympy, can you please review it.
Arpan Chattopadhyay
Hello All, i just posted my application on the github wiki for some reviews and comments, could you please look at it? Would very much appreciate it. Thanks!
Arpan Chattopadhyay
@aktech @isuruf Could you please suggest me any python wrappers which can be worked on for SymEngine?
Arpan Chattopadhyay
@Sumith1896 Sir, please help me with the question above. Also, I request everyone to give your suggestions on my application above.
how to mod of two polynomials in SymEngine?Like this
from sympy.abc import x
from sympy import ZZ, Poly

a_list = [1,2,3,4,5]
b_list = [3,4,5,6,7]

a = Poly(a_list, x).set_domain(ZZ)
b = Poly(b_list, x).set_domain(ZZ)
Hello, I'm new to cpp and symengine. what does "sub(mul(A.m[i col + i], b.m[j bcol + k]),
mul(A.m[j col + i], b.m[i bcol + k]));" do? especially the sub part
is it just subtract?
@Kayzee805 yes
Guys, as of now, are there modules for multibody dynamics in symengine that I can use in python IDE?
Naveen Sai

I'm trying to build symengine and I am running into some errors when I set the -DCMAKE_BUILD_TYPE=Debug and -DWITH_BFD=yes.

/home/naveen/dev/symengine/symengine/utilities/teuchos/Teuchos_stacktrace.cpp: In function ‘void {anonymous}::process_section(bfd*, asection*, void*)’:
/home/naveen/dev/symengine/symengine/utilities/teuchos/Teuchos_stacktrace.cpp:193:8: error: ‘bfd_get_section_flags’ was not declared in this scope; did you mean ‘bfd_set_section_flags’?
  193 |   if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0) {
      |        ^~~~~~~~~~~~~~~~~~~~~
      |        bfd_set_section_flags
/home/naveen/dev/symengine/symengine/utilities/teuchos/Teuchos_stacktrace.cpp:197:25: error: ‘bfd_get_section_vma’ was not declared in this scope; did you mean ‘bfd_set_section_vma’?
  197 |   bfd_vma section_vma = bfd_get_section_vma(abfd, section);
      |                         ^~~~~~~~~~~~~~~~~~~
      |                         bfd_set_section_vma
/home/naveen/dev/symengine/symengine/utilities/teuchos/Teuchos_stacktrace.cpp:203:49: error: cannot convert ‘bfd*’ to ‘const asection*’ {aka ‘const bfd_section*’}
  203 |   bfd_size_type section_size = bfd_section_size(abfd, section);
      |                                                 ^~~~
      |                                                 |
      |                                                 bfd*
In file included from /home/naveen/dev/symengine/symengine/utilities/teuchos/Teuchos_stacktrace.cpp:73:
/usr/include/bfd.h:1206:35: note:   initializing argument 1 of ‘bfd_size_type bfd_section_size(const asection*)’
 1206 | bfd_section_size (const asection *sec)
      |                   ~~~~~~~~~~~~~~~~^~~
make[2]: *** [symengine/utilities/teuchos/CMakeFiles/teuchos.dir/build.make:128: symengine/utilities/teuchos/CMakeFiles/teuchos.dir/Teuchos_stacktrace.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:784: symengine/utilities/teuchos/CMakeFiles/teuchos.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

I did search a little and found out that binutils-dev>2.34 has a change in its API. Can anyone help me out in fixing this?

Ondřej Čertík
Hi @naveensaigit, we'll have to figure out how to fix it. In the mean time, can you compile with WITH_BFD=no?
Can you open up an issue for this at github please?
Naveen Sai
Yes, compiling without debug works fine. I'll open an issue on Github
Naveen Sai

I compiled without these options and the build was successful. Even ctest works. However, I have a question. Can I actually use the library directly in C++? I tried to compile this piece of code, but I get an error again.

#include <symengine/basic.h>
#include <symengine/symbol.h>

using SymEngine::Basic;
using SymEngine::Symbol;
using SymEngine::RCP;
using SymEngine::symbol;

int main()
    RCP<const Basic> x = symbol("x");

This is the error I get.

(base) naveen@naveen-Legion-Y545:~/dev/projects$ g++ symengine.cpp
/usr/bin/ld: /tmp/ccSCjgXA.o: in function `SymEngine::RCP<SymEngine::Symbol const> SymEngine::make_rcp<SymEngine::Symbol const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
symengine.cpp:(.text._ZN9SymEngine8make_rcpIKNS_6SymbolEJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEENS_3RCPIT_EEDpOT0_[_ZN9SymEngine8make_rcpIKNS_6SymbolEJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEENS_3RCPIT_EEDpOT0_]+0x48): undefined reference to `SymEngine::Symbol::Symbol(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
@naveensaigit you can write a CMakeLists.txt and have cmake generate your compile commands, see e.g. https://gist.github.com/bjodah/85fbf793da29a405e71ee382746db94d
or you can call cmake on the command-line and have it provide compile & link flags (CXXFLAGS & LDFLAGS typically), see e.g. https://github.com/symengine/symengine/wiki/Using-SymEngine-from-a-Cpp-project
Naveen Sai
@bjodah Thank you for the response. Using compile and link flags compiles the code. I have another question. Is there a way to set the compile links by default? I am right now defining the flags each time I open a new shell
Naveen Sai
@bjodah I went through your gist and using a build.sh is a good way to do it. Thank you, I understood it now :)
@naveensaigit glad I could help!
Daniel Shapero
Hi all! I was curious about how expressions are represented internally in symengine so I started browsing the source code. It looks like every expression is always canonicalized before it's stored in, say an Add or a Mul object. So for example (a + b) * (c + d) wouldn't be represented that way internally, it would first be expanded to a * c + ...etc. Is that impression correct or is there something I've missed?
Sorry if this is documented somewhere obvious, I didn't see anything on the sympy website
Isuru Fernando
@danshapero, no it's not expanded
x + x is canonicalized to 2*x
Devesh Sawant
Hi, I am trying to build symengine on windows on my MSYS shell. I ran the cmake command successfully with -DGMP_LIBRARY="c:/.../lib -DGMP_INCLUDE_DIR="c:/.../lib" -DCMAKE_BUILD_TYPE="Debug" where it was able to find the directory of the manually built gmp library.
On running make it fails, throwing cannot find C:/gmp/lib: Permission denied, which is weird since it exists & is accessible .
Any ideas on what it could be?
Isuru Fernando
@dsaw, use -DGMP_LIBRARY_DIR instead of -DGMP_LIBRARY
Sayandip Halder
Hi! Is there any update to symengine/symengine#1719? I would love to take it up as my GSoC Project!
Hi i'm totally new to c++ and Symengine and i just managed to use it with VS 2019. I'm struggling with printing anything else than symbols. For example i try to print: RCP<const Basic>x= integer(1);
with the command cout << *x << endl; it triggers a breakpoint in basic-inl.h in line 97