©   JE Laughery

 

 

INT48pro labcad v1.53b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ã by Jeremy Eli Laughery

P.O. Box 37414 Pensacola, Florida

Phone 850 983 2042 • Email jel3@students.uwf.edu

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Preface. 5

Copyrights and Restrictions.. 7

Introduction.. 8

About INT48pro.. 8

Future of INT48pro.. 8

What is INT48pro labcad?. 9

Why INT48pro labcad?. 10

How does INT48pro differ from other packages?. 10

Advantages and Drawbacks of INT48pro labcad.. 10

Requirements to use INT48pro labcad.. 10

Advanced Search Technology – AST™... 11

What is AST™?. 11

How is AST™ used in INT48pro?. 11

Symbolic Manipulation Application Reuses Tables – SMART™ form... 11

What is SMART™ form?. 11

How is SMART™ form used in INT48pro?. 11

Semi-Dynamic Structure SDS™... 11

What is SDS™?. 11

How is SDS™ used in INT48pro?. 11

Special Thanks and Thanks.. 12

Special Thanks to.. 12

Thanks to.. 13

Installation.. 14

Commands of INT48pro and Their Usage. 15

Simplification.. 16

INTSIM... 16

Symbolic Calculus. 17

Derivatives 17

Integration. 17

Multiple Integration. 17

Symbolic Integral Transformations. 18

Fourier transforms 18

Inverse Fourier transforms 18

Fourier Series 18

Laplace transforms 18

Inverse Laplace transforms 18

Z–transforms 19

Inverse Z–transforms 19

Symbolic Coordinate Transformations. 20

Rectangular to Spherical 20

Rectangular to Cylindrical 20

Spherical to Cylindrical 20

Symbolic Vector Calculus. 21

Divergence of A.. 21

Curl of A.. 21

Gradient of a scalar V.. 21

Laplacian of a scalar V.. 21

Dot product 21

Cross product 21

Symbolic Orthogonal Polynomials. 22

Legendre 22

Tchebysheff, First kind. 22

Tchebysheff, Second kind. 22

Jacobi 22

Laguerre 22

Hermite 22

Symbolic Trigonometry.. 23

Trigonometric conversions 23

Power reduction of SIN.. 23

Power reduction of COS. 23

Trigonometric to Exponential conversion. 23

Exponential to Trigonometric conversion. 24

Collection of exponential expressions 24

Expansion of exponential expressions 24

Trigonometric to Hyperbolic Exponential conversion. 24

Trigonometric conversion to only SIN and COS. 25

Trigonometric conversion to only SINH and COSH.. 25

Trigonometric conversion to only SIN.. 25

Trigonometric conversion to only COS. 25

Hyperbolic Trigonometric conversion to only SINH.. 25

Hyperbolic Trigonometric conversion to only COSH.. 25

Algebra.. 26

Association of left term.. 26

Association of right term.. 26

Distribution of left term.. 26

Distribution of right term.. 26

Merging of left term.. 26

Merging of right term.. 26

Special Functions. 27

Symbolic half-order Bessel Function. 27

Utilities. 28

Benchmarking your programs 28

Checking the data type 28

Examples Using INT48pro’s Commands.. 29

Simplification.. 29

INTSIM... 29

Symbolic Calculus. 30

Differentiation. 30

Integration. 30

Symbolic Integral Transformations. 31

Laplace transforms 31

Inverse Laplace transforms 31

Z–transforms 32

Symbolic Coordinate Transformations. 34

Symbolic Vector Calculus. 35

Divergence 35

Curl 35

Gradient 35

Laplacian. 36

Symbolic Orthogonal Polynomials. 37

Symbolic Trigonometry.. 38

Algebra.. 40

Special Functions. 41

Utilities. 42

INT48pro labcad Table Set.. 43

Symbolic Integration.. 43

Rational Integrands 43

Irrational Integrands 44

Trigonometric Integrands 45

Inverse Trigonometric Integrands 46

Hyperbolic Integrands 47

Inverse Hyperbolic Integrands 48

Exponential Integrands 49

Logarithmic Integrands 50

Other Integrands 50

Symbolic Integral Transformations. 51

Fourier Transforms 51

Inverse Fourier Transforms 51

Laplace Transforms 51

Inverse Laplace Transforms 52

Z–Transforms 56

Inverse Z–Transforms 56

Bugs and Limitations.. 57

Bugs. 57

Limitations. 58

References.. 59

 


Preface

 

The HP48GX was first introduced to me by a good friend of mine named Rocky Welch back in 1994.  I watched him do calculus and algebra on it and thought “I would love to have one of those when I get into calculus!”  I used my trusty Sharp until I baught an HP48G in 1996 for calculus II and III class.  I realized very quickly that the HP48G was not going to be enough for me so I scrounged up enough money for the HP48GX I own today.  I found myself sadened by the fact that students who owned the TI92 had an advantage over me and the HP48.  Not bothered by that, I continued on with my studies to later find that the HP48G/GX would not have the power  needed for higher level mathematics as the TI92 had.  This was devistating come test-time, I thought, because the HP48 has a tiny table set but the TI92 has something more powerful that can do many more things.  Continuing on with my studies and sticking with my HP48, I developed more and more ambition to make it even better and more powerful.  The HP48GX is the first real experience of programming I had ever had before learning the C language.  Still, the HP48GX did not suit my needs so I had to put a 1Meg RAM card in slot two and a homemade 128K RAM card in slot one.  “Great!” I thought to myself  “I’m fit for anything now”.   I went through a lot of hard work to make that RAM card back in 1997 by the way.  Now I was ready to program and develop.  The only thing was that I did not know where to begin; I never learned to program on the HP48 yet.  I searched newsgroups for about three years while collecting Jazz and ALG48 then Erable and many others.  I still did know where to begin programming so I looked into the manual of the HP48 and downloaded HP’s programming guide and was disappointed because that was for someone that already knew how to program.  So, I got Mika Heisaknan’s book which helped ten-fold.  I found Eduardo Kalinowski’s book that I looked at and used everyday for programming in RPN.  I finally learned a little RPN and thought that was it; I learned how to program in RPN and that was all I would ever need.  Still, with better symbolic integration and higher mathematics in mind I saught ways to do the symbolic integration on the HP48 and could not do it.  I gave up on that then wrote some other programs just to better learn RPN.  I wrote a security program that no one ever seen and was cool too.  I lost that program when trying something called system RPL with JAZZ as the editor.  I finally picked up some SYSPRL but not enough to do much.  I wrote Exhackt and released it to the public around 1998 and was very proud that I could do that work; I invented the process that Exhackt uses but borrowed a routine from Mika Heisaknan’s QPI with permission.  With the urge to push on to make the HP48 the best, I picked up a calculus book and looked in the back at some tables.  I wondered about those tables a bit and set the book back down.  I ran across Laplace transform tables then Z-tranform tables.   I thought to myself  “I’ll study these tables to see if there is a way to implemt them into the HP48”.   INT48 was born several months later and was released to the public in 1999.  I continued to update the tables until the biggest urge finally hit me.  I went home and tried new ideas with several commands on the HP48 to find that automatic integration by tables was possible!.  Working hard to implement the first concept version in RPL, I found that it was too slow to be useful.  I wondered if system RPL would work so I tried it.  I got even better results the next time after crashing my calculator about one-hundred times or so in the process.  I realized that I had something great here and was very excited.  “Now, I have to gather my thoughts and find out what I have to do get this thing working”, I said to myself.  Day-in and day-out I programmed, crashed and learned over and over again until I got better and more organized at what I was doing.  I named my first working version after INT48, INT48pro and let the world know what I was up to.   Everyone already liked INT48 but wondered if INT48pro would ever make it to the public.  I told everyone that INT48pro would be realeased soon only to have the release date pushed further into the future due to other setbacks.  I rebuilt INT48pro several times until I got it right.  Along the way, I designed other routines that I


 

 

 

 

 

 

 

 

thought would be useful to everyone.  In January 2000, I had accomplished much of the work that needed done so I thought.  I had to augment the reorder routine RORD of ALG48 for ALG48 to be useful to INT48pro.  “Too slow still!”, I thought to myself.  The way I had my tables set up was causing a big slow-down.  By the middle of 2000, I found the new name for INT48pro once and for all; I called it INT48pro labcad. Labcad is short for Laboratory Caddy.   I sat up day and night wondering how I could fix the tables so that they would be fast enough to be useful.  I took discrete mathematics courses the year before so out pops ideas from discrete math.  I tried my new ideas and to my surprise, I had a faster integration utility yet!.  A new concept was born called Advanced Search Technology – AST™.   With Symbolic Manipulation Aplication Reuses Tables – SMART™ form and AST™, I had a powerful integration utility ready to reach the public I thought to myself.  “Now, it is time to enhance INT48pro labcad and clean it up”,  I said to myself.  The latter part of the year 2000 is when I picked up assembler and looked at Fernandes Henri Gilbert’s assembler book for a second time.  I have never gotten so deeply involved with programming in my entire life.  With assembler, I wrote routines and wrote brand new ones to replace old ones.  I found a major speed increase with assembler and was very satisfied with the results.   Releasing INT48pro labcad 1.3a to the public in December of 2000 was a big step into the future of INT48pro.  Semi-Dynamic Structure – SDS™ was another major implementation and design by me after the first several releases of INT48pro labcad.  I took software engineering classes a year ago and find that I have discovered an object-oriented nature of explicit expressions. Today, I am writing this manual while finding better ways to make INT48pro more powerful yet.  With professional documentation and more experience in programming, INT48pro will become an even bigger project to manage.   Because I share with people, I am sharing INT48pro labcad with you, the public, and hope you enjoy this work as much as I do creating it and sharing it.                                       

 

Copyrights and Restrictions

 

INT48pro labcad v1.53b, Copyright © 2000-2001, by Jeremy Eli Laughery.  All Federal and International Rights Reserved.   Jeremy Eli Laughery grants you the right to use this copyrighted program contained in this directory in Hewlett-Packard 48G/GX/G+ calculators and to share it with others as long as you receive no compensation for doing so.  If you share this copyrighted program with others, you must include this notice with the program.

 

The author of INT48pro labcad is in no way liable for any damages due to the use of his program. No part of this program may be used in any commercial product without proper permissions “written and verbal” by the author of INT48pro labcad.

 

 

 

 

 

          The copyright law of the United States (Title 17, United States Code) governs the making of photocopies or other reproduction of copyrighted material.

 

 

                Under certain conditions specified in the law, libraries and archives are authorized to furnish a photocopy or other reproduction.  One of these specified conditions is that the photocopy or reproduction is not to be used for any purpose other than private study, scholarship, or research. If a user later uses a photocopy or reproduction for purposes in excess of  "fair use," that user may be liable for copyright infringement.

 

 

                                                                                               


Introduction

 

 

About INT48pro

·  INT48pro was written and developed by Jeremy Eli Laughery.

 

·  Written in 30% assembler, 50% PCO and 20% SYSRPL.

 

·  INT48pro can search over 1000 forms in less than a second!

 

·  INT48pro has what I call Symbolic Manipulation Application Reuses Tables

    SMART™  forms which is a recognition system designed by Jeremy Eli Laughery

    allowing smaller table sizes and the same power! SMART™ forms recognizes shifts

    and multiples of ID_X when doing LAP and Z-trans only at this time. This feature will

    be improved in the future to extend the already powerful features.

 

·  INTEGRATION handles about 170 forms at this point.

 

·  LAPLACE handles about 130 forms at this point.

 

·  ILAP handles 40 forms at this point.

 

·  Z-trans handles about 120 forms at this point.

 

·  Size is 75K Bytes with all modules installed.

 

·  I plan for INT48pro to be written in 100% assembler when completed.

 

·  Source is not available at this time.

 

 

Future of INT48pro

·  Advanced Search Technology AST™ developed by me can search tables upto twice as

    fast.

 

·  Fix and complete the INTEGRATION tables.

 

·  Implement Semi-Dynamic Structure SDS™.

 

·  Add more LAPLACE, ILAPLACE and Z tables.

 

·  Add INVZ, FOURIER and IFOURIER tables as libraries of their own.

 

·  Add FSeries Fourier Series  tables as a library.

 

·  Learn more assembler.

 

 

 


 

 

What is INT48pro labcad?

INT48pro labcad is an attempt to replace the HP48G series integration routines and to provide other high level mathematics for the HP48G family of scientific/graphing calculators user.  INT48pro was “invented” and “developed” by Jeremy Eli Laughery.  Explicit expressions such as those found in integration and integral transformations like Laplace and Z transforms lend themselves to the object-oriented paradigm of software development.  INT48pro labcad takes advantage of the object-oriented nature of explicit expressions to provide a high-level heuristic front-end with  structure needed for speed, reliability and versatility in today’s mathematical world.  Using theorems from discrete mathematics and software engineering, I found that symbolic data can be input, processed then output to the user as useful symbolic data at very high speeds.  A flow diagram below shows the basic structure and flow of data that is input, processed then output to the user.

 

       

         flow diagram

 

raw data input

This is the data that is fed to the simplification and reorder routines as a meta object after determining that the raw data is symbolic and forcing it to be symbolic if not.

           

process

This is a gray area due to the fact that we are processing data and will not know if we have symbolic output that we expect until the data reaches the green area. Thus, the gray area has many stages and must perform each at very high speeds for INT48pro to be useful.

 

            formed symbolic output

                        This is the symbolic output to the user that may or may not be what is expected.  The new

reformated symbolic data is then presented back to the user.

 

 

The scope of this documentation is to provide a basic understanding of INT48pro labcad and will not cover its internal structure in this version.  However, there will be a complete document describing INT48pro’s internal structure and layout with source code in a later document.   

                            

 

 

 

 


 

 

Why INT48pro labcad?

INT48pro is needed for tighter mathematical control, meaning that we need more symbolic power incorporated into the HP48 computer algebra system.  With INT48pro students, scientists and engineers will have a fast, reliable and versatile analysis tool for high-level mathematics.

 

 

How does INT48pro differ from other packages?

INT48pro labcad is an object oriented approach to high-level mathematics for the RPN

( Reversed Polish Notation ) or just PC ( Post-operation of Commands ) calculator and is the first of its kind implemented on the HP48G series of scientific/graphing handheld computers.  In fact, INT48pro is the first of its kind to perform symbolic integration by tables in RPN.  INT48pro is faster at many symbolic computations, in most cases, than any other symbolic mathematics application performing the same routines on similar platforms.  INT48pro is upgradeable speed-wise and program-wise and is highly portable to other platforms such as the HP48S series scientific/graphing calculator and the HP49G scientific/graphing calculator.

 

 

Advantages and Drawbacks of INT48pro labcad

This is the can and can’t do section of INT48pro.  INT48pro can recognize and provide solutions for many systems.  However, INT48pro can solve only those systems that are built into its table sets.  In the future, INT48pro will take on a more dynamic characteristic due the object-oriented nature of many explicit expressions.

 

 

Requirements to use INT48pro labcad

INT48pro requires ALG48 4.2 be installed on the HP48G series ROM version R only at this time.  INT48pro uses only the FCTR, RORD, RSIM and PF commands of ALG48.  You should have at least a 128K RAM card in slot one or two of the HP48GX or upgrade the HP48G or G+ with 128k of RAM to have enough user RAM after installing ALG48 and INT48pro. You will also need to install the libraries shipped with the zipped file to access the integration, Lapalace and Z-transform features of INT48pro. Last but not least, you should send me an email and let me know if you like INT48pro and its documentation as well as suggest changes to the program and documentation.

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

Advanced Search Technology – AST™

                        What is AST™?

Advanced Search Technology gives INT48pro its powerful feature of speed.  INT48pro can search over 1000 tables in less than one second.  AST™ was “invented” and “developed” by Jeremy Eli Laughery and is a trademark of INT48pro labcad.

How is AST™ used in INT48pro?

AST™ is implemented using the object-oriented paradigm of software engineering methods as well as other aspects of computer science.

 

 

Symbolic Manipulation Application Reuses Tables – SMART™ form

What is SMART™ form?

SMART™ form gives INT48pro labcad its powerful feature of saving space and abilities in Laplace and Z-Transforms.  SMART™ form was “invented” and “developed” by Jeremy Eli Laughery and is a trademark of INT48pro labcad.  SMART™ form is used to manipulate symbolic objects to reuse tables of Laplace and Z transforms recognizing shifts and differentiation in frequency.  SMART™ form will be extended in the future to recognize shifts in time when doing both inverse Laplace and Z transforms.

                        How is SMART™ form used in INT48pro?

SMART™ form uses all the features of AST™ and reuses INT48pro’s table sets as well.

 

 

Semi-Dynamic Structure SDS™

                        What is SDS™?

SDS™ is an application that incorporates all the features of AST™ and SMART™ form.  SDS™ was “invented” and “developed” by Jeremy Eli Laughery and is a trademark of INT48pro labcad.  Many times, expressions of integration or integral transformations have common denominators.  Time and space are saved with SDS™ due to the fact that the denominator is split from the numerator at the end of the format ( post-format ) procedure then each term is searched in the tables instead of splitting each term of the numerator from the denominator before the format

( pre-format ) procedure then searching for the solution of every expression. SDS™ is implemented for inverse Lapalce transforms only at this time but will be extended in the future to include all other integral transformations.

How is SDS™ used in INT48pro?

SDS™ is used much the same way as AST™ and SMART™ form but with some minor modifications to the format routines to make SDS™ possible.  SDS™ incorporates both AST™ and SMART™ form.


Special Thanks and Thanks

Special Thanks to

 

Hewlett Packard HP48G Series Development Team    

• Super-powerful BCD Saturn CPU.

• Manuals: SYSRPL and ML

         

Eduardo Kalinowski          

• Manuals: SYSRPL and ML

 

            Fernandes Henri Gilbert  

• Manuals: Introduction to Saturn Assembly Language

 

            Eric Rechlin                       

• Manuals: Introduction to Saturn Assembly Language

 

            Mika Heiskanen                

                        Manuals: SYSRPL and ML

                        ALG48:   PF, RORD, FCTR, and RSIM command

                        JAZZ:     Programming and debugging for SYSRPL and ML

 

            Claude-Nicolas Fiechter   

• ALG48: PF, RORD, FCTR, and RSIM commands

 

            Raymond Hellstern            

• Apndvarlst: Routine in ML used to search lists.

 

            Detlef Mueller                    

• Apndvarlst: Routine in ML used to search lists.

 

            Author of GZ                    

• Compression utility: Used to compress tables.

 

 

 

 

 

 


Thanks to

 

                   Hewlett Packard HP48G Series Development Team:   

            Excellent internal software

                        All that use INT48pro

                        Eduardo Kalinowski

                        Bernard Parisse

                        Mika Heiskanen

                        Eric Rechlin

                        Raymond Hellstern

                        Detlef Mueller

                        Esra Neufeld

                        Camillo Toselli

                        William Storey

                        Many Many Others


Installation

 

This section explains how to install INT48pro on the HP48G family of calculators. Assuming that you have little knowledge of the HP, the following guidelines should suffice. 

 

  1. Get a KERMIT program or a program that will transfer data to the HP.
  2. If you have less than 60K of RAM, you will need to clear all RAM of the HP. Make sure the port is open if you use a RAM card in port one or two.

 

To clear all RAM: Press ON–A–F (at the same time) then answer NO to

       “TRY TO RECOVER MEMORY?”

 

  1. Prepare the HP48 to receive data from a remote source.
  2. Transfer the file INT48pro to the HP.
  3. With the library on stack level one, press the port number you wish to install to then press the STO key to attach the library to the HOME directory.
  4. Restart the HP by pressing ON–C (at the same time).
  5. Follow steps 5 and 6 for all other libraries, shipped with INT48pro, you wish to install.
  6. Obtain, then install ALG48 by following the instructions provided by its authors.

 

The folowing is a list of libraries shipped with INT48pro:

  1. INT48pro              this is the main library
  2. Integr                     this is the integration tables
  3. Laplace                 this is the Laplace and inverse Laplace transform tables
  4. Ztrans                    this is the Z–transform tables           
  5. Orth                        this is the orthogonal polynomials routines

 


Commands of INT48pro and Their Usage

 

Input and Error Checking

 

INT48pro has a new feature that allows error checking be done in 100% ML.  You may choose to have nothing on the stack before pressing any of the commands below to invoke a user-friendly screen that gives the argument type and stack level expected for each command as well as the command’s details in most cases. The new user-friendly screen will also be invoked if not enough or the wrong arguments are on the stack. See below for an example.

                               

 

 


Simplification 

 

INTSIM

With this powerful command, you may perform pre-simplification of an expression on stack level two reordering it with respect to a variable on stack level one.  This command calls a special routine designed by Jeremy Laughery and is written in 30% assembler applying RSIM and RORD from ALG48 (with other reorder routines designed by Jeremy Laughery) whenever possible. The following is a sample of menu fields available when invoked by the command INTSIM.

                              

                       

            Factor

This command calls FCTR (factor) of ALG48 then reorders an expression with respect to

a variable on stack level one.

 

PFraction

This command calls PF (partial fractions) of ALG48 then reorders an expression with respect to a variable on stack level one.

  

            Rational

This command calls RSIM (rational simplification) of ALG48 then reorders an expression with respect to a variable on stack level one.

 

            Reorder y/Xpnd

This command reorders an expression with respect to a variable on stack level one before reordering each expression merged by ( + ) plus or  ( - ) minus.

                                                 

Reorder n/Xpnd

This command reorders each expression with respect to a variable on stack level one merged by ( + ) plus or  ( - ) minus.


Symbolic Calculus

                               

Derivatives

SDER

You can find symbolic derivatives with INT48pro and keep the result symbolic because INT48pro returns only symbolic results using the power of the internal derivative engine to do the hard work.

 

 

Integration

                        òƒdx

You can perform integration of many functions that are not natively solved by the HP48.

 

 

 

Multiple Integration

ò ò ò

Perform multivariable integration of an equation on stack level two with respect to a list of variables on stack level one.  near future

 

 


Symbolic Integral Transformations

 

Fourier transforms            

                                Fourier                        

Later version

                           

                Inverse Fourier transforms

                IFourier                       

Later version

                       

Fourier Series

            FSeries                        

Later version

 

Laplace transforms

LAP

Find Laplace transforms of many functions encountered in science, engineering and physics.

 

 

Inverse Laplace transforms

ILAP

Find the inverse Laplace transform given an equation in the frequency domain for many systems.

 

 

 

 

 

 

 


Symbolic Integral Transformations

 

Z–transforms

                        Z-trn

Find the Z–transform of many time-domain functions used in controls engineering, physics and more.           

 

 

Inverse Z–transforms

                IZ-trn                        

Later version

 

 

 

 


Symbolic Coordinate Transformations

         

Rectangular to Spherical   

                        X«r

Use this command to transform a rectangular system into a spherical system or a spherical system into a rectangular system.

 

Rectangular to Cylindrical

                                X«r

Use this command to transform a rectangular system into a cylindrical system or a cylindrical system into a rectangular system.

 

Spherical to Cylindrical 

            r«r

Use this command to transform a cylindrical system into a spherical system or a spherical system into a cylindrical system.

           

 


Symbolic Vector Calculus

 

Divergence of A

                                Ñ·A

Use this command to find the symbolic divergence of a vector A.

List on 2:  List on 1:  -> List

 

Curl of A

            ÑxA

Use this command to find the symbolic curl of a vector A.                      

List on 2: List on 1:  -> List

 

Gradient of a scalar V

            Ñ¢V

Use this command to find the symbolic gradient of a scalar V.    

Expression on 2:  List on 1: -> List

 

Laplacian of a scalar V

            Ñ¢¢V

Use this command to find the symbolic Laplacian of a scalar V.

Expression on 2:  List on 1: -> List

 

Dot product

                        Sym·

Later version

 

Cross product

                        Symx

Later version

 

 

 

 


Symbolic Orthogonal Polynomials

 

Legendre

Tchebysheff, First kind

                Tchebysheff, Second kind

                Jacobi

                Laguerre

            Hermite

                       

All orthogonal commands are accessible by the interface similar the one below.

           

 


Symbolic Trigonometry

 

Trigonometric conversions

SCT

Converts SEC, CSC, COT, SECH, CSCH, COTH, ASEC, ACSC, ACOT, ASECH, ACSCH and ACOTH to SIN, COS and TAN etc.

 

 

Power reduction of SIN

                ¯SIN                   

Reduces powers of SIN to linear powers and combinations of SIN and COS.  50% assembler.

 

 

Power reduction of COS

                        ¯COS             

Reduces powers of COS to linear powers and combinations of SIN and COS.  50% assembler.

 

                       

Trigonometric to Exponential conversion

            ®EXP                        

Converts sinusoids to exponentials.  20% assembler.

           

                       

 

 


Symbolic Trigonometry

 

Exponential to Trigonometric conversion

EXP®                         

Converts exponentials to sinusoidals.

 

 

Collection of exponential expressions

­EXP                      

Pushes exponentials out of the denominator and into the numerator whenever possible, reduces powers of exponentials by multiplying the argument of EXP by its power then collects multiple exponentials by adding their arguments. 100% PCO/ML

 

 

Expansion of exponential expressions

                        ¯EXP                  

Expands exponentials by splitting their arguments merged by ( + ) or ( - ) into single arguments then applies symbolic EXP to each.

 

 

Trigonometric to Hyperbolic Exponential conversion

                        ¯EXPH                       

Converts all sinusoids to EXPH.  Later version

 

 

 


Symbolic Trigonometry

 

Trigonometric conversion to only SIN and COS

                        SINCOS                    

Converts all sinusoids to SIN and COS only.

 

Trigonometric conversion to only SINH and COSH

                        SCHYP                      

Converts all hyperbolic sinusoids to SINH and COSH only.

 

 

Trigonometric conversion to only SIN

                        ®SIN                        

Converts all sinusoids to SIN only.

 

 

 

Trigonometric conversion to only COS

                        ®COS                       

Converts all sinusoids to COS only.

 

 

Hyperbolic Trigonometric conversion to only SINH

                                ®SINH                      

Converts all hyperbolic sinusoids to SINH only.

                       

 

Hyperbolic Trigonometric conversion to only COSH

            ®COSH                    

Converts all hyperbolic sinusoids to COSH only.

 

 


Algebra

         

All algebra commands will be available in the near future.

                       

Association of left term

                        AL

 

Association of right term

                        AR

 

                Distribution of left term

                        DL

 

            Distribution of right term

                                DR

 

            Merging of left term

                        ML

 

            Merging of right term

                        MR


Special Functions

         

Symbolic half-order Bessel Function

                        J1/2 ± n

This command is used to obtain the symbolic spherical Bessel function and is used to solve many differential equations as well as some inverse Laplace transforms built into INT48pro’s table set.

 

 

 


Utilities

 

Benchmarking your programs

                                BMRK

This is a benchmark program I wrote for the timing of all INT48pro commands.  Put the command inside delimiters << command >> then press BMRK to run.

 

            Checking the data type

                        Type

This command returns the data type of the data on stack level one as a name rather an integer of the data type to stack level one.

 

 


Examples Using INT48pro’s Commands

 

Simplification 

         

            INTSIM

You can simplify expressions with INT48pro using the INTSIM command.

                

Ex: 

 wrt ‘t’

                         After INTSIM Rational ® .

                        All commands available for simplification are:

 

            Factor

PFraction

            Rational

            Reorder y/Xpnd

Reorder n/Xpnd

 

 

 


Symbolic Calculus 

 

          Differentiation

                        SDER

You can take symbolic derivatives with INT48pro.  This comand uses the built-in power of the HP48GX and is augmented by my routines to preserve symbolic meta objects and are semi-simplified i.e. powers of ‘i’ are not collected.  More examples of this command will follow in a later version of INT48pro.

 

Integration

                        òƒdx

This command lets you perform integration of 170 or so different integration forms and all linear combinations of those forms.

 

You can integrate these equations for example:

 

Ex:

     wrt ‘t’                     where n is real, (even or odd)

 

            Ex:

  wrt ‘t’                      where n is real, (even or odd)

           

            Ex:

 wrt ‘t’

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Symbolic Integral Transformations 

 

Laplace transforms

                        LAP

This command lets you perform Laplace transforms of 130 or so different forms and all linear combinations of those forms.

 

                                    You can take Laplace transforms that use SMART™ form.

                Ex:

wrt ‘t’              shift in frequency

 

            Ex:

   wrt ‘t’              differentiation and shift

                                            in frequency

 

 

 

You can find the inverse Laplace transform with INT48pro.

 

Inverse Laplace transforms

                 ILAP

This command lets you perform inverse Laplace transforms of 40 or so different

                                 forms and all linear combinations of those forms.

 

                       

            Ex:

  wrt ‘s’                              where n is real and positive    

This example uses the symbolic half-order Bessel function.

           

            Ex:

  wrt ‘s’

 

            Ex:

  wrt ‘s’                          where n is real and positive

                                               


Symbolic Integral Transformations 

                                     

Ex:

                                                           

  wrt ‘s’

 

            Ex:

  wrt ‘s’                          where n is real and positive

 

Ex:

   wrt ‘s’

 

With semi-dynamic structure SDS™, you can take inverse Laplace transforms of even more complex equations in the frequency domain.

 

Ex:

 wrt ‘s’                           where n is real and positive

                                               

 

Ex:

  wrt ‘s’

 

 

Z–transforms

                Z-trn

                                    This command lets you perform Z–transforms of 120 or so different forms

                                and all linear combinations of those forms.

 

           

 

 

 

 

 

 


Symbolic Integral Transformations 

 

You can find the Z–transform using SMART™ forms:

 

                Ex:

                           wrt ‘t’            shift in the Z domain

 

            Ex:

 

                         wrt ‘t’            differentiation and shift

                                                                                    in the Z domain

 

 

 


Symbolic Coordinate Transformations 

 

You may perform symbolic coordinate transformations with INT48pro. There are only three commands to do all six conversions!

               

X«r, X«r and r«r 

                               

note: the double-arrow means to and from.

 

                This is how you would use each command:

               

                Coordinate Transformations 101

 

                                Think of the three most commonly used coordinate systems as a tri-cycle.

                You can move from one coordinate system to another from anywhere you are.

 

X, Y, Z

|

+

/     \

r, f, Z       r, q, f

 

I use the + symbol to denote a relationship with each system. You can replace the + symbol with      the current state ( coordinates ) the system is represented by. The algorithms used in INT48pro 

                implement my methodology of transformations.

               

                end of class :)

 

 

1. Put a list on the stack with the equations that represent the system.

Ex: { X Y Z }

2. Put a list on the stack that represents the state you are in i.e. the present coordinates. from the

    first step, we will use { X Y Z }; the state (coordinates) we are in.

3. Press the command of the conversion you would like to perform.

Ex: I want to transform my system into { r, q, f } coordinates so I would press the

       command X«r .

 

 

solution after RSIM is applied:

 

X: r          = r*sin(q)^2*sin(f)^2+r*sin(q)^2*cos(f)^2+r*cos(q)^2

Y: q         = r*sin(q)*sin(f)^2*cos(q)+r*sin(q)*cos(q)*cos(f)^2-r*sin(q)*cos(q)

Z: f          = 0

 

  

 

To go back to the X,Y, Z system put {r q f} on the stack and press X«r again then use RSIM to simplify.

 


Symbolic Vector Calculus

 

You can perform symbolic divergence, curl, gradient and Laplacian math with INT48pro.

           

Divergence

                                1. Put a list with the expressions that represent the system onto stack level 1.

                                             Ex: { X2 Y2 Z2 }

                                2. Put a list on the stack that represents the state you are in i.e. the present coordinates.

    From the first step, we will use { X Y Z }; the state (coordinates) we are in.

                                3. Press the Divergence command Ñ·A.

                                                solution:

                                                                         

            Curl

                                1. Put a list with the expressions that represent the system onto stack  level 1.

                                            Ex:  { X2 Y2 Z2 }

                                2. Put a list on the stack that represents the state you are in i.e. the present coordinates.

    From the first step, we will use { X Y Z }; the state (coordinates) we are in.

3. Press the Curl command Ñ x A.

                                                 solution:

                                                                 { 0 0 0 }

                               

            Gradient

 

                                Gradient of a scalar field 101

 

                                The gradient of a scalar field is a vector.

 

                                1. Put an expression that represent the system onto stack level 1.

                                             Ex:   X2 + Y2 + Z2

                                2. Put a list on the stack that represents the state you are in i.e. the present coordinates.

                                    From the first step, we will use { X Y Z }; the state (coordinates) we are in.

                                3. Press the Gradient command  Ñ’V.

                                                 solution:

                                                               

 

               

 

 

 

 

 

           

 

 


Symbolic Vector Calculus

 

Laplacian

 

                       Laplacian of a scalar field 101

 

                                The Laplacian of a scalar field is a scalar.

 

                                1. Put the expression that represent the system onto stack level 1.

                                             Ex:   X2 + Y2 + Z2

                                2. Put a list on the stack that represents the state you are in i.e. the present coordinates.

                                    From the first step, we will use { X Y Z }; the state (coordinates) we are in.

                                3. Press the Laplacian command Ñ’’V.

                                                 solution:

                                                                6 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Symbolic Orthogonal Polynomials 

 

You may obtain orthogonal polynomials with INT48pro by using an interactive menu. The following orthogonal polynomial relations may be found:

                       

Legendre(n, ID_X)

                                    this needs n and ID_X on the stack or it will crash!

                        Chebysheff, First kind(n, ID_X)

                                    this needs n and ID_X on the stack ................

                        Chebysheff, Second kind(n, ID_X)

                                    this needs n and ID_X on the stack.....................

                        Jacobi(a, b, n, ID_X)

                                    this needs a, b, n and ID_X on the stack................

                        Laguerre(a, n, ID_X)

                                    this needs a, n and ID_X on the stack...................

                        Hermite(n, ID_X)

                                    this needs n and ID_X on the stack.......................

 

 


Symbolic Trigonometry 

 

You can perform trigonometric math with INT48pro labcad.

           

                        SCT

With this powerful command, you can transform any trigonometric expression into  SIN, COS and TAN only.

                               

Ex:

                                ACOT(t) ® SCT  becomes

            Ex:

                        ACSCH(t) ® SCT becomes

               

¯SIN

                                                You can reduce powers of SIN. 

               

Ex:

                                 ® ¯SIN

                                Answer:

               

                                ¯COS

                                                This command does the same as above but with powers of COS

               

                                ­EXP

Pushes exponentials out of the denominator and into the numerator whenever possible, reduces powers of exponentials by multiplying the argument of EXP by its power then collects multiple exponentials by adding their arguments. 100% PCO/ML.

                               

Ex:

 ® ­EXP 

Answer:

           

           

 

 

 

 

 

 

 


Symbolic Trigonometry 

 

¯EXP

Expands an exponential by splitting its argument into single arguments then applies EXP to each.

 

                Ex:

                          ® ¯EXP

           

Answer:

               

 

SINCOS

                                                This command converts all trigonometric operators to SIN and COS.

               

                                SCHyp

                                                Same as above but with hyperbolics.

               

                                ®SIN

                                                Convert all sinusoids to SIN only

               

                                ®COS

                                                Convert all sinusoids to COS only

               

                                ®SINH

                                                Convert all hyperbolic sinusoids to SINH only

               

                                ®COSH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Algebra 

 

 

 


Special Functions

 

 

 


Utilities 

 

 

 

 

 

 

 


INT48pro labcad Table Set

 

Symbolic Integration

 

            Rational Integrands

                                   

"66X*^"

"6X*6^"

"66X6^*/"

"66X*6^*"

"66X6^*6+/"

"66X6^*6-/"

"6X*6X*6+/"

"6X*6X*6-/"

"66X6^*6+/"

 

 


Symbolic Integration

 

Irrational Integrands

               

"666X*+Ö/"

"66X6^*6+Ö /"

"66X6^*6-Ö /"

"6X*6X*6+Ö *"

"6X*6X*6-Ö *"

"6X*6X*6+Ö/"

"6X*6X*6-Ö /"

"6X6^*6X*6+Ö *"

"6X6^*6X*6+Ö /"

"666X*6+Ö *X*/"

"666X*6-Ö *X*/"

 

 

 

 


Symbolic Integration

 

Trigonometric Integrands

 

"66X*SIN*"

"66X*COS*"

"66X*TAN*"

"666X*TAN*/"

"666X*COS*/"

"666X*SIN*/"

"66X*SIN6^*"

"66X*COS6^*"

"66X*TAN6^*"

"6X*6X*SIN*"

"6X*6X*COS*"

"666X*SIN+6^/"

"666X*COS+6^/"

"666X*SIN*6+/"

"666X*COS*6+/"

"666X*TAN6^*/"

"6X6^*6X*SIN*"

"6X6^*6X*COS*"

"66X*SIN*6X*SIN*"

"66X*SIN*6X*COS*"

"66X*COS*6X*COS*"


Symbolic Integration

 

Inverse Trigonometric Integrands

 

"66X*ASIN*"

"66X*ACOS*"

"66X*ATAN*"

"66X*ASIN6^*"

"6X*6X*ASIN*"

"6X*6X*ACOS*"

"66X*ACOS6^*"

"6X*6X*ATAN*"

 

               

               


Symbolic Integration

 

                Hyperbolic Integrands

 

"66X*SINH*"

"66X*COSH*"

"66X*TANH*"

"6X*6X*SINH*"

"6X*6X*COSH*"

 

               

               


Symbolic Integration

 

Inverse Hyperbolic Integrands

 

"66X*ASINH*"

"66X*ACOSH*"

"66X*ATANH*"

"6X*6X*ASINH*"

"6X*6X*ACOSH*"

"6X*6X*ATANH*"

 

 

               


Symbolic Integration

 

Exponential Integrands

 

"66X*EXP*"

"6X*6X*EXP*"

"6X6^*6X*EXP*"

"666X*EXP*6+/"

"6X*6X6^*EXP*"

"66X*SIN*6X*EXP*"

"66X*COS*6X*EXP*"

"6X*6X*SIN*6X*EXP*"

"6X*6X*COS*6X*EXP*"

"66X*EXP*66X*EXP*6+/"

"6X*66X*+6^*6X*EXP*"

"66X*SIN*6X*SIN*6X*EXP*"

"66X*SIN*6X*COS*6X*EXP*"

"66X*COS*6X*COS*6X*EXP*"

"66X*6+SIN*6X*SIN*6X*EXP*"

"666X*+SIN*6X*SIN*6X*EXP*"

"66X*SIN*6X*6+COS*6X*EXP*"

"66X*SIN*66X*+COS*6X*EXP*"

"66X*6+COS*6X*COS*6X*EXP*"

"666X*+COS*6X*COS*6X*EXP*"

"66X*6+SIN*6X*COS*6X*EXP*"

"666X*+SIN*6X*COS*6X*EXP*"

 

               


Symbolic Integration

 

Logarithmic Integrands

 

                                    "66X*LN*"

                                    "66X*LN6^*"

"66X*^6LN*"

"6X*6X*LN*"

"6X6^*6X*LN*"

"66X*/6X*LN6^*"

"666X*/*6X*LN6^*"

 

Other Integrands


Symbolic Integral Transformations

 

The following is a partial integral transformation table set.  The set is partial because it would be redundant to list things that are already there but have minor modifications such as shifts and differentiation in the frequency domain.  Like the stipulations above, Const is a constant not referencing ID_X and ID_X does not reference a Const or another symbolic expression anywhere in the current directory.

 

            Fourier Transforms

                Inverse Fourier Transforms

 

Laplace Transforms

All expressions in the table below not multiplied by and/or ID_X or any combination of these multiples are found dynamically with SMART™ form.  The variable Const and ID_X has the same stipulations as above.

 


 

 

 

 

 

 

 

 

 

 

 

 

 


Symbolic Integral Transformations

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

More powerful in the future………………………..

 

 

 

 

 

Symbolic Integral Transformations

 

Inverse Laplace Transforms

                                                 

 

                             

 

                             

 

                             

 

                             

 

                             

 

                             

 

                             

 

                             

 

                             

 

                             


Symbolic Integral Transformations

 

                            

 

                                   

 

                                    , n is real and >0

 

                                    , n is real and >0

 

                                   

 

                                   

 

                                   

 

                                   

 

                                    , n is real >0

 

                                   


Symbolic Integral Transformations

                            

                                   

 

                                   

 

                                   

 

                                    , n is real and >0

 

                                    , n is real and >0

 

                                    , n is real and >0

 

                                   

 

 

                                   

 

                                   

 

                             

                                     

  

 

 

                                   

                               


Symbolic Integral Transformations

 

Z–Transforms

For all Z–transform entries below, SMART™ form is dynamically applied to find all multiples of and  or any combination.

 

           

 

 

 

 

 

 

                                               

 

 

 

 

 

More Z–transforms will be implemented in the future.

                                   

               

 

Inverse Z–Transforms

 


Bugs and Limitations

 

Bugs

 

This section explains known bugs of  INT48pro labcad and ways to work around them if possible.  All bugs will be fixed in later versions of INT48pro.

 

1.      As of now, if you try to add an internal constant to an expression without

multiplying by a constant INT48pro will error.  This will be easily fixed very soon so be patient.

 

2.      Expressions that are not integrable, differntiable or invertable do not have their arguments simplified and reformatted.  The command EXPM for example does not have its argument simplified or reformatted.  I will find a work-around for this later.

 

3.      As of this version of INT48pro, user-defined functions make INT48pro act funny and may crash the HP48.  I will find a work-around for this problem for the next version of INT48pro.









 

 

 

 


Limitations

 

As mentioned earlier, INT48pro is limited to only those expressions found in its table sets. This limitation does not mean that INT48pro cannot solve systems that are seperated by partial fraction expansion or linearly ( numerator is linearly seperated from the denominator ).  SDSÔ handles the last case which splits and applies tables to an expression if applicable.  INT48pro can handle all linear combinations of expressions found in its table sets. So, with the table sets, SMART™ form and SDS™, INT48pro labcad is a powerful analysis utility.  Please read the section on SMART™ form and SDS™ for more information.     


References