[sage-devel] Review request: Choeskly-for-sparse-matrices patch

2021-01-25 Thread Siddharth Bhat
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

2021-01-25 Thread Zachary Scherr
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

2021-01-25 Thread Zachary Scherr

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

2021-01-25 Thread Pol del Aguila Pla
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

2021-01-25 Thread Dima Pasechnik
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

2021-01-25 Thread Ars-Magna
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

2021-01-25 Thread dmo...@deductivepress.ca
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

2021-01-25 Thread Michael Orlitzky
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

2021-01-25 Thread Michael Orlitzky
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

2021-01-25 Thread Vincent Delecroix

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

2021-01-25 Thread Vincent Delecroix

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