Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • 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
  • Sep 16 16:55
    isuruf synchronize #1930
  • Sep 16 16:47
    isuruf synchronize #1930
  • Sep 16 16:37
    isuruf opened #1930
  • Sep 16 09:14
    ashryramadhan10 starred symengine/symengine
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
and throws the exception: Unhandled exception at 0x00007FFC1F796AFB (ntdll.dll) in Test-symengine.exe: 0xC0000005: Access violation reading location 0x0000000000000009.
Hey! I enjoy mathematics and programming, and I wish to learn more computational algebra --- in particular, computational group theory and ring theory. Is there an interest for Symengine to have algorithms to compute with permutation groups? How about ring algorithms? (eg. grobner basis computation and the like)?
Joseph Donato
Hello everyone, I am trying to build the example provided on symengine.org and I get the following error when running make after running cmake .
-- Could NOT find SymEngine (missing: SymEngine_DIR)
This is what my CMakeLists.txt contains
cmake_minimum_required(VERSION 3.15.5)
find_package(SymEngine 0.8.1 CONFIG PATHS ~/.conan/data/symengine/0.8.1)

add_executable(example main_example.cpp)
target_link_libraries(example ${SYMENGINE_LIBRARIES})
Am I missing something in order for cmake to find symengine? I used conan to install symengine
Hey! How to define a symbol/integer matrix? Just like this: DenseMatrix A = DenseMatrix(3, 3,
{integer(1), symbol("b"), symbol("c"),
symbol("d"), symbol("e"), symbol("f"),
symbol("g"), symbol("h"), symbol("i")});
Isuru Fernando
Does it not work?
It does not work