grzegorzmazur / yacas Goto Github PK
View Code? Open in Web Editor NEWComputer calculations made easy
Home Page: http://www.yacas.org
License: GNU Lesser General Public License v2.1
Computer calculations made easy
Home Page: http://www.yacas.org
License: GNU Lesser General Public License v2.1
Reported by grzegorzmazur on 2014-04-07 11:28 UTC
Reported by grzegorzmazur on 2014-11-30 12:03 UTC
In> item
Out> item
In> Simplify(x+x)
Out> 2*x
In> item
Out> item
In> Protect(item)
Out> True
In> Simplify(x+x)
Symbol item is protected
CommandLine(1) : Attempt to override a protected symbol
Out> False
Reported by martanoga on 2014-11-25 19:24 UTC
Reported by hmatuschek on 2011-11-20 12:58 UTC
Using yacas version 1.2.2
Moved from SF: 2886415
Reported by grzegorzmazur on 2014-04-03 13:24 UTC
Reported by jleto on 2011-11-20 11:56 UTC
This never terminates.
It is probably the same problem as:
In> Limit(n, Infinity) n5/2n
Out> Infinity/(Infinity*Ln(2));
From Ayal:
L'Hopital's theorem is not always the correct thing to
do... but it's not easy to decide the growth of exp-log
and powers.
There is a paper by Richardson, Salvy et al "Asymptotic
expansions of exp-log functions" that may be helpful.
Moved from SF: 559942
Reported by grzegorzmazur on 2015-01-11 10:13 UTC
Reported by martanoga on 2014-11-25 14:58 UTC
After changes publisher to Yacas Team yacas reads from bad registry.
Reported by ggrothendieck on 2011-11-20 13:38 UTC
Allow server to automatically detect OpenMath
input so one can interchangeably send yacas
or OpenMath to server. Since first line of OpenMath
input is always the same this should be possible.
Moved from SF: 1292772
Reported by jleto on 2011-11-20 11:53 UTC
In> Gcd(10,3.3)
Out> 3.3; //should error with floats
In> Gcd(10,Pi)
Out> Pi; //and irrational consts
In> Gcd(Exp(1),Exp(2))
Out> Exp(2); // and functions that don't return int's
In> Gcd(-10,0)
// according to "Number Theory", Andrews (1971)
// Gcd(a,0) = Abs(a)
Out> -10; //should be 10
In> Gcd(0,-10)
Out> -10; //same as previous, since Gcd(a,b) = Gcd(b,a)
Moved from SF: 559695
Reported by anonymous on 2011-11-20 12:40 UTC
Calculations are performed for a long time (and probably never stop - i've been waiting for couple of minutes)
Moved from SF: 1173212
Reported by grzegorzmazur on 2014-04-03 13:24 UTC
Reported by grzegorzmazur on 2015-01-06 10:25 UTC
steps to reproduce:
In> PrimitivePart(x^2)
Out> 1
expected result:
Out> x^2
Reported by jleto on 2011-11-20 12:12 UTC
In> A:={{1,2,3,4},{0,1,2,3},{0,0,1,2},{I,0,I,I}};
Out> {{1,2,3,4},{0,1,2,3},{0,0,1,2}, Complex(0,1),0,Complex(0,1),Complex(0,1)}};
In> EigenValues(A)
C pressed
CommandLine(1) : User interrupted calculation
Moved from SF: 562278
Reported by grzegorzmazur on 2014-11-26 12:05 UTC
Reported by ggrothendieck on 2011-11-20 13:04 UTC
Support a PrettyPrinter("RForm") command for R output.
Moved from SF: 1292782
Reported by jleto on 2011-11-20 11:47 UTC
In> Limit(x,Infinity) xn/Ln(x)
Out> n*Infinity
In> Limit(x,0,Right) x( Ln(a)/(1+Ln(x)) )
Out> 1
In> Limit(x,0) (x+1)(Ln(a)/x)
Out> a
Moved from SF: 559691
Reported by anonymous on 2011-11-20 13:42 UTC
I'd like to make a suggestion about the Windows port of
YACAS.
It should not be necessary to install "lynx" to browse
help from inside the program. Setting 'Browser' to "start"
and removing "file://" from the help string would do the
job using the currently registered '.html' viewer.
This could also be done through ".yacasrc", but, since
HOME is not set by default in Windows, it would be
better if YACAS was to search for this file
in 'DefaultDirectory()'.
Moved from SF: 816811
Reported by grzegorzmazur on 2015-01-16 18:33 UTC
In> Gcd(2/3,1)
Out> 1
expected result:
In> Gcd(2/3,1)
Out> 1/3
Reported by jleto on 2011-11-20 11:49 UTC
This expression never terminates, which in turn causes Taylor(x,0,5)Sin(x)/x to never terminate.
Moved from SF: 559663
Reported by jleto on 2011-11-20 12:03 UTC
In> D(z) Conjugate(z)
Out> 1
This should return Undefined if considered a function of a complex variable.
Moved from SF: 559959
Reported by grzegorzmazur on 2015-01-06 10:34 UTC
steps to reproduce:
In> PrimitivePart(-10_x^2+5_x+5)
Out> (-2)*x^2+x+1
expected result:
Out> 2*x^2-x-1
Note that fixing that requires adjusting the convention in Content() as well
Reported by grzegorzmazur on 2014-11-25 10:01 UTC
Reported by ggrothendieck on 2011-11-20 13:04 UTC
Support a PrettyPrinter("RForm") command for R output.
Moved from SF: 1292782
Reported by ggrothendieck on 2011-11-20 13:03 UTC
Develop a yacas .dll that works with R's dll mechanism.
Moved from SF: 1292783
Reported by jleto on 2011-11-20 12:22 UTC
In> Integrate(x) Infinity
Out> Infinity*x
I can't seem to fixed this with
IntFunc(x,Infinity,Infinity);
Moved from SF: 575539
Reported by grzegorzmazur on 2014-11-25 20:19 UTC
https://sourceforge.net/p/yacas/mailman/message/33079160/
Reported by ggrothendieck on 2011-11-20 13:40 UTC
Have a single user server mode which shuts down
yacas in response to a quit.
Moved from SF: 1292770
Reported by jleto on 2011-11-20 12:00 UTC
This never terminates, it should be 0.
Moved from SF: 559955
Reported by grzegorzmazur on 2014-11-25 10:00 UTC
fixed in r3054
Reported by jlherren on 2011-11-20 12:55 UTC
In> Sign(0)
Out> 0
In> Sign(x)2
Out> 1
Obviously the second simplification is wrong, since x could be zero. Using yacas 1.2.2.
Comment by hmatuschek:
I think the problem is in stubs.rep/code.ys. Here is a patch that worked
for me.
*** code.ys 2009-10-24 19:35:09.000000000 +0200
--- code.ys 2009-10-24 19:36:04.000000000 +0200
*** 256,262 ****
15 # Sign(n_IsNumber/m_IsNumber) <-- Sign(n)*Sign(m);
20 # Sign(n_IsList) <-- MapSingle("Sign",n);
! 100 # Sign(_a)n_IsEven <-- 1;
100 # Sign(_a)n_IsOdd <-- Sign(a);
5 # Floor(Infinity) <-- Infinity;
--- 256,262 ----
15 # Sign(n_IsNumber/m_IsNumber) <-- Sign(n)*Sign(m);
20 # Sign(n_IsList) <-- MapSingle("Sign",n);
! 100 # Sign(a_IsNonZero)n_IsEven <-- 1;
100 # Sign(_a)n_IsOdd <-- Sign(a);
5 # Floor(Infinity) <-- Infinity;
Moved from SF: 2033189
Reported by grzegorzmazur on 2014-12-15 21:47 UTC
Reported by grzegorzmazur on 2014-12-03 19:18 UTC
PrettyForm() does not work in versions 1.3.5 & 1.3.6 on Linux
(links for screenshots)
https://www.dropbox.com/s/jmzusjx1bpycqus/yacas-chakra-134.png
https://www.dropbox.com/s/7yhcxjqq18fggbv/yacas-chakra-136.png
https://www.dropbox.com/s/98xmx28vnkqxcww/yacas-arch-134.png
https://www.dropbox.com/s/dtgykkjgbxkttjs/yacas-arch-135.png
https://www.dropbox.com/s/2hkwq82phkxwhys/yacas-arch-136.png
https://www.dropbox.com/s/khspve1ipq1ql6i/texmacs.png
Reported by Marcos Heredia, see https://sourceforge.net/p/yacas/mailman/message/33106449/
Reported by grzegorzmazur on 2014-12-12 16:20 UTC
interning should be used for symbols only, there's no point in making interface to the rest of the system harder to use
Reported by grzegorzmazur on 2015-01-17 08:47 UTC
Abs(Pi) should automatically transform to Pi; actually Abs() should be automatically simplified for all constants
Reported by jleto on 2011-11-20 12:16 UTC
In> A:={{1,2,3,4},{0,1,2,3},{0,0,1,2},{I,0,I}}; // Not square
Out> {{1,2,3,4},{0,1,2,3},{0,0,1,2},{Complex(0,1),0,Complex(0,1)}};
In> EigenValues(A)
CommandLine(1) : Invalid argument // Better error message?
Moved from SF: 562279
Reported by anonymous on 2011-11-20 12:52 UTC
Factor(0) returns 1
but ... shouldn't it still be zero?
Moved from SF: 1699278
Reported by anonymous on 2011-11-20 12:38 UTC
Simplify(2(x-1+1))
Comment by hmatuschek:
Seems to be fixed by additional rule:
10 # Simplify((_x)(_y)) <-- Simplify(x)Simplify(y);
But I don't know if this may produce side effects. I don't understand the
simplify algorithm but it seems like the power operator is not well covered
there.
Moved from SF: 1075434
Reported by ggrothendieck on 2011-11-20 13:08 UTC
Allow yacas to start up in a mode where it acts just like server mode but takes its input from stdin and writes its output to stdout.
Comments by matmota:
Logged In: YES
user_id=78635
I've realized that there would be one important feature
missing: the separators that the Yacas server puts around
the output, namely, a line with a single "]", after each
part (input or output).
This can be done with a custom read-eval-print function.
A way to begin would be to copy the REP function (rule) in
"scripts/yacasinit.ys", renaming it to something else. Let's
say "StdioREP".
Then, you would use it with the option "--read-eval-print
'StdioREP();'". Don't forget the parentheses there.
At this point, you can modify the "Write()" calls in there
to format the output as you want.
(Posted only once this time!)
Logged In: YES
user_id=78635
In principle, the way to do that is:
yacas -pc --read-eval-print ""
One problem you can find is that, on EOF (use Ctlr+D for
testing), Yacas goes into some kind of infinite loop. This
could be related to bug #1292788:
https://sourceforge.net/tracker/index.php?func=detail&aid=1292788&group_id=2528
Moved from SF: 1292779
Reported by ggrothendieck on 2011-11-20 13:36 UTC
Ability to pop the last N commands off the history
in server mode so that one can do behind-the-scenes
commands without messing up %.
For example, one might want to query and set the
prettyprinter.
Comment by matmota:
Logged In: YES
user_id=78635
You can accomplish that by putting the actions in a list,
between square brackets "[]".
For example:
In> [x:=2+3; Sin(0.5); 3-4;]
Out> -1
In> %
Out> -1
In>
As you see, the value of the composite expression you put
into brackets is the value of the last item. That's exactly
what I did a couple of years ago when communicating with
Yacas via pipes, before I wrote the OMREP() function, so
that I got as response the value of evaluating some
expression, and not the previous steps such as setting the
pretty-printer to OMForm, as you want to do.
Moved from SF: 1292775
Reported by grzegorzmazur on 2014-04-02 22:28 UTC
Reported by grzegorzmazur on 2015-01-20 14:36 UTC
Reported by jleto on 2011-11-20 12:05 UTC
Reported by: KHartlage@‌ (Klaus Hartlage)
I downloaded the new release and tested the Visual C++
project file.
In win32commandline.h I changed the
to
and I could build yacas.exe ! :-)
After running yacas.exe from command line (above the
\scripts
directory)
I get the following errors:
" Error, could not open archive file scripts.dat
Error on line 1 in file [yacasinit.ys]
File not found "
After copying yacas.exe into the \scripts directory and
running yacas.exe I get the following errors:
" Error, could not open archive file scripts.dat
Error on line 1 in file [packages.ys]
File not found "
What am I doing wrong ?
Moved from SF: 560034
Reported by anonymous on 2011-11-20 12:49 UTC
Hi,
(Thanks for your good software first ;))
Why does the function JacobianMatrix need a vector with a size equal to the size of the vector of variables? Never heard that a jacobian need to be square?!
Thanks
Moved from SF: 1471664
Reported by grzegorzmazur on 2014-12-12 16:21 UTC
it's not implemented, and doesn't seem to be really needed
Reported by grzegorzmazur on 2014-11-30 12:15 UTC
In> N(CDF(PoissonDistribution(5), 2))
Out> 0.4042768199e-1
In> i := 0
Out> 0
In> N(CDF(PoissonDistribution(5), 2))
CommandLine(1) : "In function "MacroSet" :
bad argument number 1 (counting from 1)
The offending argument sumvar evaluated to 0
CommandLine(1) : Invalid argument
"
Out> False
Reported by ggrothendieck on 2011-11-20 13:11 UTC
It would be nice to have some way of reliably knowing what the form (OMForm, PrettyForm, default form, etc.) of output was received. Some metadata describing this or comments would be nice in each transmission from the server.
Moved from SF: 1292777
Reported by grzegorzmazur on 2014-04-03 13:25 UTC
Reported by martanoga on 2014-11-25 14:56 UTC
Missing libraries: msvcp120.dll, msvcr120.dll
*Reported by anonymous on 2011-12-02 17:21 UTC
Originally created by: Boris Hollas
In> Limit(n,Infinity)(n!)/n
Out> 1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.