[sage-devel] Review request: Choeskly-for-sparse-matrices patch
Hey all, I'm very new here, so I'm unsure how this works; I submitted a patch on saturday that implements chokesly decomposition for sparse matrices by calling out to cvxopt.cholmod: https://trac.sagemath.org/ticket/13674 I'm trying to figure out how I can have the patch reviewed. I set the status to needs_review; That doesn't seem to have garnered any attention :) 1. Should I have created a new trac ticket to fix the issue? 2. Is there some metadata I forgot to update, and hence the patch does not show up in the review queue? 3. Should I have "bump"-ed the patch in Trac? Thanks a lot, ~Siddharth -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/eeda671e-892a-4cb1-b5ac-9c6f978ab5adn%40googlegroups.com.
[sage-devel] Re: SSL missing
Actually, it looks like you don't already need SSL installed since it comes with that fix. On Monday, January 25, 2021 at 7:10:25 PM UTC-5 Zachary Scherr wrote: > > If you have SSL installed, say through homebrew, then you can use the > following script: https://github.com/3-manifolds/fix_mac_sage > On Monday, January 25, 2021 at 7:06:08 PM UTC-5 pols...@gmail.com wrote: > >> Dear developers of SageMath, >> >> I keep encountering this error (see log attached) with any binary install >> in my work macOS Big Sur system (11.1) - I’ve tried as an app and simply >> unpacking the compressed file to launch from the terminal. I’ve installed >> openssl with brew (brew install openssl) and tried to launch “sage -f >> python3” as instructed, but it failed. >> >> I would be most happy to help debug this in case it’s not an isolated >> case. Otherwise, I’d appreciate some pointers on how to fix this. >> >> Thank you kindly. >> >> BR, >> >> /Pol >> > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/b0901712-faed-48c3-b3b8-5f57cf41b884n%40googlegroups.com.
[sage-devel] Re: SSL missing
If you have SSL installed, say through homebrew, then you can use the following script: https://github.com/3-manifolds/fix_mac_sage On Monday, January 25, 2021 at 7:06:08 PM UTC-5 pols...@gmail.com wrote: > Dear developers of SageMath, > > I keep encountering this error (see log attached) with any binary install > in my work macOS Big Sur system (11.1) - I’ve tried as an app and simply > unpacking the compressed file to launch from the terminal. I’ve installed > openssl with brew (brew install openssl) and tried to launch “sage -f > python3” as instructed, but it failed. > > I would be most happy to help debug this in case it’s not an isolated > case. Otherwise, I’d appreciate some pointers on how to fix this. > > Thank you kindly. > > BR, > > /Pol > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/57c024f1-4ca1-48fb-925c-f25c03180b5an%40googlegroups.com.
[sage-devel] SSL missing
Dear developers of SageMath, I keep encountering this error (see log attached) with any binary install in my work macOS Big Sur system (11.1) - I’ve tried as an app and simply unpacking the compressed file to launch from the terminal. I’ve installed openssl with brew (brew install openssl) and tried to launch “sage -f python3” as instructed, but it failed. I would be most happy to help debug this in case it’s not an isolated case. Otherwise, I’d appreciate some pointers on how to fix this. Thank you kindly. BR, /Pol -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/CAPxK24ppf8h7xo8Sdh%3DRm1TSgnKS-Ha7w3fpar_Bq%3DE43rrTAQ%40mail.gmail.com.
Re: [sage-devel] On MacBook Pro running macOS Big Sur 11.1 SageMath failed to build mpir-3.0.0
On Mon, Jan 25, 2021 at 8:28 PM Ars-Magna wrote: > > Dear All, > > I tried to build sage from source on a new MacBook Pro machine and was > surprised to find that it fails to build mpir-3.0.0 pretty early in the > compilation process. > mpir is old and unmaintained (its last release was years before macOS 11). Use gmp instead. (better still, install Homebrew and use its prebuilt gmp, gfortran, etc) HTH Dima > Please find attached the log file > is this a known Big Sur 11.1 issue ? > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sage-devel/7df18154-b976-4121-8011-d54f11ccd4cbn%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/CAAWYfq2AVwDWdBRDB1f%3D0gHO_8MZuoAGwGmT5WyfNWxcFf730A%40mail.gmail.com.
[sage-devel] On MacBook Pro running macOS Big Sur 11.1 SageMath failed to build mpir-3.0.0
Dear All, I tried to build sage from source on a new MacBook Pro machine and was surprised to find that it fails to build mpir-3.0.0 pretty early in the compilation process. Please find attached the log file is this a known Big Sur 11.1 issue ? -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/7df18154-b976-4121-8011-d54f11ccd4cbn%40googlegroups.com. Found local metadata for mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.p0 Using cached file /Applications/sage-9.2/upstream/mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.tar.bz2 mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.p0 Setting up build directory for mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.p0 Finished extraction Applying patches from ../patches... Applying ../patches/ticket-25858.patch patching file configure patching file cpuid.c patching file mpn/x86/fat/fat.c patching file mpn/x86_64/fat/fat.c patching file mpn/x86_64w/fat/fat.c Host system: Darwin Edinahs-MacBook-Pro.local 20.2.0 Darwin Kernel Version 20.2.0: Wed Dec 2 20:39:59 PST 2020; root:xnu-7195.60.75~1/RELEASE_X86_64 x86_64 C compiler: gcc C compiler version: Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 Apple clang version 12.0.0 (clang-1200.0.32.28) Target: x86_64-apple-darwin20.2.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin Machine type (default): x86_64-apple-darwin20.2.0 Machine type (mpir): x86_64-apple-darwin20.2.0 Building a 64-bit version of MPIR, which is the default. Building MPIR with the C++ interface and (also) static libraries. Configuring MPIR with empty CFLAGS to determine the defaults: checking build system type... x86_64-apple-darwin20.2.0 checking host system type... x86_64-apple-darwin20.2.0 checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether to enable maintainer-specific portions of Makefiles... no checking ABI=64 checking compiler gcc -m64 ... no, long long reliability test 2 checking ABI=32 checking compiler gcc -m32 -O2 -fomit-frame-pointer ... no checking compiler gcc -O2 -fomit-frame-pointer ... no, long long reliability test 2 configure: error: could not find a working compiler, see config.log for details Error configuring MPIR (with CFLAGS unset). Consult /Applications/sage-9.2/local/var/tmp/sage/build/mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.p0/src/config.log for for details. real0m4.529s user0m1.574s sys 0m1.295s Error installing package mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.p0 Please email sage-devel (http://groups.google.com/group/sage-devel) explaining the problem and including the log file /Applications/sage-9.2/logs/pkgs/mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.p0.log Describe your computer, operating system, etc. If you want to try to fix the problem yourself, *don't* just cd to /Applications/sage-9.2/local/var/tmp/sage/build/mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.p0 and type 'make' or whatever is appropriate. Instead, the following commands setup all environment variables correctly and load a subshell for you to debug the error: (cd '/Applications/sage-9.2/local/var/tmp/sage/build/mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.p0' && '/Applications/sage-9.2/sage' --buildsh) When you are done debugging, you can type "exit" to leave the subshell. Found local metadata for mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.p0 Using cached file /Applications/sage-9.2/upstream/mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.tar.bz2 mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.p0 Setting up build directory for mpir-3.0.0-644faf502c56f97d9accd301965fc57d6ec70868.p0 Finished extraction Applying patches from ../patches... Applying ../patches/ticket-25858.patch
Re: [sage-devel] Bug in expansion of a symbolic expression, which happens to be a rational function
I think the trac ticket makes it clear that there is a bug (even though different outcomes from "is_polynomial" do not necessarily mean there is a problem). The ticket has an example where "expand" seems to turn all occurrences of z^-1 to z. See https://trac.sagemath.org/ticket/31077#comment:5 On Monday, January 25, 2021 at 5:43:32 AM UTC-7 Michael Orlitzky wrote: > On Mon, 2021-01-25 at 13:35 +0100, Vincent Delecroix wrote: > > What did you expect? You have > > > > sage: ((x + x^2) / x).is_polynomial(x) > > False > > sage: ((x + x^2) / x).expand().is_polynomial(x) > > True > > > > I don't think there is any bug... maybe a lack of specifications. > > > > > > The use of "is_polynomial" here was just a shortcut to show that two > expressions that should be equal are not. If you look higher up in the > trac comments, you will find some more convincing proof that the > problem is real. > > > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/2d7ba09b-c1f3-48ee-ba48-aae1aa4405cdn%40googlegroups.com.
Re: [sage-devel] Bug in expansion of a symbolic expression, which happens to be a rational function
On Mon, 2021-01-25 at 13:35 +0100, Vincent Delecroix wrote: > What did you expect? You have > > sage: ((x + x^2) / x).is_polynomial(x) > False > sage: ((x + x^2) / x).expand().is_polynomial(x) > True > > I don't think there is any bug... maybe a lack of specifications. > > The use of "is_polynomial" here was just a shortcut to show that two expressions that should be equal are not. If you look higher up in the trac comments, you will find some more convincing proof that the problem is real. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/4e5298096da3b1e5ea59e11a591cc1c61510a96a.camel%40orlitzky.com.
Re: [sage-devel] Use SymEngine as a symbolic mathematics backend for SAGE
On Mon, 2021-01-25 at 12:08 +0100, Vincent Delecroix wrote: > Shouldn't it be > > (- (* a d) (* b c)) > > and > > (- (* b b) (* 4 a c))) > > The unary "negate" operation and the binary "subtract" operation are usually distinguished by context, i.e. by whether prefix or infix notation is used. Unless you do some tricks (like calling one "sub"), the above would likely be parsed as an attempt to call "negate" with two arguments, which is a syntax error. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/79339bbcd3b813d1ab6ebc7cc1fd2b32f03463e5.camel%40orlitzky.com.
Re: [sage-devel] Bug in expansion of a symbolic expression, which happens to be a rational function
What did you expect? You have sage: ((x + x^2) / x).is_polynomial(x) False sage: ((x + x^2) / x).expand().is_polynomial(x) True I don't think there is any bug... maybe a lack of specifications. Vincent Le 22/01/2021 à 18:02, 'Martin R' via sage-devel a écrit : I would like to advertise https://trac.sagemath.org/ticket/31077, which I think it is a rather troubling bug. It occurs when expanding a symbolic expression, which happens to be a rational function. I narrowed down the bug to a call to pynac, I do not know, however, whether the bug occurs within pynac or in the communication between pynac and sage. The smallest example I currently know of is reproduced below. I don't know who could help, which is why I am advertising here. Best wishes, Martin sage: var("A B C x") sage: p = A^2*B^2*C^3*x^2 + A^2*B^2*C^2*x^3 + A^2*B^2*C^2*x^2 + A^2*C^3*x^3 + A^5*B^2 + A^2*B^2*C^3 + A^3*B^2*C*x + A^2*B^2*C^2*x + A^3*B^2*x^2 + A^4*x^3 + A^3*C*x^3 + A^4*C^2 + A^2*B^2*C^2 + A^3*C^3 + A^3*B^2*x + B^2*C^3*x + A^3*C*x^2 + A^2*C^2*x^2 + A*C^3*x^2 + A*C^2*x^3 + C^3*x^3 + A^3*B^2 + A^2*B*C^2 + A*B*C^3 + A*B*C^2*x + B^2*C^2*x + A^3*x^2 + C^3*x^2 + A^2*x^3 + B^2*x^3 + A*C*x^3 + C^2*x^3 + A^4 + A^3*C + A^2*C^2 + B^2*C^2 + A*C^3 + B*C^3 + A^2*B*x + A*B*C*x + A*C*x^2 + B*C*x^2 + C^2*x^2 + A^2*B + B^2*C + B*C^2 + C^3 + A*B*x + A*x^2 + C*x^2 + x^3 + A^2 + B^2 + A*C + B*C + C^2 + B*x + x^2 + B + C + x + 1 sage: G = (((A + B + x) * (A + B^2 + 1) * p + (A + B + 1)/x)*(A+1)) sage: G.expand().is_polynomial(x) != G.is_polynomial(x) True -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/3ee29525-44bc-e763-3fbf-dc2521ace2ec%40gmail.com.
Re: [sage-devel] Use SymEngine as a symbolic mathematics backend for SAGE
Shouldn't it be (- (* a d) (* b c)) and (- (* b b) (* 4 a c))) Le 25/01/2021 à 07:53, parisse a écrit : rjf, I wonder why you say that " infix like a+b*c in a conventional programming language is not helpful if a,b,c are symbolic expressions". Of course it is, otherwise CAS would not use infix notation in their user interfaces. Parts of my source code are much easier to write and read with infix notations than with prefix notation. This is perhaps not true in other application areas, but CAS is about programming math algorithms. It's not a question of parentheses match, of course a programming editor will help you match them. But what do you prefer to read/write: * det=a*d-b*c * store(det,sub(mul(a,d),mul(b,c))) Or * delta=b*b-4*a*c * store(delta,sub(mul(b,b),mul(4,mul(a,c) Le dimanche 24 janvier 2021 à 22:17:14 UTC+1, rjf a écrit : Just a note to point out that infix like a+b*c in a conventional programming language is not helpful if a,b,c are symbolic expressions.. Writing it as add(a, mul(b,c)) is not a big deal, nor is writing it in lisp (add a (mul b c)). Of course you need to write programs add and mul, but you have to do that regardless. Languages that are primarily oriented to provide arithmetic on fixed-length integers or double-float numbers, mostly have to be covered over by macros etc to do computer algebra. Languages like FORTRAN, Algol, C. You could look at RLISP used for Reduce, if you want to see a version of lisp with "syntactic sugar" to look "infix" ish. And that is used for a computer algebra system, Reduce. There is something of a tradition, to hand to someone, perhaps someone who prefers infix, a project to "Write a scanner/parser/code generator for an infix language of your design [ or pick one, say Pascal]" in Lisp. I've done this with programming language/compiler undergraduate classes at Berkeley for decades, with probably thousands of students. It takes 10 weeks, assuming you know no lisp, nothing about lexical analysis, nothing about parsing, nothing about intermediate code generation. and maybe nothing about Pascal. At the completion of the project, most students prefer Lisp's parenthesized prefix. They also understand Pascal better, having written an interpreter and compiler for it. Often they choose to use Lisp for other projects, given a choice. Most criticisms of Lisp come from people who have never used it, and it shows. Complaints about too many parentheses. No, there are just exactly enough, and your editor helps. Or indentation (hi Pythonistas). Editors indent for you, exactly right. Not webby enough (see cl-http or other packages). Too slow (uh, faster than Python, some excellent optimizing compilers for Lisp). Too hard to learn. Think about how much time you spent in learning your current favorite language on the precedence of operators. Or what the operators meant. Or what happens when integers "overflow". Consider learning Lisp. Parts of Macsyma/Maxima are more like 60 years old. Almost as old as Lisp (circa 1959). James Slagle's 1961 PhD on symbolic integration (SAI'NT) includes a substantial section explaining Lisp, which was quite new at the time . On Friday, January 22, 2021 at 11:36:06 AM UTC-8 parisse wrote: I (almost) do not code C++ myself, probably 99% of my code is C-style, but I'm using a C++ compiler, that way I can link to the C++ standard template library and benefit of features like operator overload. Doing so, I do not have screens of error messages. Le vendredi 22 janvier 2021 à 15:07:51 UTC+1, dim...@gmail.com a écrit : On Thu, Jan 21, 2021 at 8:04 PM parisse wrote: Well, searching for "lisp infix notation" is not very convincing (unless I missed something?), compared to built-in infix support. You might prefer Lisp to C/C++, it's your choice, but I don't see any objective reason that one should stay away from C/C++. And Giac is a proof that one can actually write a CAS in C/C++, that compares very well with the Lisp-based CAS Maxima. Maxima is ~40 years old with a bit of work done since then, but the core is that old, as far as I know: https://en.wikipedia.org/wiki/Macsyma As for staying away from C++, most people who might be trying to do something with supposedly state of the art library like boost, would run away screaming, closely followed by 100 screens of error messages :-) Or, now mostly gone (?), iterator_traits (my closest encounter with C++, contributing to CGAL, 20 years ago, where these had to be generated by a script for some classes, otherwise compilers kept crashing...) Le jeudi 21 janvier 2021 à 18:07:14 UTC+1, dim...@gmail.com a écrit : On Wed, Jan 20, 2021 at 7:13 PM parisse wrote: As the author of a CAS, I can state that you need much more than 2 weeks to learn a programming language to make a CAS, and much much more if you want to be fast. Life is short, therefore choose your programming language carefully! I don't regret my choice for C (+ C++ STL and