Omnimaga: The Coders Of Tomorrow
Welcome, Guest. Please login or register.
 
Omnimaga: The Coders Of Tomorrow
19 June, 2013, 05:19:51 *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
   home   news downloads projects tutorials misc forums rules new posts irc about Login Register  
+-OmnomIRC

You must Register, be logged in and have at least 40 posts to use this shout-box! If it still doesn't show up afterward, it might be that OmnomIRC is disabled for your group or under maintenance.

Note: You can also use an IRC client like mIRC, X-Chat or Mibbit to connect to an EFnet server and #omnimaga.

Pages: [1] 2   Go Down
  Print  
Author Topic: CAS -  (Read 1731 times) Bookmark and Share
0 Members and 1 Guest are viewing this topic.
mrmprog
LV7 Elite (Next: 700)
*******
Offline Offline

Last Login: 28 September, 2012, 05:58:25
Date Registered: 15 February, 2011, 01:35:36
Location: Somewhere
Posts: 559


Topic starter
Total Post Ratings: +34

View Profile
CAS
« on: 06 September, 2011, 04:43:20 »
0

Simply put, I want to make a cas system for my calc. The problem is, I don't really understand how to go about doing so. Sad I also don't know how a computer cas system works. A while back, I did some string stuff in BASIC, but is never went further than an idea. If anyone knows of any information on how I could do this, please tell me. I really want to know how CAS systems work, even if I can't make one for calc.
Logged

t0xic_kitt3n
LV10 31337 u53r (Next: 2000)
**********
Offline Offline

Gender: Male
Last Login: 13 May, 2013, 01:56:35
Date Registered: 16 June, 2010, 20:46:00
Location: w,x,y,z
Posts: 1583


Total Post Ratings: +32

View Profile
« Reply #1 on: 06 September, 2011, 04:46:04 »
0

It will be quite complicated. You have to have a system that interprets the string the user enters, then it has to compute the results like a human would, with out a loss of accuracy (no approximating square roots as decimals, etc.)
Which calc?
« Last Edit: 06 September, 2011, 04:48:14 by t0xic_kitt3n » Logged




██████  ██  ██  ███████           ████    ██    ██   ██ ███████
█ ██ █  ██  ██   ██   █          ██  ██  ████   ███ ███  ██   █
  ██    ██  ██   ██             ██   ██ ██  ██  ███████  ██    
  ██    ██  ██   ██  █         ██       ██  ██  ███████  ██  █
  ██    ██████   █████         ██       ██  ██  ██ █ ██  █████ 
  ██    ██  ██   ██  █         ██   ███ ██████  ██   ██  ██  █
  ██    ██  ██   ██             ██   ██ ██  ██  ██   ██  ██    
  ██    ██  ██   ██   █          ██  ██ ██  ██  ██   ██  ██   █
 ████   ██  ██  ███████           █████ ██  ██  ██   ██ ███████

mrmprog
LV7 Elite (Next: 700)
*******
Offline Offline

Last Login: 28 September, 2012, 05:58:25
Date Registered: 15 February, 2011, 01:35:36
Location: Somewhere
Posts: 559


Topic starter
Total Post Ratings: +34

View Profile
« Reply #2 on: 06 September, 2011, 04:53:36 »
0

Ti-84+SE. I am very interested in stuff like that, but sadly, I don't know much about it. This is my way of learning. Ever since I made a "semi-smart" equation solver in basic, I have wanted to know more about algebra systems. It is interesting to think of how I could make something that could solve equations like we could.


Edit: I know that the cas system in other ti calcs is called "Derive". Would anyone happen to have more information on it?
« Last Edit: 06 September, 2011, 04:56:30 by mrmprog » Logged

DJ Omnimaga
Retired Omnimaga founder (Site issues must be PM'ed to Netham45, Eeems, Shmibs, Deep Thought and AngelFish, not me.)
Editor
LV15 Omnimagician (Next: --)
*
Online Online

Gender: Male
Last Login: Today at 05:14:10
Date Registered: 25 August, 2008, 07:00:21
Location: Québec (Canada)
Posts: 50623


Total Post Ratings: +2636

View Profile WWW
« Reply #3 on: 06 September, 2011, 04:56:39 »
0

I remember critor made a tool called Autocalc that, if combined with prettyprint, MathPrint OSes and Symbolic, acted like a CAS kinda. However, Autocalc was written in TI-BASIC, which made it very slow.
Logged

Retired 83+ coder, Omnimaga/TIMGUL founder. Now doing power metal music (formerly did electronica)

Follow me on Bandcamp|Facebook|Reverbnation|Youtube|Twitter|Myspace
mrmprog
LV7 Elite (Next: 700)
*******
Offline Offline

Last Login: 28 September, 2012, 05:58:25
Date Registered: 15 February, 2011, 01:35:36
Location: Somewhere
Posts: 559


Topic starter
Total Post Ratings: +34

View Profile
« Reply #4 on: 06 September, 2011, 05:02:21 »
0

Well, If I can learn enough to make one, it will either be really slow in basic, or Axe. I will have to take a look at that, and see if I can make sense of it. Some more info I found: The cas system in other ti calcs (Ti-89T, I think) is called "Derive". Would anyone happen to have more information on it?
Logged

t0xic_kitt3n
LV10 31337 u53r (Next: 2000)
**********
Offline Offline

Gender: Male
Last Login: 13 May, 2013, 01:56:35
Date Registered: 16 June, 2010, 20:46:00
Location: w,x,y,z
Posts: 1583


Total Post Ratings: +32

View Profile
« Reply #5 on: 06 September, 2011, 05:05:15 »
0

I know derive is propriteary software, so we don't have any source code from there to learn from. There are lots of open source CAS libraries though, so you could take a look at the code and see how stuff gets done.
Logged




██████  ██  ██  ███████           ████    ██    ██   ██ ███████
█ ██ █  ██  ██   ██   █          ██  ██  ████   ███ ███  ██   █
  ██    ██  ██   ██             ██   ██ ██  ██  ███████  ██    
  ██    ██  ██   ██  █         ██       ██  ██  ███████  ██  █
  ██    ██████   █████         ██       ██  ██  ██ █ ██  █████ 
  ██    ██  ██   ██  █         ██   ███ ██████  ██   ██  ██  █
  ██    ██  ██   ██             ██   ██ ██  ██  ██   ██  ██    
  ██    ██  ██   ██   █          ██  ██ ██  ██  ██   ██  ██   █
 ████   ██  ██  ███████           █████ ██  ██  ██   ██ ███████

LincolnB
Check It Out Now
LV9 Veteran (Next: 1337)
*********
Offline Offline

Gender: Male
Last Login: 20 May, 2013, 05:36:22
Date Registered: 02 May, 2011, 00:56:28
Location: Utah Valley
Posts: 1114


Total Post Ratings: +121

View Profile
« Reply #6 on: 06 September, 2011, 05:14:37 »
0

To make a CAS, you'll probably need to first make some kind of custom input function, with menus/keyboard chortcuts, basically something that will let you type in something like 2X=6.

Then, you will need to make a function that sorts through whatever input string/system you've come up with, identifies what steps it needs to take (probably through a bunch of if statements), and takes the steps necessary, and displays the output on screen.

If it's a Complete CAS you're after, it'll be a considerable amount of work (not that it won't be worth it, I'm sure it will be), because you'll need to implement a buttload of features.

You might be interested in this thread: http://www.omnimaga.org/index.php?topic=9966.0 (this was a thread I started because I too was once interested in making a CAS but won't get around to it for quite some time, or not at all if you make one Smiley ) (also, the thread may look somewhat intimidating, but if you're determined it should really be no problem)

Good luck. Wink
Logged

Completed Projects:
   >> Spacky Emprise   >> Spacky 2 - Beta   >> Fantastic Sam
   >> An Exercise In Futility   >> GeoCore

My Current Projects:

Projects in Development:
In Medias Res - Contest Entry

Talk to me if you need help with Axe coding.


Spoiler for Bragging Rights:
Not much yet, hopefully this section will grow soon with time (and more contests)


AngelFish
This is my custom title
Administrator
LV12 Extreme Poster (Next: 5000)
*
Offline Offline

Gender: Male
Last Login: Today at 01:08:43
Date Registered: 15 August, 2010, 09:18:54
Posts: 3192


Total Post Ratings: +222

View Profile
« Reply #7 on: 06 September, 2011, 06:38:42 »
0

Perfect timing for this thread! I've spent a ton of time lately working on a project very closely related to this (one of the reasons I'm behind on my JVM for Prizm, incidentally Tongue), so I hope I can answer your question to some extent. Also, please use my post in buttsfredkins' thread as guidelines, not hard "You have to implement <feature>" for a CAS. I've been learning a lot of CAS theory lately and I realize just how ambiguous a lot of my statements in there really are.

First of all, computer algebra systems are difficult to write because they have to do a lot of things and there's a lot of math underlying them. If you don't have a firm mathematical background, you're quickly going to find yourself in over your head once you try doing research on how to write one. Accordingly, make yourself familiar with Wikipedia and Wolfram MathWorld. They'll be your best friends when you're struggling to understand say, Grobner Bases.

Also, remember that almost everything you need to write a CAS has already been discovered and published. When in doubt, Google. Another excellent source that I refer to for all kinds of things is Algorithms for Computer Algebra by Geddes, Czapor, and Labahn. It basically takes you through many of the most useful (and difficult!) algorithms in any CAS with good descriptions, excellent mathematical underpinnings, and even pseudo-code. If you can't get your hands on it, I believe certain member(s) are willing to make it available.

Also, learn the distinction between Numerical packages and Computer Algebra packages. CA packages deal with symbolic manipulations of relations in order to get a symbolic answer (e.g. ∫2xdx → x^2+c). Numerical packages deal with evaluating and approximating relations to get a numerical answer (e.g. Lim (x^2) as x → ∞ = ∞). Both types of packages are useful for solving certain types of problems that the other type has significant trouble solving. Very few "CAS" packages fail to include numerical functions on account of this.

As for a general idea of how CASes work...


1
2
3
4
5
6
7
8
9
10
11
----------------------------------------------------------------------------------------------------
|                                                                                                    |
|    ------------       --------------       ---------       -------------------------               |
 -->| Text input |---->| Tokenization |---->| Parsing |---->| Decide algorithm to use |---           |
     ------------       --------------       ---------       -------------------------   |           |
                                                                                         |           |
 ----------------------------------------------------------------------------------------            |
|                                                                                                    |
|    ---------------------       -------------------       ---------------------       --------      |
 -->| Apply manipulations |---->| Evaluate function |---->| Make output legible |---->| Output |-->--
     ---------------------       -------------------       ---------------------       --------

These steps are generally combined in various ways in a real CAS, but I think it helps demonstrate the process a bit more clearly.
« Last Edit: 06 September, 2011, 06:40:18 by Qwerty.55 » Logged

∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ
Yeong
Eternally Young Scarlet Moon
LV12 Extreme Poster (Next: 5000)
************
Offline Offline

Gender: Male
Last Login: Today at 00:24:25
Date Registered: 15 October, 2010, 04:29:49
Location: Arden, NC
Posts: 3705


Total Post Ratings: +260

View Profile
« Reply #8 on: 08 September, 2011, 01:50:59 »
0

It will be awesome to have limit solver in ti84 Smiley
Logged

Project Redemption....

My project progresses:HERE
My Pastebin stuffs:HERE
Check your rate: HERE
My Animations: HERE
Spoiler for Images :D:

ノ◕ヮ◕)ノ:・゚ PENGUIN WAVE!!:„ø¤º°¨ ¨°º¤KEEP THE PENGUIN GOING ¸„ø¤º°¨ ¨°º¤øº LETS GO PENGUIN !¤¤º°¨¨°º¤øº¤ø„¸¸ø¤º°¨„ ø¤º°¨¨°º
t0xic_kitt3n
LV10 31337 u53r (Next: 2000)
**********
Offline Offline

Gender: Male
Last Login: 13 May, 2013, 01:56:35
Date Registered: 16 June, 2010, 20:46:00
Location: w,x,y,z
Posts: 1583


Total Post Ratings: +32

View Profile
« Reply #9 on: 08 September, 2011, 02:07:01 »
0

Do you think it will be banned from tests if a CAS actually gets completed?
Logged




██████  ██  ██  ███████           ████    ██    ██   ██ ███████
█ ██ █  ██  ██   ██   █          ██  ██  ████   ███ ███  ██   █
  ██    ██  ██   ██             ██   ██ ██  ██  ███████  ██    
  ██    ██  ██   ██  █         ██       ██  ██  ███████  ██  █
  ██    ██████   █████         ██       ██  ██  ██ █ ██  █████ 
  ██    ██  ██   ██  █         ██   ███ ██████  ██   ██  ██  █
  ██    ██  ██   ██             ██   ██ ██  ██  ██   ██  ██    
  ██    ██  ██   ██   █          ██  ██ ██  ██  ██   ██  ██   █
 ████   ██  ██  ███████           █████ ██  ██  ██   ██ ███████

BalancedFury
LV8 Addict (Next: 1000)
********
Offline Offline

Gender: Male
Last Login: 08 July, 2012, 18:33:02
Date Registered: 08 September, 2011, 02:29:48
Location: At home :D
Posts: 722


Total Post Ratings: +27

View Profile
« Reply #10 on: 08 September, 2011, 02:37:01 »
0

What's CAS?
Logged

Antonio Nam = DualBLDR = Tony Arthur... U choose!





JOIN THE PETITION TO ADD THIS EMOTICON!!
[|:{P ------->


Yo dawg I herd u lost the game game so I coded the game game in your calc so you can lose the game game while you code your code about losing the game game.
pianoman
LV6 Super Member (Next: 500)
******
Offline Offline

Gender: Male
Last Login: 20 October, 2011, 04:23:28
Date Registered: 21 May, 2011, 19:13:57
Location: You can know that my current velocity is about 0 m/s.
Posts: 427


Total Post Ratings: +24

View Profile
« Reply #11 on: 08 September, 2011, 02:51:54 »
0

Do you think it will be banned from tests if a CAS actually gets completed?
I don't think so, and even so, IMHO, it's high time that all the major tests learn to accept the CAS system. I know that in the US, only one major test doesn't allow the CAS, and it really doesn't affect the scores much at all, according to some studies about it.
ANyways, good luck with this Cheesy
Logged

willrandship
Omnimagus of the Multi-Base.
LV11 Super Veteran (Next: 3000)
***********
Offline Offline

Gender: Male
Last Login: 17 June, 2013, 05:14:49
Date Registered: 11 April, 2010, 03:08:32
Location: Between Venus and Mars
Posts: 2651


Total Post Ratings: +65

View Profile
« Reply #12 on: 08 September, 2011, 03:19:32 »
0

I've taken the ACT a few times now, and a CAS would accomplish absolutely nothing on the test. You have to understand how to do the problem to be able to type it in, and typing it in is so slow, it's significantly faster to do in your head.
Logged

LincolnB
Check It Out Now
LV9 Veteran (Next: 1337)
*********
Offline Offline

Gender: Male
Last Login: 20 May, 2013, 05:36:22
Date Registered: 02 May, 2011, 00:56:28
Location: Utah Valley
Posts: 1114


Total Post Ratings: +121

View Profile
« Reply #13 on: 08 September, 2011, 04:44:26 »
0

What's CAS?

A CAS is a type of program, it stands for Computer Algebra System. Basically it let's you type in stuff like 2X=6 (and obviously much more advanced stuff) and have it solve for variables and other such math functions.
Logged

Completed Projects:
   >> Spacky Emprise   >> Spacky 2 - Beta   >> Fantastic Sam
   >> An Exercise In Futility   >> GeoCore

My Current Projects:

Projects in Development:
In Medias Res - Contest Entry

Talk to me if you need help with Axe coding.


Spoiler for Bragging Rights:
Not much yet, hopefully this section will grow soon with time (and more contests)


AngelFish
This is my custom title
Administrator
LV12 Extreme Poster (Next: 5000)
*
Offline Offline

Gender: Male
Last Login: Today at 01:08:43
Date Registered: 15 August, 2010, 09:18:54
Posts: 3192


Total Post Ratings: +222

View Profile
« Reply #14 on: 08 September, 2011, 07:22:09 »
0

It will be awesome to have limit solver in ti84 Smiley

I see no particular reason why that couldn't be done, even in BASIC.
Logged

∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ
Pages: [1] 2   Go Up
  Print  
 
Jump to:  

Powered by EzPortal
Powered by MySQL Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Powered by PHP
Page created in 0.858 seconds with 31 queries.
Skin by DJ Omnimaga edited from SMF default theme with the help of tr1p1ea.
All programs, games and songs avaliable on this website are property of their respective owners.
Best viewed in Opera, Firefox, Chrome and Safari with a resolution of 1024x768 or above.