Jump to content



Photo
- - - - -

Bug Reports


  • Please log in to reply
174 replies to this topic

#81 Guest_Guest_*

Guest_Guest_*
  • Guests

Posted 17 August 2005 - 01:37 PM

Hi. :)
Yes, I got the same result.
About equation ln(3x+2)<ln(x-5), The ClassPad gave you x>5 in Complex mode. Change into Real mode, it couldn't solve. Lets graph y=ln(3x+2)-ln(x-5) in real mode, you will see that the graph doesn't cut horrizontal axes, and no part is under x-axes. Therefore the answer is "No Solution". I don't know why the manager can did the right thing, while ClassPad gave other answer ?

<{POST_SNAPBACK}>


my classpad gave "no solution" . i have os version 2.00.

#82 PAP

PAP

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 681 posts
  • Gender:Male
  • Location:Somewhere in Europe.
  • Interests:Computer Algebra, Numerical Analysis.

  • Calculators:
    ClassPad 300 (plus an old Casio model, with only a few Kb ram).

Posted 18 August 2005 - 12:46 PM

I've typed in my Classpad the folowing:
solve(x^2 + (2/x) - 8=0,x) and it returned {x=0.2520003852}
but there are 3 solutions of this equation.
I've multiplied both sides by x and received a polynominal with the same roots and typed it into Classpad like so:
solve(x^3-8x+2=0,x) and it returned correctly all three solutions:
{x=-2.945995202,x=0.2520003852,x=2.693994817}
When I've tried NumSolve in the Main like so
solve(x^2 + (2/x) - 8=0,x,-3,-inf,inf) it returned the first root only
{x=-2.945995202}
solve(x^2 + (2/x) - 8=0,x,3,-inf,inf) it returned the third root only
{x=2.693994817}
So CP is capable of finding other roots of the first equation, but it seems like it doesn't know that they exist and return only one. While with the polynominal there was no problem.

Well, there is a long story to tell about that. In fact, what you asked is an excellent example of a simple question that has not a simple answer. I don't know if someone in this forum is really interested; anyway, I'll try to explain in short.

ClassPad is able to find one root of a non-polynomial function by using a numerical method, probably the Newton-Raphson or the Brent method, I don't know for sure --- and it doesn't really matter. All these methods are able to find one (and only one) root. If you wish to find all the roots, you should do this "manually": Plot the function to take an estimated value for each root, then use NumSolve to find the exact value, giving as initial guess of the root the corresponding estimated value. It's a poor method, but it works, provided that the function has only a few roots.
You may ask, "is there a more general way to solve this problem?" Answer: Yes, but it is not a trivial task. Read below, if you are interested.

Finding all the roots of a function (any function) seems to be a simple problem, but in fact it is not. If the function is a polynomial, you can find all the roots, but, even then, only for polynomials up to the 4th order. The problem is much more complicated in the general case: finding all the roots of a non-polynomial function within a given interval was an unsolved problem in numerical analysis, until recently. There is no CAS available which is able to solve this problem (even Mathematica and Maple cannot do that). I'm not surprised that ClassPad cannot solve this problem as well. And, of course, this is not a bug.
Recently, two numerical methods for finding all the roots of a given function within a given interval have been developed. These methods are able to find all the roots with certainty and robustness. They are, however, complicated, and you need to know advanced Calculus to understand them (specificly: curvilinear, double and surface integrals, together with Knonecker-Picard theory). Furthermore, the algorithms are strongly based on recursion. Implementng these algorithms in a computer program is not a trivial task. I have written Fortran programs that implement these methods, but writing such programs in ClassPad is impossible, because ClassPad's basic does not support reasonable function definition. Don't even think to implement such a method in a ClassPad program. As it is now, ClassPad's basic is too poor for this. The computation time is a problem as well: depending on the function and the number of roots, the computation time can become large, even in a modern PC (imagine how large it will be in ClassPad, even if it was possible to write a program for this).

Conclusion: You cannot compute all the roots of a function in ClassPad, unless you do that "manually", and only in special cases. If, however, ClassPad's basic was not so poor, it would be possible to write a program for solving this problem --- but even then, only for relatively simple cases, to reduce the computation time.

#83 SoftCalc

SoftCalc

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 406 posts
  • Location:Portland, OR USA

  • Calculators:
    ClassPad 300 , AFX 2.0, HP-48/49/50, TI-89/92/Voyager, HP Expander, etc...

Posted 19 August 2005 - 07:32 PM

Recently, two numerical methods for finding all the roots of a given function within a given interval have been developed. These methods are able to find all the roots with certainty and robustness. They are, however, complicated, and you need to know advanced Calculus to understand them (specificly: curvilinear, double and surface integrals, together with Knonecker-Picard theory). Furthermore, the algorithms are strongly based on recursion. Implementng these algorithms in a computer program is not a trivial task. I have written Fortran programs that implement these methods, but writing such programs in ClassPad is impossible, because ClassPad's basic does not support reasonable function definition. Don't even think to implement such a method in a ClassPad program. As it is now, ClassPad's basic is too poor for this. The computation time is a problem as well: depending on the function and the number of roots, the computation time can become large, even in a modern PC (imagine how large it will be in ClassPad, even if it was possible to write a program for this).

<{POST_SNAPBACK}>

Do you hav a reference for this algorithm? I might be able to implement it in C. I might even be able to create a "Main" add-in that lets you hook in your own C/C++ code for function evaluation :)

#84 PAP

PAP

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 681 posts
  • Gender:Male
  • Location:Somewhere in Europe.
  • Interests:Computer Algebra, Numerical Analysis.

  • Calculators:
    ClassPad 300 (plus an old Casio model, with only a few Kb ram).

Posted 19 August 2005 - 10:07 PM

Wow, it seems that not everybody in this forum is interested solely on games; good to know. :roflol:

Do you have a reference for this algorithm?

Of couse, I have references for the algorithms. Here you are:
* D. J. Kavvadias and M. N. Vrahatis, Locating and computing all the simple roots and extrema of a function, SIAM Journal of Scientific Computing, Vol. 17, No. 5, pp. 1232-1248 (1996).
* D. J. Kavvadias, F. S. Makri, and M. N. Vrahatis, Locating and computing arbitrarily distributed zeros, SIAM Journal of Scientific Computing, Vol. 21, No. 3, pp. 954-969 (1999).
The main algorithm is described very well in the first paper (but there is a typographical error --- see also the second paper). There are more papers in this series, but you don't really need them, unless you want to write a parallel code for a cluster system using PVM (don't do it, C/C++ is not suitable for this).

It is not so difficult to understand the algorithm, but be prepared for somewhat "heavy" mathematics ;). There are also some useful details about the algorithm implementation which are not described in any paper (I have found them by the "trial-and-error technique"). If you finally decide to write the C code, let me know; you will need these details.
Note that the papers mentioned above describe the first method. There is a second method, but it is not as powerful as the first, so I'll skip it for now.

I might be able to implement it in C. I might even be able to create a "Main" add-in that lets you hook in your own C/C++ code for function evaluation :)

I have written an implementation of the algorithm already (in Fortran 95, of course), and it works very well. I don't have any reason to rewrite the code in C. If you want, my Fortran code can be directly called by a C/C++ driver program (at least, this is true in <{GNULINUX}>; I don't know if it works in Windows as well). Anyway, I can give you the code, further information, and any help you may need.

One small remark: the best ClassPad implementation of the algorithm is to write the code as part of the OS, so that every ClassPad application will be able to use it --- but you already know that. With all these OS "upgrades" that Casio has released so far, this seems to be a dream. Anyway, an add-in implementation of the algorithm will be useful as well. Wish you will do it. Afterall, I'm getting bored to see many people writing games, games, and games for ClassPad - btw, most of these "games" are stupid.

#85 SoftCalc

SoftCalc

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 406 posts
  • Location:Portland, OR USA

  • Calculators:
    ClassPad 300 , AFX 2.0, HP-48/49/50, TI-89/92/Voyager, HP Expander, etc...

Posted 20 August 2005 - 06:53 AM

Wow, it seems that not everybody in this forum is interested solely on games; good to know. :roflol:

<{POST_SNAPBACK}>

Oh, didn't I mention I was planning on creating a root finder game. :rolleyes:

I have written an implementation of the algorithm already (in Fortran 95, of course), and it works very well. I don't have any reason to rewrite the code in C. If you want, my Fortran code can be directly called by a C/C++ driver program (at least, this is true in <{GNULINUX}>; I don't know if it works in Windows as well). Anyway, I can give you the code, further information, and any help you may need.

<{POST_SNAPBACK}>

Anything for the ClassPad would have to be compiled for the SH processor, so it would have to be in C or C++. The CAS is actually written in C so this is the most efficient language to use if the goal is to integrate with the CAS.

One small remark: the best ClassPad implementation of the algorithm is to write the code as part of the OS, so that every ClassPad application will be able to use it --- but you already know that. With all these OS "upgrades" that Casio has released so far, this seems to be a dream. Anyway, an add-in implementation of the algorithm will be useful as well. Wish you will do it.

<{POST_SNAPBACK}>

This is true. I'd really like to see the ability to hook into the OS and create add-ins that can extend the built-in OS with new functionality that is available from every application. Who knows...maybe someday. :)

My idea was to start out with an add-in, but anything that is put into an add-in can always end up in the OS. ;) I don't have a lot of extra time so I'm just at the investigation stage right now. Still, I'm somewhat familiar with root finding algorithms and would enjoy the challenge of writing a better one in the ClassPad.

Afterall, I'm getting bored to see many people writing games, games, and games for ClassPad - btw, most of these "games" are stupid.

<{POST_SNAPBACK}>

Maybe to you, but not to a game developer, or college student, or for that matter a ClassPad developer ;) . Stupid sounds a bit harsh coming from someone who was offended by the term nerd.

I agree that the ClassPad needs serious applications and not just games. I have a number of other things I'd like to write for the ClassPad, but time is the ultimate road block. I've wanted to add unit support for some time, at a level where units are just another object type in the CAS. This isn't that difficult to do, but there have been so many other things on my list. Still, I believe unit support is a critical feature and must be addressed in the very near future.

#86 PAP

PAP

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 681 posts
  • Gender:Male
  • Location:Somewhere in Europe.
  • Interests:Computer Algebra, Numerical Analysis.

  • Calculators:
    ClassPad 300 (plus an old Casio model, with only a few Kb ram).

Posted 20 August 2005 - 09:13 AM

Anything for the ClassPad would have to be compiled for the SH processor, so it would have to be in C or C++. The CAS is actually written in C so this is the most efficient language to use if the goal is to integrate with the CAS.
My idea was to start out with an add-in, but anything that is put into an add-in can always end up in the OS. ;) I don't have a lot of extra time so I'm just at the investigation stage right now. Still, I'm somewhat familiar with root finding algorithms and would enjoy the challenge of writing a better one in the ClassPad.

A C/C++ program can contain pure Fortran code, and can be compiled without any problem (the gcc compilers work perfectly in this case; I assume that this is true for other C++/Fortran compilers). I cannot see why the executable will not work in ClassPad, despite the fact that the source code has been written in C++ and Fortran. I have seen many applications written in mixed C++/Fortran code (but not applications for the ClassPad... yet). For example, the source code of Scilab, which is a large numerical analysis package (similar to Matlab), is written in Fortran and C++, and it can be compiled on my PC without any problem. Mixed code permits to use the power of Fortran 95 in numerical analysis programming, together with the power of C++ in other tasks.
Anyway, it is obvious that you are an experienced C++ programmer, so you are able to rewrite the whole code in C++ from scratch. I offered to give you my Fortran code because I think that this will save a lot of time, and because I really love OpenSource projects ;). Afterall, it is also a challenge to write ClassPad applications in mixed code, because there is a huge collection of free numerical analysis programs written in Fortran. These programs are well-tested by many developers, and there is no need to rewrite them, especially in C++ (numerical analysis programming in C++ is a nightmare, compared to Fortran). Anyway, you are the ClassPad developer, not me, and the last word is yours. Good luck to your "root finder game" developing, I will really enjoy to "play" this game in ClassPad. If you succeed, ClassPad will be far beyond any other calc in root finding. Again, I will be happy to offer any help you may need.

Maybe to you, but not to a game developer, or college student, or for that matter a ClassPad developer ;) . Stupid sounds a bit harsh coming from someone who was offended by the term nerd.

I never said that a game developer is stupid. Game programming is not an easy task at all. I remember when I wrote "PAP man" (similar to pac man) in assembly language for the 8086 processor (yes, I'm that old): it was hard, I needed a lot of time and coffee ;), and I have learned many many things. A game developer is an experienced programmer, and he/she is definitely not stupid. But this does not means that the result, the game itself, is not stupid (my "PAP man", for example, was a stupid, boring game). Often, a game developer knows that the game he is developing is stupid, but he writes it simply because it is a challenge.
Anyway, it should be obvious that I didn't wanted to offend anyone, and I have never called any game developer stupid or nerd.
Btw, I don't like the fact that many people write games for ClassPad, but this doesn't means that I don't like games in general (in StarCraft and Half-Life, for example, I'm very tough :greengrin:). Still, ClassPad is not a game platform. I can see a challenge on writing games for ClassPad, but I cannot understand why almost everybody does that, while there is not even a single numerical analysis add-in... yet.

I've wanted to add unit support for some time, at a level where units are just another object type in the CAS. This isn't that difficult to do, but there have been so many other things on my list. Still, I believe unit support is a critical feature and must be addressed in the very near future.

My personal opinion is that unit support is something marginally useful, not a "must". I cannot see why so many people in this forum ask for unit support in ClassPad. I think that many more important things are missing.

#87 SoftCalc

SoftCalc

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 406 posts
  • Location:Portland, OR USA

  • Calculators:
    ClassPad 300 , AFX 2.0, HP-48/49/50, TI-89/92/Voyager, HP Expander, etc...

Posted 20 August 2005 - 07:45 PM

A C/C++ program can contain pure Fortran code, and can be compiled without any problem (the gcc compilers work perfectly in this case; I assume that this is true for other C++/Fortran compilers). I cannot see why the executable will not work in ClassPad, despite the fact that the source code has been written in C++ and Fortran.

<{POST_SNAPBACK}>


Yes, I know it can be done on many plateforms, and I'm sure it could be done on the ClassPad if there is a Fortran compiler for the SH processor that is compatible with Hitachi's C/C++ compiler/linker. This probably isn't a trivial task and requires a low level knowledge of how things get linked together.

Personally I think it would be easier to port Fortran to C or C++ than to somehow get Fortran compiled and linked on the ClassPad. :)

Also, the ClassPad's native floating point structure is an OBCD (binary coded decimal). Calculators typically use BCD simply so round-off errors happen in base-10 instead of base-2. It makes sense to write code using the ClassPad's OBCD.

Afterall, it is also a challenge to write ClassPad applications in mixed code, because there is a huge collection of free numerical analysis programs written in Fortran. These programs are well-tested by many developers, and there is no need to rewrite them, especially in C++ (numerical analysis programming in C++ is a nightmare, compared to Fortran). Anyway, you are the ClassPad developer, not me, and the last word is yours. Good luck to your "root finder game" developing, I will really enjoy to "play" this game in ClassPad. If you succeed, ClassPad will be far beyond any other calc in root finding.

<{POST_SNAPBACK}>

The "game" part was a joke. There are enough game developers out there already. :)

I wonder how many Fortran programmers would be interested in the ClassPad. Hmm...

My personal opinion is that unit support is something marginally useful, not a "must". I cannot see why so many people in this forum ask for unit support in ClassPad. I think that many more important things are missing.

<{POST_SNAPBACK}>

What is important or critical to one person might be completely useless to another. If you do any engineering or physics, unit support is extremely useful. I had an HP48 when I was in college and I was always using units to convert and balance equations. At the time the HP was the only calculator that had support for units and complex matrices. These were key features that influenced my purchase decision. All the requests for units speaks volumes for what many users want.

#88 PAP

PAP

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 681 posts
  • Gender:Male
  • Location:Somewhere in Europe.
  • Interests:Computer Algebra, Numerical Analysis.

  • Calculators:
    ClassPad 300 (plus an old Casio model, with only a few Kb ram).

Posted 20 August 2005 - 08:14 PM

Yes, I know it can be done on many plateforms, and I'm sure it could be done on the ClassPad if there is a Fortran compiler for the SH processor that is compatible with Hitachi's C/C++ compiler/linker. This probably isn't a trivial task and requires a low level knowledge of how things get linked together.
Also, the ClassPad's native floating point structure is an OBCD (binary coded decimal). Calculators typically use BCD simply so round-off errors happen in base-10 instead of base-2. It makes sense to write code using the ClassPad's OBCD.

Wow, I have learned useful things about ClassPad. Thanks.
Given these facts, C/C++ is the only "easy" way to develop an add-in in ClassPad. Disappointing (:().
I personally refuse to write scientific applications in C/C++. It's simply not suitable for that. It's like this situation: You have 2 cars, a Lamborghini Diablo (a "monster" car) and a Fiat Cinquecento (a "miniature" car). You want to go from Paris to Moscow by car, and you choose to do that with the Cinquecento, leaving the Diablo in the garage :plol:. No, thanks.

The "game" part was a joke.

Obviously. My wishes concerning the "root finder game" was also a joke.

I wonder how many Fortran programmers would be interested in the ClassPad. Hmm...

Well, there is one ;). But I'm afraid he is alone in this forum. Disappointing^2 (:(:().

If you do any engineering or physics, unit support is extremely useful.

I'm doing computational physics, but, still, I don't think that unit support in ClassPad has a high priority, given that ClassPad needs a better CAS and a better basic.

All the requests for units speaks volumes for what many users want.

Well, the great Norwegian writer Knut Hamsun said: "Sometimes, a minority will say the right thing. The majority will never do it." Maybe the translation is not good, due to my poor english, but you will get the meaning. ;)

#89 Filip Georgijev

Filip Georgijev

    Casio Fan

  • Members
  • PipPip
  • 37 posts
  • Location:Skopje, Republic of Macedonia
  • Interests:Computing, Programming, Casio...

  • Calculators:
    CASIO ClassPad 300 OS Version 2.00 2x, CASIO ALgebra FX 2.0 Plus, CASIO CFX-9970G, CASIO CFX-9950GB+, CASIO fx-6300G, CASIO fx-570, CASIO fx-991MS and so on... Huh!!!

Posted 25 August 2005 - 05:38 PM

Dear PAP, I agree with you that always the minority is right, while the majority is wrong. However, the money is the problem. The ClassPad has to suit the ordinary teachers and students, in order to be purchased in large quantities. There are few people who could improve the ClassPad very much, but of course Casio needs big economical benefit from this calculator. I know that this sounds very sad. See you!

#90 SoftCalc

SoftCalc

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 406 posts
  • Location:Portland, OR USA

  • Calculators:
    ClassPad 300 , AFX 2.0, HP-48/49/50, TI-89/92/Voyager, HP Expander, etc...

Posted 25 August 2005 - 09:19 PM

Well, the great Norwegian writer Knut Hamsun said: "Sometimes, a minority will say the right thing. The majority will never do it." Maybe the translation is not good, due to my poor english, but you will get the meaning. ;)

<{POST_SNAPBACK}>

The one improvement that I would personally like to see is better Basic with better integration and more hooks into the system.

If Basic were more powerful, or if you could write CAS functions in any language (C, C++, or why not Fortran :) ) and then have them seamlessly integrated with the OS, the ClassPad would be much more powerful.

Now imagine if you could customize the keyboard, or the display. What about defining your own custom soft keypad instead of being stuck with the one Casio decided is best.

I think it is difficult (if not impossible) to make everyone happy. IMO, since you can't give everyone exactly what they want you should at least give people enough tools so they can change things to be the way want.

#91 PAP

PAP

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 681 posts
  • Gender:Male
  • Location:Somewhere in Europe.
  • Interests:Computer Algebra, Numerical Analysis.

  • Calculators:
    ClassPad 300 (plus an old Casio model, with only a few Kb ram).

Posted 26 August 2005 - 08:26 AM

The one improvement that I would personally like to see is better Basic with better integration and more hooks into the system.
If Basic were more powerful, or if you could write CAS functions in any language (C, C++, or why not Fortran :) ) and then have them seamlessly integrated with the OS, the ClassPad would be much more powerful.
I think it is difficult (if not impossible) to make everyone happy. IMO, since you can't give everyone exactly what they want you should at least give people enough tools so they can change things to be the way want.

Indeed, it is impossible to make everyone happy. But I'm not the only one who wants a more powerful Basic language, and I don't think that it is difficult to remove the limitations that are currently present in ClassPad's Basic. Afterall, Casio was the leader in Basic programmable calculators once upon a time.
Furthermore, let's assume that ClassPad is strictly an educational tool. Even then, I cannot imagine a single teacher which is satisfied with the current CAS.
The ability of writing CAS functions in any language will make ClassPad one of its kind, but I cannot even dream this, given that the Basic and the CAS were not upgraded so far, although Casio has released several OS upgrades.

#92 Orwell

Orwell

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 777 posts
  • Gender:Male
  • Location:Paris - France

  • Calculators:
    Casio AFX 1.02 / Casio ClassPad 300

Posted 26 August 2005 - 01:05 PM

I'm currently working on another project, which is related to this subject...
I'll give you more info in a couple of days.

Be patient, I'm sure you will like it ;)

#93 Orwell

Orwell

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 777 posts
  • Gender:Male
  • Location:Paris - France

  • Calculators:
    Casio AFX 1.02 / Casio ClassPad 300

Posted 01 September 2005 - 04:27 PM

I'm currently working on another project, which is related to this subject...
I'll give you more info in a couple of days.

Be patient, I'm sure you will like it  ;)

<{POST_SNAPBACK}>

Here we go... I hope it will help some way :)
http://www.casiocalc...?showtopic=2314

#94 lalong

lalong

    Newbie

  • Members
  • Pip
  • 6 posts

  • Calculators:
    Casio Classpad 300plus

Posted 25 November 2005 - 09:25 AM

hi there!

try this:

os : v2.2
settings : complex, degrees on
main window: enter x^2-1, exec
open split window for table of x,y-values via toolbar button
drag&drop equation to table

BANG!

there you go:

"tbl error; target: 0000002C, pc: 001F81EE

after a few seconds break: init procedure starts...

isn?t it nice? ;-)

#95 Orwell

Orwell

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 777 posts
  • Gender:Male
  • Location:Paris - France

  • Calculators:
    Casio AFX 1.02 / Casio ClassPad 300

Posted 26 November 2005 - 08:14 PM

A null pointer exception... It seems like it also happens in programs written by professional workers :rolleyes:

#96 Debb

Debb

    Newbie

  • Validating
  • Pip
  • 23 posts
  • Gender:Female

  • Calculators:
    ClassPad 300
    ClassPad 300+

Posted 28 November 2005 - 07:34 PM

hi there!

try this:

os : v2.2
settings : complex, degrees on
main window: enter x^2-1, exec
open split window for table of x,y-values via toolbar button
drag&drop equation to table

BANG!

there you go:

"tbl error; target: 0000002C, pc: 001F81EE

after a few seconds break: init procedure starts...

isn?t it nice? ;-)

Hi,

I tried your example but my classpad doesn't crash. Are there more steps involved? Or is there something in your memory that is adding to the crash? Or...?

Anyone else able to crash the classpad?

Thanks,
Debb

#97 SoftCalc

SoftCalc

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 406 posts
  • Location:Portland, OR USA

  • Calculators:
    ClassPad 300 , AFX 2.0, HP-48/49/50, TI-89/92/Voyager, HP Expander, etc...

Posted 28 November 2005 - 09:26 PM

I tried your example but my classpad doesn't crash. Are there more steps involved? Or is there something in your memory that is adding to the crash? Or...?

:blink: I also tried and couldn't get it to crash. I'm wondering if there were any other columns in the table. Did you have a graph active at the same time, or did you drag and drop other expressions before dragging and dropping x^2-1?

#98 Kilburn

Kilburn

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 491 posts
  • Gender:Male
  • Location:France
  • Interests:Blah

  • Calculators:
    FX-7500 G
    ClassPad 300

Posted 02 December 2005 - 07:15 PM

I can't reproduce the bug...

#99 MicroPro

MicroPro

    Casio Overlord

  • Deputy
  • PipPipPipPipPipPipPip
  • 640 posts
  • Gender:Male
  • Location:Iran

  • Calculators:
    Casio ClassPad 300

Posted 20 December 2005 - 01:53 PM

try this:
os : v2.2
settings : complex, degrees on
main window: enter x^2-1, exec
open split window for table of x,y-values via toolbar button
drag&drop equation to table
...
"tbl error; target: 0000002C, pc: 001F81EE
...


I think that it depends on your hardware type? (System Application: The "System" menu>"Version (Hardware)" item).
:!: TO EVERY READER: Please give your CP's hardware type in the bug reports so that more people can help you.

#100 SoftCalc

SoftCalc

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 406 posts
  • Location:Portland, OR USA

  • Calculators:
    ClassPad 300 , AFX 2.0, HP-48/49/50, TI-89/92/Voyager, HP Expander, etc...

Posted 21 December 2005 - 09:22 PM

I think that it depends on your hardware type? (System Application: The "System" menu>"Version (Hardware)" item).
:!: TO EVERY READER: Please give your CP's hardware type in the bug reports so that more people can help you.

It is also very dependent on the state of your ClassPad, like the modes, variables that exist in MCS, etc. Normally a bug like this is hard to find because of this dependency. If it happens on any ClassPad it more than likely would have been discovered during testing. If it only happens in a particular combination of modes and only when certain variables are defined with certain values....well you get the picture.

The most helpful thing would be an MCS image and a list of steps that recreate the bug. If anyone ever gets a severe bug (like a crashing bug) I would really appreciate this extra info. You can always send me email via this forum and I can give you a direct email address to send the info.

#101 Kilburn

Kilburn

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 491 posts
  • Gender:Male
  • Location:France
  • Interests:Blah

  • Calculators:
    FX-7500 G
    ClassPad 300

Posted 21 December 2005 - 09:43 PM

In fact the OS v2.2 is really great, but we don't realize that :D Since I have installed OS v2.2 I had not any fatal error anymore! :roflol:

#102 Lovecasio

Lovecasio

    Casio Freak

  • Members
  • PipPipPipPip
  • 242 posts
  • Location:Hochiminh city Vietnam
  • Interests:Organic chemistry.<br />Pharmacy

  • Calculators:
    fx 570 MS, Casio AFX 2.0+, ClassPad 300

Posted 02 January 2006 - 01:15 AM

Hi.
solve(sin(x)+cos(x)=sqrt(2)) => CP:Sorry boss, I can't, please solve this graphically. <_<
sum(1/(x^2+x+1),x,1,10) => CP: please wait 0.5 sec.
sum(1/(x^2+x+1),x,1,12) => CP: please wait more than 3 sec. :blink: (Why is it slow while adding two more number?)

#103 Kilburn

Kilburn

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 491 posts
  • Gender:Male
  • Location:France
  • Interests:Blah

  • Calculators:
    FX-7500 G
    ClassPad 300

Posted 02 January 2006 - 10:46 AM

Hi.
solve(sin(x)+cos(x)=sqrt(2)) => CP:Sorry boss, I can't, please solve this graphically. <_<
sum(1/(x^2+x+1),x,1,10) => CP: please wait 0.5 sec.
sum(1/(x^2+x+1),x,1,12) => CP: please wait more than 3 sec. :blink: (Why is it slow while adding two more number?)


:blink: Yes... quite strange...

#104 MicroPro

MicroPro

    Casio Overlord

  • Deputy
  • PipPipPipPipPipPipPip
  • 640 posts
  • Gender:Male
  • Location:Iran

  • Calculators:
    Casio ClassPad 300

Posted 02 January 2006 - 01:38 PM

Hi.
solve(sin(x)+cos(x)=sqrt(2)) => CP:Sorry boss, I can't, please solve this graphically. <_<
sum(1/(x^2+x+1),x,1,10) => CP: please wait 0.5 sec.
sum(1/(x^2+x+1),x,1,12) => CP: please wait more than 3 sec. :blink: (Why is it slow while adding two more number?)

You know how to build programs using the CP SDK? OK, I according to what I know about SDK programming, I think that the reason is because of the Mantissa. Mantissa in the classpad is 10 bytes long.

(Hey, don't look like :blink:! it was just a joke!)

#105 Overlord

Overlord

    Casio Technician

  • Moderator
  • PipPipPipPipPipPip
  • 355 posts
  • Gender:Male
  • Location:Brussels - Belgium
  • Interests:Math Researcher

  • Calculators:
    My head - C300 OS 3.00 - G100 Rom 1.02 - G65 - G60 - G25

Posted 02 January 2006 - 01:42 PM

for the 0.5s -> 3s maybe it's because cp works in exact mode and computes the exact fraction... but 3s still very too much >_<, we should have a real decimal mode like in the RUN mode

#106 PAP

PAP

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 681 posts
  • Gender:Male
  • Location:Somewhere in Europe.
  • Interests:Computer Algebra, Numerical Analysis.

  • Calculators:
    ClassPad 300 (plus an old Casio model, with only a few Kb ram).

Posted 03 January 2006 - 12:34 AM

sum(1/(x^2+x+1),x,1,10) => CP: please wait 0.5 sec.
sum(1/(x^2+x+1),x,1,12) => CP: please wait more than 3 sec. :blink: (Why is it slow while adding two more number?)

You have posted this question in the topic "Difficult CAS problems in ClassPad" four months ago ;). I have aswered that I think the reason for the delay is computer arithmetics (adding too small numbers, such as those for x=11 and x=12 to the sum(1/(x^2+x+1),x,1,10) is genarally time-consuming, especialy in "exact mode" (if you don't remember, see the corresponding post here). Overlord has the same opinion.
As I already posted then, the only workaround I can think is
sum(1/(x^2+x+1),x,1,10)+sum(1/(x^2+x+1),x,11,12)
It's not very convenient, but it is much faster.

Happy new year to all forumers (that "new year" makes sense these days).

#107 Lovecasio

Lovecasio

    Casio Freak

  • Members
  • PipPipPipPip
  • 242 posts
  • Location:Hochiminh city Vietnam
  • Interests:Organic chemistry.<br />Pharmacy

  • Calculators:
    fx 570 MS, Casio AFX 2.0+, ClassPad 300

Posted 03 January 2006 - 02:51 PM

Hi.
You have very good memory, PAP. I myself cannot remember what I post 4 months ago (well, this period may have influnce on my nerve cells, erase some of old data and store new one since I am studying in Medicine and Pharmacy field, I have to learn a lot about my subjects, so sorry for interrupting you).
I don't agree with your explanation (that doesn't mean that you aren't right). In my opinion, there is no problem adding a small and a large number. Try adding 200!+1. Also try sum(1/(x^2+x+1),x,1,20), you will see that it takes almost the same as the time needed of sum(1/(x^2+x+1),x,1,12). In the way you explain, it should be a lot of time. However it is not.
Also try solve(sin(x)=cos(x),x) in complex mode, you will recieve answer but not beautiful. Try in Real, it said no solution. Sometime that happends with integration, too.

#108 MicroPro

MicroPro

    Casio Overlord

  • Deputy
  • PipPipPipPipPipPipPip
  • 640 posts
  • Gender:Male
  • Location:Iran

  • Calculators:
    Casio ClassPad 300

Posted 10 January 2006 - 11:47 AM

Hi!
A small and very negligible bug:
In the Program application, if you write a comment line like this:
'TODO: Some Thing
ClassPad gives you an error message that says the expression "Some Thing" is invalid. I know the reason, I must change the code to:
'TODO: 'Some Thing
I haven't write this for answers. I just wrote it because in computer Basic programming language this doesn't happen. I hope they fix it in the future ver3 :vofcol:

PS #1. Nice signature Mr. Overlord!
PS #2. :vofcol: = Vomitting on the floor, crying out loud! :greengrin:
(Though I don't vomit for these small things, I usually vomit before my exams!)

#109 unique33

unique33

    Casio Freak

  • Possibly hacked
  • PipPipPipPip
  • 229 posts
  • Gender:Male
  • Location:Iran

  • Calculators:
    classpad 300 , fx5500

Posted 25 January 2006 - 07:06 AM

Fatal Error
Decimal , Real , Deg :

Try:
main :

Solve(.8896=(((2*1.4*x^2-1.4)/(2.4))^(-1/.4))*(((2.4*x^2)/(2+.4*x^2))^(1.4/.4)),x)=bumb

NumSolve:
the limits: say (0..5)
the answer : 1.6148882
Left-Right=1.3*10^-14

#110 MicroPro

MicroPro

    Casio Overlord

  • Deputy
  • PipPipPipPipPipPipPip
  • 640 posts
  • Gender:Male
  • Location:Iran

  • Calculators:
    Casio ClassPad 300

Posted 13 February 2006 - 12:16 PM

We have seen lots of these bugs in ClassPad, unique33... It has became usual for us... :lol2:

#111 Kilburn

Kilburn

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 491 posts
  • Gender:Male
  • Location:France
  • Interests:Blah

  • Calculators:
    FX-7500 G
    ClassPad 300

Posted 21 March 2006 - 08:17 PM

In Conics, try to draw an hyperbol with (X-H)?/A?-(Y-K)?/B?=1 or (Y-K)?/B?-(X-H)?/A?=1. The hyperbol has a very strange shape! :banghead: Is it normal? (Radian, Real, Normal 2, Decimal)

#112 Overlord

Overlord

    Casio Technician

  • Moderator
  • PipPipPipPipPipPip
  • 355 posts
  • Gender:Male
  • Location:Brussels - Belgium
  • Interests:Math Researcher

  • Calculators:
    My head - C300 OS 3.00 - G100 Rom 1.02 - G65 - G60 - G25

Posted 21 March 2006 - 11:12 PM

No problem here ?

Which values do you use for A,B,H,K ?

#113 Kilburn

Kilburn

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 491 posts
  • Gender:Male
  • Location:France
  • Interests:Blah

  • Calculators:
    FX-7500 G
    ClassPad 300

Posted 22 March 2006 - 01:10 PM

A=B=1 ; H=K=0
So I have x?-y?=1 :unsure:


Edit: Argh! I reset my CP and the problem disappeared! :blink: (It was not a window problem)

#114 Pawel_pl

Pawel_pl

    Newbie

  • Members
  • Pip
  • 13 posts
  • Location:Poland
  • Interests:computers, mobile phones

  • Calculators:
    Casio ClassPad 300; Casiofx-991ES; Casio fx-82ES; Casio HS-8ER

Posted 26 April 2006 - 01:51 PM

If somebody know someone who does OS to CP, will tell him that it doesn't calculate something like this:
solve({x+y=6,y^(3x+2y-1)=1},{x,y})
or:
TI vs ClassPad

Why is TI89 better with this mathematical problems than CP??
When will CP be better?

Does somebody know why??

#115 PAP

PAP

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 681 posts
  • Gender:Male
  • Location:Somewhere in Europe.
  • Interests:Computer Algebra, Numerical Analysis.

  • Calculators:
    ClassPad 300 (plus an old Casio model, with only a few Kb ram).

Posted 26 April 2006 - 09:53 PM

If somebody know someone who does OS to CP, will tell him that it doesn't calculate something like this:
solve({x+y=6,y^(3x+2y-1)=1},{x,y})

This is a system of nonlinear equations, or, equivalently, a "nonlinear system". Currently, ClassPad's CAS only solves linear systems. However, nonlinear systems can be easily solved using my LuaNumAn library. If you need to solve nonlinear systems in ClassPad, read the documentation about the LuaNumAn function called "Broyden"; you will find an example as well. Of course, you will need to write a small program in CPLua, not in CP Basic, but I don't think that this is really a problem. Afterall, CPLua is a must for every CP user.

Why is TI89 better with this mathematical problems than CP??

In general, TI89 seems to be more powerful, as far as the CAS is concerned. However, I have found several cases where ClassPad's CAS actually performs better than TI89's CAS. Anyway, eveybody knows that CP needs a huge CAS upgrade...

When will CP be better?

My personal opinion is that "CP will be better when we make it better".

#116 vanhoa

vanhoa

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 854 posts
  • Gender:Male
  • Location:Vietnam

  • Calculators:
    AFX 2.0, CP 300, CP 330, nSpire, TI 89, FX 5800

Posted 06 May 2006 - 01:12 PM

Well, there is a long story to tell about that. In fact, what you asked is an excellent example of a simple question that has not a simple answer. I don't know if someone in this forum is really interested; anyway, I'll try to explain in short.

ClassPad is able to find one root of a non-polynomial function by using a numerical method, probably the Newton-Raphson or the Brent method, I don't know for sure --- and it doesn't really matter. All these methods are able to find one (and only one) root. If you wish to find all the roots, you should do this "manually": Plot the function to take an estimated value for each root, then use NumSolve to find the exact value, giving as initial guess of the root the corresponding estimated value. It's a poor method, but it works, provided that the function has only a few roots.
You may ask, "is there a more general way to solve this problem?" Answer: Yes, but it is not a trivial task. Read below, if you are interested.

Finding all the roots of a function (any function) seems to be a simple problem, but in fact it is not. If the function is a polynomial, you can find all the roots, but, even then, only for polynomials up to the 4th order. The problem is much more complicated in the general case: finding all the roots of a non-polynomial function within a given interval was an unsolved problem in numerical analysis, until recently. There is no CAS available which is able to solve this problem (even Mathematica and Maple cannot do that). I'm not surprised that ClassPad cannot solve this problem as well. And, of course, this is not a bug.
Recently, two numerical methods for finding all the roots of a given function within a given interval have been developed. These methods are able to find all the roots with certainty and robustness. They are, however, complicated, and you need to know advanced Calculus to understand them (specificly: curvilinear, double and surface integrals, together with Knonecker-Picard theory). Furthermore, the algorithms are strongly based on recursion. Implementng these algorithms in a computer program is not a trivial task. I have written Fortran programs that implement these methods, but writing such programs in ClassPad is impossible, because ClassPad's basic does not support reasonable function definition. Don't even think to implement such a method in a ClassPad program. As it is now, ClassPad's basic is too poor for this. The computation time is a problem as well: depending on the function and the number of roots, the computation time can become large, even in a modern PC (imagine how large it will be in ClassPad, even if it was possible to write a program for this).

Conclusion: You cannot compute all the roots of a function in ClassPad, unless you do that "manually", and only in special cases. If, however, ClassPad's basic was not so poor, it would be possible to write a program for solving this problem --- but even then, only for relatively simple cases, to reduce the computation time.

Where can I get the program?

#117 PAP

PAP

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 681 posts
  • Gender:Male
  • Location:Somewhere in Europe.
  • Interests:Computer Algebra, Numerical Analysis.

  • Calculators:
    ClassPad 300 (plus an old Casio model, with only a few Kb ram).

Posted 06 May 2006 - 08:24 PM

Where can I get the program?

The post you are reffering is rather old, before CPLua. It was then impossible to implement such a complex algorithm in CP. A function for finding all the roots of a function within a given interval is included in my LuaNumAn library (it's called "KroneRoots").
Note that you can get good results by combining the CAS function fMin with the absolute value. For example,
fMin(abs(sin(x)),x,-10,10)
will give you all the roots of sin(x) within the interval [-10,10]. In fact, fMin seems to be one of the most powerful CP CAS functions. Unfortunately, however, fMin( abs(f(x)),x,a,b ) will not always give all the roots of an arbitrary function f(x) within the interval [a,b].

#118 vanhoa

vanhoa

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 854 posts
  • Gender:Male
  • Location:Vietnam

  • Calculators:
    AFX 2.0, CP 300, CP 330, nSpire, TI 89, FX 5800

Posted 24 September 2006 - 09:37 AM

new bug:

x|x| is x*abs(x) but class pad understain as xabs(x).

#119 SoftCalc

SoftCalc

    Casio Technician

  • Members
  • PipPipPipPipPipPip
  • 406 posts
  • Location:Portland, OR USA

  • Calculators:
    ClassPad 300 , AFX 2.0, HP-48/49/50, TI-89/92/Voyager, HP Expander, etc...

Posted 24 September 2006 - 01:32 PM

This bug is fixed in OS 3.0 and maybe OS 2.2. What version of the OS do you have?
BTW, It wll work if you use the special x

#120 vanhoa

vanhoa

    Casio Overlord

  • Members
  • PipPipPipPipPipPipPip
  • 854 posts
  • Gender:Male
  • Location:Vietnam

  • Calculators:
    AFX 2.0, CP 300, CP 330, nSpire, TI 89, FX 5800

Posted 25 September 2006 - 10:43 AM

2.2


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users