On Sunday, November 3, 2019 at 2:33:57 PM UTC-6, Nasser M. Abbasi wrote:
>
>
>
> On Sunday, November 3, 2019 at 1:07:28 PM UTC-6, Waldek Hebisch wrote:
>>
>> Nasser M. Abbasi wrote: 
>> > 
>> > On Thursday, October 31, 2019 at 7:05:00 PM UTC-5, Nasser M. Abbasi 
>> wrote: 
>> > > 
>> > > In running CAS integration tests 
>> > > https://www.12000.org/my_notes/CAS_integration_tests/index.htm, I 
>> noticed 
>> > > some Fricas tests fail because the build sets the 
>> > > flag setSimplifyDenomsFlag(true) at the start for all integrals. 
>> > > 
>> > > But now I noticed some fail (due to time out of 3 minutes) when this 
>> flag 
>> > > is set. When I do not set this flag, FriCAS can integrate it. So it 
>> should 
>> > > be pass. 
>> > > 
>> > > But I do not know now if I should this flag to true or not.  Here is 
>> an 
>> > > example 
>> > > 
>> > > setSimplifyDenomsFlag(true) 
>> > > integrate((b*tan(d*x + c)^3)^(3/2),x) 
>> > > 
>> > >   hangs. 
>> > > 
>> > > But 
>> > > 
>> > > setSimplifyDenomsFlag(false) 
>> > > integrate((b*tan(d*x + c)^3)^(3/2),x) 
>> > > 
>> > > Returns right away with answer. 
>> > > 
>> > > Since there are 10's of thousands of integrals, how to decide which 
>> to 
>> > > option to use? 
>> > > Should I use false all the time?  Will using false make some that 
>> pass now 
>> > > when using true fail? 
>> > > 
>> > > Any suggestions what to do? 
>> > > 
>> > > Thanks 
>> > > --Nasser 
>> > > 
>> > 
>> > fyi, I just run one test file with the  setSimplifyDenomsFlag(true) and 
>> > then with setSimplifyDenomsFlag(false) 
>> > 
>> > When the flag is true Fricas solved 136 integrals in that file. When 
>> flag 
>> > is false, Fricas solved 176 integrals. 
>> > The reason is it timed out on those it did not solve when the flag is 
>> true. 
>>
>> Can you say which file? 
>> > 
>> > I did not check if there is any that passed when flag is true has now 
>> > failed when flag is false. 
>> > 
>> > But from this quick test, it should net effect is positive. (even 
>> though 
>> > some result is now larger). 
>> > 
>> > Should I then re-run all CAS integrations tests for Fricas with this 
>> flag 
>> > false based on the above? This will improve the pass/fail result for 
>> Fricas 
>> > at the cost of some results being larger than before. 
>>
>> IME Fricas could do more integrals when this flag is true.  But Ruby 
>> testsuite is quite biased, so result may be different.  Or maybe 
>> you just chose file which prefers false (again, Rubi orgarnizes 
>> tests into familes, so there is string correlation inside typical 
>> files). 
>>
>> BTW: To minimize effects of timeout you can try tests that 
>> Rubi can do in 1 step, they are smaller and for FriCAS should 
>> give allmost the same coverage.  AFAICS the other mostly add 
>> "capacity" testing. 
>>
>> -- 
>>                               Waldek Hebisch 
>>
>
> The file is  4.3.0-a_trg-^m-b_tan-^n.txt 
> <https://www.12000.org/tmp/11032019/4.3.0-a_trg-%5em-b_tan-%5en.txt>
>
> Integrals numbers 31,32,33... and more, all time out when using true flag, 
> but give result right away when using false flag.
>
> (b*tan(c+d*x)^3)^(3/2)
>
> (b*tan(c+d*x)^3)^(1/2)
>
> 1/(b*tan(c+d*x)^3)^(1/2)
>
> etc...
>
> I am rerunning about 50,000 integrals now which were completed before 
> using flag true, rerunning them with flag=FALSE to see which value gives 
> better pass result. 
>
> It has been running for 4 days now and almost done. Will update here with 
> what I find.
>
> If Fricas gives higher pass score with false flag, will keep that as I am 
> not sure now which flag gives better result and I do not know how to decide 
> in the code which one to use.
>
> I could always do this: If Fricas times out with TRUE flag, re-run the 
> integral again with the flag FALSE.  But this will complicate things, so it 
> is much simpler to stick with one value. 
>
> I also have to run all files for all CAS'es. I can't really pick which 
> file to run for each CAS since the build script just runs over the 213 
> files one by one for each CAS system and same number of files and integrals 
> have to match for each CAS.
>
> Thanks
> --Nasser
>

This is the result running 46,886 integrals with Fricas 1.3.5 with 
setSimplifyDenomsFlag(true) and with setSimplifyDenomsFlag(false) (default)

flag TRUE:  passed 67.32%
flag FALSE: passed 67.61%

This translates to 134 more integrals which passed when using FALSE vs. 
TRUE.

Since this difference is very small, I think will keep the flag set to TRUE 
since this is what last build used and since TRUE seems to give smaller 
output.

But I think FriCAS should not really hang on some integrals when using the 
TRUE flag. May be someone could look into this and see why this happens.

--Nasser

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/17fca8aa-7467-44d6-9e9c-b9d9fb437c9f%40googlegroups.com.
  • [fricas-devel] whe... 'Nasser M. Abbasi' via FriCAS - computer algebra system
    • [fricas-devel... 'Nasser M. Abbasi' via FriCAS - computer algebra system
      • Re: [fric... Waldek Hebisch
        • Re: [... 'Nasser M. Abbasi' via FriCAS - computer algebra system
          • R... 'Nasser M. Abbasi' via FriCAS - computer algebra system
            • ... Waldek Hebisch

Reply via email to