On Tue, Feb 21, 2017 at 8:39 AM, Richard Fateman wrote:
> Hi all --
> Since FriCAS can run in (for example) SBCL, and Maxima can be
> loaded in to SBCL, (running in the Common Lisp :Maxima package),
> why not have them co-exist? A FriCAS type/category/domain could be
>
On Mon, Feb 20, 2017 at 9:45 PM, Waldek Hebisch
wrote:
> I am also using helper packages in similar situation.
> However:
> - to get S-expression corresponding to type use 'devaluate'
> - there is coercion of types to OutputForm, use it instead
> of 'form2String'
Is there a way to know the type parameter of a
certain package/domain that got used at runtime?
For example, a function "f" calls "g" from PKG1(T1),
is there a way to know about T1?
I think ")set message bottom on" and ")trace" can't
do this.
I developed a hack to do this, but I want to know if
It stuck at extendedEuclidean, function primitivePart of
SubResultantPackage, called by monomialIntegrate1 of INTTR.
This is Exercise 2.7 of Symbolic Integration 1.
Simply remove this extendedEuclidean will solve your
integral, but it has other consequences.
--
You received this message
Hi Kurt:
> Function: -? : % -> % is missing from domain: NonNegativeInteger
>Internal Error
>The function - with signature $$ is missing from domain
> NonNegativeInteger
I encounter exactly this error message in commit
"Fix problem with 'latex(1)'". It's a work around, I still
rootProduct also doesn't handle embedded roots:
(1) -> rootProduct sin ((x^(1/4))^2*x^(1/5))
4+-+2 5+-+
(1) sin(\|x \|x )
But for a different reason, I replaced
eval : (F, List K, List SMP(R, K))
with
eval : (F, List K, List F)
(SMP(R,K) is the Rep of F)
Only the
> Also, for example in
> DoubleFloatEllipticIntegrals we need what in some sense
> is double float literals, but values are given by exact
> rationals. IMO DoubleFloatEllipticIntegrals code is more
> readable having the constant as rationals. So "true"
> floating point literals are relatively
"autoload" is gone in the last release, and
"share/texmf/tex" is not used, so no need to install
empty directories.
--- a/Makefile.in
+++ b/Makefile.in
@@ -67,9 +67,7 @@
${MKDIR_P} $(fricas_target_libdir)
${MKDIR_P} $(fricas_target_datadir)/spadhelp
${MKDIR_P}
> AFAICS the correct way is to
> first perform substitutions only inside kernels and then
> apply resulting substitution list to x (like in the rootSimp case)
Should this be the comment of this function?
Also, rootPower will not change the height of a kernel, right?
diff --git
")show" for categories (not category constructor, eg. HOAGG INT,
not HOAGG) is much shorter than it should be, that's because
in previous commit on i-syscmd.boot, we evaluates predicates of
signature, but that predicates is incomplete for categories, because
we don't know % for categories.
So
Changes to the output of ")show" following the patch order:
1. add a space after "," in the signature.
(%,%) will be (%, %)
2. display "%" instead of "$" in the predicate of signature.
"if $ has ATFINAG" will be "if % has ATFINAG"
3. add a full stop in "Abbreviation for Dom is DOM."
4. remove
Compare the output of ")show String" and ")show String()".
")show String" has many unnecessary predicates, but since
String is a domain constructor with 0 argument, these predicates
can be evaluated, aka ")show String" can be a simple as
")show String()". This patch does that.
I'm not sure if
It seems that all float number literal appeared
in a spad file are treated as Float, you have
to manually convert it to DoubleFloat if you
want a DoubleFloat literal.
Is that intentional?
FriCAS is not specialized at numerical computation,
but not having doublefloat literal? That's unimaginable.
I find a method to counteract the effect of 'clearConstructorCache':
Building expressions using ==, after compiling a file, switch the
definition of independent variable, causing expressions to be rebuilt:
x == x1
t == sqrt (2* sqrt(x^4))
# tower sqrt(t^3)
)co manip
x == x2 -- switch definition
(1) -> rootPower atan(2*(x^(1/6))^3)
6+-+3
(1) atan(2\|x )
After patch:
(2) -> rootPower atan(2*(x^(1/6))^3)
+-+
(2) atan(2\|x )
Similar to previous rootSimp, rootPower doesn't handle
nested roots correctly: it overlooked the case when
root appears at
On Thu, Feb 16, 2017 at 11:14 PM, Waldek Hebisch
wrote:
>>
>> Can you point out where does "invalidates
>> all kernel caches" happen?
>> (So that I can disable it when I'm sure it's safe.)
>
> Directly this is done by 'clearConstructorCache'. Without
>
> I understand that some people would like to see results
> with extra roots. So it would make sense to add this
> as an optional behaviour.
I agree to have both options. So for results with extra roots
approach: this patch is an improvement, because it used to
introduce "rootSimp zeroOf p",
> As I wrote in other mail I would like to generate 'rootSum'
> instead of expanding roots. In principle after such change
> definite integrator would work with 'rootSum' directly
> skiping Rioboo, tantrick, etc.
I don't understand. Why should integrate(1/(x^8-1),x) and
> so ')compile'
> invalidates them all. Smarter ')compile' could
> track dependencies and try to invalidate only
> minimal set of constructors, but this is tricky
> to implements.
Can you point out where does "invalidates
all kernel caches" happen?
(So that I can disable it when I'm sure it's
(1) -> t := sqrt (2* sqrt(a^4));
(2) -> # tower sqrt(t*t*t)
(2) 4
(3) -> )compile manip.spad
-- or compile any other spad file
(3) -> # tower sqrt(t*t*t)
(3) 3
I use '#' to make output shorter. As you can see, after
compiling a file, the output of "tower" changes!
This is pretty
The documentation of rootSimp says it
"transforms every radical of the form ..."
(1) -> rootSimp sqrt(2 * sqrt(a^4))
+--+
| +--+
| | 4
(1) \|2\|a
rootSimp returns itself, I think rootSimp should return "a*sqrt(2)".
I don't know where went wrong.
Maybe the
Compare the result of
integrate(1/(x^8-1),x)
integrate(8*sqrt(2)/(x^8-1),x)
integrate(a/(x^8-1),x)
The first is more complex than the second one.
Why? Because:
(1) -> factor(x^4+1)
4
(1) x + 1
Type: Factored(Polynomial(Integer))
(2)
The result of in249a get fixed in previous commit,
so I'm moving it from mapleok.input to integ.input.
I modified the integrand a little to avoid (-1)^(1/3).
--- a/src/input/integ.input
+++ b/src/input/integ.input
@@ -644,5 +644,9 @@
c1 := eval(g, x = a1)
testEquals("integrate(b1, x)", "c1")
On Thu, Feb 16, 2017 at 12:09 PM, Waldek Hebisch
wrote:
>
> A priori this patch looks fishy. Namely, in case of rational
> functions a and b should be polynomials and in such
> case the patch is no-op. We can expect notrivial
> denominators in trigonemetric case.
diff --git a/src/algebra/irexpand.spad b/src/algebra/irexpand.spad
index eb90a9c9..71d955e7 100644
--- a/src/algebra/irexpand.spad
+++ b/src/algebra/irexpand.spad
@@ -102,12 +102,9 @@
-- returns 2 atan(a/b) or 2 atan(-b/a) whichever looks better
-- they differ by a constant so it's ok to do it
Maybe you should ask Gabriel Dos Reis on open-axiom-devel?
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
> Current code applies
> transformation in many cases when we do not know if transformation
> will not lead to worse result.
That's the main problem, sometimes doing the transformation is better,
sometimes not doing the transformation is better (when there are more
than 2 kernels.)
> Now your
https://github.com/oldk1332/fricas/commit/5397173fc4354212867656e2721a6a8e050652c9.patch
fix kernel selection in ilog, make some integrals continuous
Some tests are added. Further improvement is possible,
but current state is good enough for many cases.
--
You received this message because you
> Probably. The patches looked good, but you lost me what
> is the final version.
I'll post a (current) final version in another thread.
> Concerning independent variable,
> as I wrote I do not see strong reason to have it as
> part IntegrationResult and trying to add it would be
> a risky
> ATM I am looking at the bugs, but I consder shipping next
> release without fixing them. More precisely, randomness
> workaround is rather safe so we could ship it. But
> properly handling other issues may delay release too
> much.
This will be a maintenance release, version will be 1.3.1?
Do
An improvement to tantrick:
I met one example in mapleok.input that
a = 1/expa , b = expb
resulting atan(1/(expa*expb)).
This patch is to handle that kind of case.
Also see my comment in the patch, I didn't test sign of c and d.
The chance that sign(a) and sign(b) is "failed" while sign(c) or
In the previous "Fix width calcualtion after roots" commit,
I port a condition from timesApp to timesWidth, but there
was another condition I didn't port, because I didn't know
what that condition means, now I know.
(1) -> 2*sqrt(1/x)*atan(sin x)+1
+-+
|1
(1) 2 |-
I want to add a test for this tantrick change, i249a from mapleok.input.
(2) -> in249a:=integrate((sin(z)/(cos(z)-1))^(1/3), z= 0..%pi,"noPole")
3+-+2 3+-+2
4\|2 \|2+-+
3log(---) - 12log(---) - 8%pi\|3
>> So I think this patch improves result for some input
>> while not make it worse for others.
>
> Yes.
So this patch is acceptable?
This improved version will speed up a little.
(Note that in ilog0, a is of higher degree than b, so we
test b first.)
diff --git a/src/algebra/irexpand.spad
A note on the differnece that my patch made to mapleok.output:
in1638a, in1720a, in1856a,in1863a,in1872a suffers the limit
bug I mentioned in the other thread. Because the diff includes
"log", which shouldn't be.
in1721a: the difference is very small, merely sqrt(I-1) vs. (I-1)/sqrt(I-1)
(1) -> limit(atan(sqrt(1-J*z)/sqrt(J-1)),z=1,"left")
+---+
\|- J + 1
(1) log(- --)
+-+
2\|J - 1
Type: Union(OrderedCompletion(Expression(Integer)),...)
(2) ->
So Kurt, I think you can include parts from src/doc/htex/ug*,
because BSD is compatible with wikipedia (which is CC)?
Did you talked with the guy who removed your passages,
Diannaa?
On Mon, Feb 6, 2017 at 10:57 AM, Waldek Hebisch
<hebi...@math.uni.wroc.pl> wrote:
> oldk1331 wrote:
On Mon, Feb 6, 2017 at 10:44 AM, Waldek Hebisch
<hebi...@math.uni.wroc.pl> wrote:
> oldk1331 wrote:
>>
>> > I mean text output: diffing output before and after change I
>> > see several changes to results of 'mapleok' (those are nastly
>> > examples that
Thank you, Kurt.
In the "History" section, it's better to say "started in 1965", right?
BTW, what's the copy right status of the Jenks book, and
src/doc/htex/ug*?
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To
> On Mon, Feb 6, 2017 at 9:52 AM, Waldek Hebisch
> wrote:
>> No. I was writing about handling of 'float', especially
>> the lines:
>>
>> b := ((ll.3) pretend Integer)::SF
>> _*(a, EXPT(b, e)$Lisp)$Lisp pretend INF
>>
>> b was coverted to double, but a and e
On Mon, Feb 6, 2017 at 9:52 AM, Waldek Hebisch wrote:
> No. I was writing about handling of 'float', especially
> the lines:
>
> b := ((ll.3) pretend Integer)::SF
> _*(a, EXPT(b, e)$Lisp)$Lisp pretend INF
>
> b was coverted to double, but a and e were kept as
> I mean text output: diffing output before and after change I
> see several changes to results of 'mapleok' (those are nastly
> examples that cross branch cuts).
This patch fixes 'in249a:=integrate((sin(z)/(cos(z)-1))^(1/3), z=
0..%pi,"noPole")'
As for other differences, I shall ask first:
The
On Mon, Feb 6, 2017 at 8:43 AM, Waldek Hebisch wrote:
> Well, the code is clearly written to ensure exact result
> with integer arguments (in appropriate range). But with
> decent Lisp it should also work with floating point values.
Are you saying that with "(setf
It's recently created, don't know who created it, but
it's nice to have a dedicated wikipedia page for FriCAS.
https://en.wikipedia.org/wiki/FriCAS
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this
On Sun, Feb 5, 2017 at 12:00 PM, Waldek Hebisch
wrote:
> Well, what is independent variable depends on point of view.
> In particular, it changes after substitutions. So
> IntegrationResult can know independent variable only if
> main integration code tells it. But ATM
(1) -> )show Module INT
Module(Integer) is a category constructor.
Abbreviation for Module is MODULE
This constructor is exposed in this frame.
8 Names for 9 Operations in this Domain.
─── Operations
>> System error:
The
us"::OutputForm)
2 * atan(a/b)
-- transforms i log((a + i b) / (a - i b)) into a sum of real
On Thu, Feb 2, 2017 at 6:24 PM, oldk1331 <oldk1...@gmail.com> wrote:
> A related problem with continuity:
>
> atan(A/B) and -atan(B/A), they differ by a constant, but
> their conti
> I am not sure if this is right. AFAICS after change the code
> will do funny things with:
What's the funny thing? With or without this patch, that EXPR FLOAT
is the same?
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
new argument to this:
Currently, there is no value with type "FR FR INT", because
we didn't implement it (and we are going to remove its signature),
that means we can't create "FR FR INT", let alone use it.
No part of FriCAS uses this, remove it will break nothing.
On 11/7/16, oldk1331
> I thought that we convert integers into floats in
> "makeFloatFunction", but clearly something is missing.
This should fix that:
diff --git a/src/algebra/mkfunc.spad b/src/algebra/mkfunc.spad
index d27525b8..994c81e1 100644
--- a/src/algebra/mkfunc.spad
+++ b/src/algebra/mkfunc.spad
@@ -420,7
The default float number accuracy in Common Lisp
is really bad, it's just 7 digits (24 bit)?
"draw" takes an expression and compiles it to CL
code, but it's no longer "DoubleFloat" anymore.
For example:
(4*x*(x^4+1)^(1/2)+(x^4+2*x^2+1)*2^(1/2))/(x^4+(-2)*x^2+1)
compiles to
(/
(+ (* (* 4
(1) -> (0.11::FLOAT)^10
(1) 0.259374246009E-9
Type: Float
(2) -> (0.11::DFLOAT)^10
(2) 2.593742460077e-10
Type: DoubleFloat
Should we try to make
> Qian, I have several feature branches on top of trunk, in fact a whole
> tree with (sub-)branches that sit on top of one of my feature branches).
> By chance, do you happen to know how I can rebase (with just one
> command) the whole tree?
That's an intersting situation, I don't use tree-like
A related problem with continuity:
atan(A/B) and -atan(B/A), they differ by a constant, but
their continuity is different, if A has no sign change
(always positive), then it's better to be put in denominator.
I think function "tantrick" can utilize that.
This is a big source of discontinuity,
Hi Martin, because you don't commit to fricas directly,
you have to merge the changes back to your master
branch, that causes problem when Waldek commits
a slightly different version of your patch. And your
master branch history will be messy.
The solution is to use feature branch and rebase
Hi Waldek, what's your plan about the integration bug in FSRED(pfo.spad)?
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
To Waldek and Kurt:
Thanks for your reply. Now I think it's a bit understandable:
it's like a semi-auto "setSimplifyDenomsFlag(true)".
If you set "setSimplifyDenomsFlag(true)", then there's nothing
confusing. But Kurt's example is interesting.
--
You received this message because you are
I think I make a working patch:
I add a test condition from "timesApp" to "timesWidth",
so the WIDTH of "2^(2/3)*3^(2/3)" will be 11 (5+1+5)
instead of 10.
diff --git a/src/interp/i-output.boot b/src/interp/i-output.boot
index f1665568..818979e3 100644
--- a/src/interp/i-output.boot
+++
(1) -> 3^(2/3)*x^(2/3)*(x+1)^(1/3)-2
3+-+2 3+-+2 3+-+
(1) \|3 \|x \|x + - 2
Type: Expression(Integer)
This is a printing bug, because "(y::OutputForm) pretend SEX"
is OK.
I think this bug is related with "appSum" "plusApp"
(1) -> atan((x^2*((-1)*x^4+1)^(1/2)+(x^3+x))/(((-1)*x^4+1)^(1/2)+((-1)*x^3+x)))
++
2 | 4 3
x \|- x + 1 + x + x
(1) atan(--)
++
| 4 3
\|- x + 1 -
In previous therad "fix rational function integration", I made
a few mistakes, and there is a new bug I just discovered, so
I'm starting a new thread.
## Bug Description
1. f := (2560*x^3 - 400*x^2 - 576*x - 84)/(320*x^4 + 80*x^3 - 12*x^2 + 24*x + 9)
integration of "f" is not continuous.
2. The
Hello Kurt, I'm also interested in differential forms and differential geometry,
and I looked into dform.spad/pdf a bit, I make some changes to example
code. Also a word of advice: you can cleanup trailing white spaces in these
files.
diff --git a/deploy/dform.spad b/deploy/dform.spad
index
> Hmm, what your 'deepunivariate' should do when kernel is
> 'sqrt(x^3 - x)'?
Well, in "deepunivariate(exp, first kernels sqrt(x^3-x))", normally
(x^3-x)|exp, that's the case when the function is constructed by
composition. If that's not the case, then ilog2atan can't simplify
this case. So I
https://github.com/oldk1332/fricas/commit/14391f661f7c834bd3f3d3d99ad100ec9bfc6139.patch
These are some small changes I accumulated so far,
including typo fix, whitespace cleanup and misc changes.
Feel free to commit the part you feel appropriate.
--
You received this message because you are
I write a primitive version patch implementing my ideas,
it works when "g x == sqrt x" in the test, and gives far more
compact result when "g x == sqrt x + x^(1/3)".
I wonder if some part of this patch should be independent
functions:
1. test if a kernel is a constant/algebraic number,
A related small patch for mkfunc.spad, generating CL
code for "asin","acos":
diff --git a/src/algebra/mkfunc.spad b/src/algebra/mkfunc.spad
index 963e4727..d27525b8 100644
--- a/src/algebra/mkfunc.spad
+++ b/src/algebra/mkfunc.spad
@@ -426,7 +426,7 @@
ll := u::List(INF)
> atan((exp(x) + x + 1)/(exp(x) - x - 1))
>
> There are two kernels here (exp(x) and x). I am not sure
> if Rioboo is used here, but at least some simplification
> is done.
I checked this example, the "Rioboo" (aka log2atan) is not used
here, for rewriting "i*log((A+i*B)/(A-i*B))" to sums of
> However, this is wrong more or less the in the same way as
> the x^(1/3) test that you try to make to work. So the change
> does not look as improvement: we make one borderline case
> work at expense of another borderline case...
I don't think it fails in the same way as x^(1/3).
S3 is a
> - given x and sqrt(x) as kernels
I get it that x and sqrt(x) can both appear as kernels; is it possible
that there are three or more kernels?
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group
Just FYI, a recent maxima commit eaacba6e contains code like:
#+(and sbcl sb-package-locks) (sb-ext:unlock-package :common-lisp)
Maybe related to this problem.
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To
sbcl 1.3.13 rename %VECTOR-WIDETAG-AND-N-BITS to
%VECTOR-WIDETAG-AND-N-BITS-SHIFT in
https://github.com/sbcl/sbcl/commit/bfb7de578e43cefcb5e43280684e68f89e78
After this change, there are 2 more errors of "Package Locks":
one is "identity" in src/interp/setq.lisp, the other is "SPACE"
in
As Martin recently pointed out, this integration is not continuous:
INT((2560*x^3 - 400*x^2 - 576*x - 84)/(320*x^4 + 80*x^3 - 12*x^2
+ 24*x + 9), x) = 2*LN(320*x^4 + 80*x^3 - 12*x^2 + 24*x + 9)
+ 2*SQRT(11)*ATAN(SQRT(11)*(10*x + 3)/(80*x^2 + 10*x - 9))
After some debugging, I find out the bug
I'm not very familiar with TexFormat, but it seems that
TexFormat works with OutputForm, so there's definitely
loss of information between domain D and (D::OutputForm),
so there are domains that "latex" will produce more
information than TexFormat, right?
On Thu, Jan 12, 2017 at 1:12 PM, Waldek
I change "concat(a,concat(b,c)$String)$String" to "concat [a,b,c]".
Do such trival changes require a test file?
diff --git a/src/algebra/fraction.spad b/src/algebra/fraction.spad
index 975f4277..8613c7e3 100644
--- a/src/algebra/fraction.spad
+++ b/src/algebra/fraction.spad
@@ -55,9 +55,9 @@
The problem is about branch cuting:
For Integers and Fractions, (-1/8)^(1/3) gives AlgebraicNumber
containing (-1)^(1/3), avoids branch cuting.
For numeric computing, for example Float, I think it's better
to have signature:
^ : (%, Fraction Integer) -> %
aka keep current definition of '^'.
"draw((x^3)^(1/3),x=(-1)..0)" gives an error:
Result is not real.
The root of this bug is from makeFloatFunction,
which takes an expression and makes it into a Lisp
function, in this case:
(DEFUN %E (x) (DECLARE (DOUBLE-FLOAT x)) (c_to_rf (EXPT (EXPT x 3) (/ 1 3
However, in Common Lisp,
In the discussion a few weeks ago:
https://groups.google.com/d/topic/fricas-devel/-tRRqGIXXiE/discussion
[BUG] r1976: Remove argumentless 'random'; pfo.spad
I take another look at the discussion and r1976, and
I'm sure the following patch will restore the code logic
before r1976; this is not
> The server is up again.
Yes, I noticed and told Martin on sci.math.symbolic.
And he said a timeout computation will cause server
return "Proxy Error", that's normal, right?
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
> How about using List of EXPR as Rep?
Second thought, it will not work, polynomial will still be expanded.
> On the other hand, probably carrying it too far, one might use OutputForm
> which
> is very expressive and greatest possible "symbolic", if only there were a way
> back ;)
Yes,
(1) -> f x == x::FR POLY INT
Type: Void
(2) -> factorList f(x^2-1)
Compiling function f with type Polynomial(Integer) -> Factored(
Polynomial(Integer))
2
(2) [[flg = "sqfr",fctr = x -
How about using List of EXPR as Rep? Then this "symbolic
expression" will be viewed as a sum of current EXPR, and
many operations can be done by "map". Just a thought.
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To
I have a related question:
Seems your question has something to do with the fact that
in FriCAS Expression is represented by polynomials and
polynomials are always expanded.
So integrate(1/(x+1)^n,x) will be slow when n is large.
My question is, is there a domain to express expressions
that are
In the following code, "p0 := coefficient(p, 0)", not "c".
diff --git a/src/algebra/irexpand.spad b/src/algebra/irexpand.spad
index c9a9a53..6e43ea4 100644
--- a/src/algebra/irexpand.spad
+++ b/src/algebra/irexpand.spad
@@ -78,7 +78,7 @@
j := split i
IR2F j + +/[lg.scalar::F *
OK, so currently there's no "single variable expression" in FriCAS,
which doesn't need its variable to have a name. I think such thing
is useful in some cases.
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe
> We allow Polynomial(Factored(Integer)) and similar domains so
> probably should implement all operations in Factored which
> make sense.
Just saying, factor(x:POLY FR INT) has nothing to do with
factor(x:FR INT), it's from MULTFACT, and coerced it into
POLY INT first.
Since UFD(R) exports
The reason that I have this question is because of following
code: (transform log to atan from rational functions integration)
--R ==> UP('x, FRAC INT); -- works
R ==> SUP FRAC INT -- SUP doesn't work here
x := monomial(1,1)$R
f := (x^4 - 3*x^2 + 6)/(x^6 - 5*x^4 + 5*x^2 + 4);
monomialIntegrate(f,
I mean remove the
if R has UniqueFactorizationDomain then UniqueFactorizationDomain
clause from Factored, because:
1. There are no other "if R has UFD then UFD" clause in
src/algebra, which means remove this from Factored will
not affect other domain's exported functions at all.
2. It may
> Sure, but I don't think that replacing it by variable() or whatever name
> it will be, is only a small gain.
I'm not suggesting replacing all existing usage of "monomial(1, 1)",
just we can use the shorter version in the future.
About the name you suggested, "variable", makes sense, maybe
(1) -> x : SUP INT := monomial(1,1)
(1) ?
Type: SparseUnivariatePolynomial(Integer)
(2) -> sin x
(2) sin(?)
Type: Expression(SparseUnivariatePolynomial(Integer))
(3) -> kernels sin x
(3) [sin(?)]
Type:
On Mon, Nov 7, 2016 at 2:13 PM, Ralf Hemmecke wrote:
> I'm not sure if it is worth, but when I work with polynomial domains, I
> am always looking for a
>
> variable: () -> %
>
> function.
What does that do? Return monomial(1,1)?
> (1) -> f: SUP(INT) := x^3+2*x^2+x
That
fix output of FullPartialFractionExpansion when there's no fracPart
Bug description:
(1) -> fullPartialFraction ((1/18)::FRAC SUP FRAC INT)
1
(1) ── +
18
Type:
FullPartialFractionExpansion(Fraction(Integer),SparseUnivariatePolynomial(Fraction(Integer)))
Notice that
A partialfraction is a sum of fractions, but we can't
do much *directly* to partialfraction. A lot of operations
can be applied to its members of fractions, but that's
different from "map". Current interface of PartialFraction
is numberOfFractionalTerms and nthFractionalTerm,
that's imperative
Another integral affected by this change:
(1) -> integrate(1/sqrt(1 + b*sec(x))^3,x)
>> Error detected within library code:
RadicalFunctionField: curve is not irreducible
It worked in 1.2.7.
A simple change can make most of these problems go away,
but as discussed before, there's a
Does everyone all agree that "MapCategory" is a proper name?
There's a problem when implementing Haskell's Applicative:
Applicative A exports signature:
ap : (A(S->S), A(S)) -> A(S) -- % is A(S)
First, you can't express A(S->S) in category definition.
Second, for a specific domain,
Another integral with exact same problem:
(1) -> integrate((k*x^2 - 1)/((a*k*x + b)*(b*x + a)*sqrt((1 - x^2)*(1
- k^2*x^2))), x)
>> Error detected within library code:
catdef: division by zero
Under FriCAS 1.2.7, this integral returns after 1 minute.
--
You received this message because
The name 'Functor' is not suitable for this category.
Look what 'Functor' means in Sage:
http://doc.sagemath.org/html/en/reference/categories/sage/categories/functor.html
This 'map:(S->S,%)->%' has more ties with programing than category
theory. I think we can simply call this category
May I ask the reasons than caused site failure?
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to fricas-devel+unsubscr...@googlegroups.com.
> Could you provide an example implementation of map for Functor(E) in
> AbelianMonoidRing?
>
> Given that over AbelianMonoidRing there are functions like
>
> f(a:R):(% -> %) == (x:%):% +-> a * x
>
> I do not see how this is possible. Perhaps I am missing something.
Again, what's important to
Another angle to see this problem:
In theory, every Euclidean domain is a unique factorization
domain, but in FriCAS, it's not.
In an email one year ago, there's discussion about it:
https://groups.google.com/forum/#!topic/fricas-devel/mMmm9zmC7io
> There are principal ideal domains where all
> Probably because T has the fixed meaning (True) in lisp.
Hmm, good catch! You are right, if you use "NIL" as a type
variable, you can't compile it:
>> System error:
The value
|t#1|
is not of type
SEQUENCE
After some debugging, I find this bug happens at a very early stage:
parsing.
701 - 800 of 1199 matches
Mail list logo