KhiCAS is a port of my Giac/Xcas computer algebra system (CAS) for the Casio CG50 or Graph90+e, it provides algebra, calculus, solvers, linear algebra, graphs, ... commands for highschool to University maths.

Documentation :

English

https://www-fourier.ujf-grenoble.fr/~parisse/casio/khicasioen.html
French

https://www-fourier.ujf-grenoble.fr/~parisse/casio/khicasio.html
Download :

English

https://www-fourier.ujf-grenoble.fr/~parisse/casio/khicasen.g3a
French

https://www-fourier.ujf-grenoble.fr/~parisse/casio/khicas.g3a
It is licensed under the GPL2. Some interface code was borrowed from Eigenmath UI written by G. Maia, however KhiCAS is a far more complete CAS than Eigenmath.

Enjoy!

Welcome to Cemetech, parisse, and thank you for sharing this with us! Would you consider uploading KhiCAS to

the relevant folder in our Downloads section? I'm also curious what it adds on top of Eigenmath, given how much I've enjoyed

gbl08ma's port of Eigenmath to the Casio Prizm.

**KermMartian wrote:**

I planed do that in a couple of days, just to make sure there is nothing evident to fix (consider the current version as a release candidate).

As for what it can do w.r.t. Eigenmath, here is a non exhaustive list:

* limits

* asymptotic series expansion (Taylor expansion at infinity)

* much more antiderivatives: integrate works with algorithms, not with a table of integrals. Examples: integrate(1/(x^4-1)^2), integrate(sin(x)*exp(x)), integrate(exp(x^2)*(2x^2+1)), ...

* discrete symbolic sums like sum(k^2,k,1,n)

* solve equations, systems, differential equations, recurrences

* exact eigenvector/eigenvalues (vs numeric in Eigenmath)

* programming with Python-like syntax, including a step by step debugger

For example the Mandelbrot fractal

**Code:** ```
```

def FRA(X,Y,Nmax):

# local w,h,y,c,x,z,j

w=2.7/X

h=-1.87/Y

Y=Y-1

for y in range(ceiling(Y/2)+1):

c = -2.1+i*(h*y+0.935)

for x in range(X):

z = 0

for j in range(Nmax):

if abs(z=z**2+c)>2:

break

set_pixel(x,24+y,5100*j+512)

set_pixel(x,24+Y-y,5100*j+512)

c = c+w;

set_pixel() # synchronize screen

Then FRA(100,100,10) will display a small fractal picture (takes some time).
I have been 'playing' with KhiCas and it's true, it has lots of advantages compared to the official MicroPython of the Casio CG50/Graph 90+e, but KhiCas has still important bugs, like:

I cannot create a new file/program, it appears to be saved with no error messages but it is not created. The only thing I could do is to create a new program with the official Casio Python and then modify/save with KhiCas.

Also KhiCas freezed a couple of times, I had to do a reset of the calculator.

Other minor problems are there so, for now, I will continue using the Casio Python app with its limitations.

On the fx-CG50 / Graph 90+E, KhiCAS has to deal with the memory size limitations for a program (app), and the maximum size is relatively low. Bernard Parisse had to cut into the XCAS feature set, and allocate less memory at various places, which created some bugs.

I decided to do a factory reset on my CG50 after a few months installing programs to test, and I installed KhiCas again. The good news is now it saves the new files I create with it! So apparently everything is fine.

On the other hand, while testing Python commands I found some unexpected results in a few programs I wrote, but I need to test it further to check if there is something wrong with KhiCas or with the code I wrote.

Cheers!

Make sure to get the latest version of KhiCAS, I have fixed bugs recently.

More bugfixes and one important new feature : clock is now displayed in the shell and program editor.

Hi. Thanks for this modification of the Eigenmath port! Just wanted to thank you and to say that if you're not sure, it works, at least the basic things, on the CG20 - tried it now. I don't know if more advanced features work or not, but the basic I tried worked, so I'm just saying it can work at least some things on the CG20 for anyone interested in using it with the CG20. I'm thinking in replacing the original for this one, as this is so much more complete. Thanks again! This might help many people a lot!

This is excellent, are you going to upload the source code to a git repository?