We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 23
Escuela Militar de Ingeniera
Mariscal Antonio Jos de Sucre
Materia Optimizacin Mercury 2!" #ocente $uri %amorano &raun 2!!' Mercury 2.00 manual =================== (C) Copyright 1990 Roger Schlafly. All Rights Resere!. "ortions of the soft#are (C) Copyright 19$%&$$ 'orlan! (nternational. All Rights Resere!. Author)s *ote+ ,his is a !raft of the Mercury 2.00 manual- an! #as the latest ascii ersion. .nce ( typeset it- it no longer /ecame practical to up!ate this ersion. Registere! copies of Mercury come #ith a 90 page typeset manual #hich is more complete an! has fe#er errors. Contents &&&&&&&& 1. (ntro!uction 0eatures 1istory Share#are policy 2isclaimer 0iles 1ar!#are Re3uirements (nstallation 2. "ro/lems 4!iting *um/ers .perators Constants 5. Soling Solutions 6raphs Reports 7. 0eature Reference 0unctions Statements Comman!s 1. (ntro!uction (ntro!uction &&&&&&&&&&&& Mercury is a program for soling e3uations on the ('M "C. (t is easy to use- interactie- an! po#erful. 8ith it- you can 9 ealuate mathematical e:pressions. 9 sole for the roots of an e3uation. 9 sole a system of e3uations. 9 ma:imi;e or minimi;e a function- #ith or #ithout constraints. 9 ealuate !eriaties an! !efinite integrals. 9 plot one or more functions. 9 print a report or a graph. Mercury has a /uilt&in e!itor- pull&!o#n menus- online help- an! all the coneniences necessary to ma<e it accessi/le to computer noices. 0or a 3uic< !emonstration of Mercury)s capa/ilities- run M4RC=R> an! then loa! an! sole some of the sample pro/lems (9.4?A). (f you get stuc<- @ust press the 01 <ey for help. Mercury is an outgro#th of 4ure<a- a pro!uct of 'orlan! (nternational of Scotts Aalley- California. 8hen 'orlan! !eci!e! to concentrate on sprea!sheet an! !ata/ase pro!ucts- 4ure<a #as spun off. Mercury #as !eelope! from that co!e /ase- an! is /eing release! in this form to satisfy customer re3uests for ne# ersions of 4ure<a. (t is la/elle! ersion 2.0 /ecause it is similar to #hat ersion 2.0 of 4ure<a #oul! hae /een. 4ure<a #as also aaila/le on the Apple Macintosh. *o ersion of Mercury for the Macintosh is planne! at this time. Mercury is aaila/le as Share#are. Share#are is a name for programs #hich are !istri/ute! freely or at nominal charge- /ut #hich are copyrighte! an! hae restrictions on their usage. Mercury may /e copie! freely for e:amination purposes. 2istri/utors may charge a nominal fee- proi!e! that they a!here to the con!itions in A4*2.R.2.C. Commercial an! institutional use is prohi/ite! #ithout a registere! license. Such a license may /e o/taine! /y sen!ing B79 to Real Soft#are ". 'o: 1C$0 So3uel- CA 9D0%5 =SA phone or fa:+ 70$&7%C&5DD0 CompuSere+ %CC7C-525 6enie+ R.Schlafly ''S+ 70$&7%C&10DD "ayment may /e /y chec<- MasterCar!- or Aisa. See R46(S,4R.2.C for an or!er form. 0oreign or!ers shoul! inclu!e BD for shipping. ,hose #ho register a license #ill get the latest ersion of the soft#are- an installation program- an! a printe! manual. ,hey #ill /e eligi/le for technical support- an! #ill /e on the mailing list for future information an! up!ates. Site licenses an! other special arrangements are aaila/le. Comments- /ug reports- an! suggestions are especially #elcome. 2isclaimer &&&&&&&&&& ,he author has ma!e his /est effort in pro!ucing this soft#are- /ut here/y !isclaims all #arranties. 1e #ill not /e lia/le for any !amages e:cee!ing the price pai! for the license to use the soft#are. ,he person using the soft#are /ears all ris< as to the 3uality an! performance of the soft#are. Mercury is not a 'orlan! pro!uct. 'orlan! #ill not proi!e any technical support. 4ure<a is a registere! tra!emar< of 'orlan! (nternational. 'orlan! copyrights an! tra!emar<s are use! #ith permission. Mercury is a tra!emar< of the author. 0iles &&&&& Mercury consists of these files. M4RC=R>.4E4 main program M4RC=R>.1F" help file 9.'6( graphics !riers 9.C1R fonts 9.4?A sample pro/lems MA*=AF user manual (this file) R4A2M4 3uic< instructions R46(S,4R.2.C registration form A4*2.R.2.C en!or information Au:illiary files+ 9.4?A more sample pro/lems 9.'6( more graphics !riers 9.'(* e:ternal functions 9.C source to e:ternal functions MA,1F.1 tools for ma<ing e:ternal functions 9..'G tools for ma<ing e:ternal functions 9.F(' tools for ma<ing e:ternal functions (f you !o#nloa!e! Mercury from an online serice- you may fin! the au:illiary files archie! separately. ,he e:tra files are not nee!e! /y most people- an! are store! separately to sae on connect time. ,he e:tra !riers are for uncommon har!#are only- an! the tools for ma<ing e:ternal functions re3uire 'orlan!)s ,ur/o CHH. Registere! customers also get (*S,.C.M- an installation program for configura/le options. 1ar!#are Re3uirements &&&&&&&&&&&&&&&&&&&&& Mercury re3uires an ('M "C or clone #ith at least C70? of RAM. A/out D00? of free RAM is nee!e!. (n a!!ition- e:ten!e! memory (4MS memory) is use! if present. (f a math coprocessor is aaila/le- it #ill /e use!. A math coprocessor is recommen!e! for serious num/er crunchers. "lots re3uire a graphics monitor an! a C6A- 46A- A6A- or 1ercules car!. >ou can print reports an! graphs on any of the popular printers. Select "rinter an! Mo!el from the .ptions menu for the list of supporte! printers. (nstallation &&&&&&&&&&&& ,here are no special installation re3uirements. ,he simplest proce!ure is to ma<e a ne# !irectory on your har! !is<- an! to copy all of the files there. >ou may #ish to put the Mercury !irectory on your path- or to copy some of the files to your RAM !is<. ,he program (*S, may /e use! to change the e!it <ey /in!ings- an! to ma<e a fe# other installation choices. Aarious other configuration options are aaila/le from #ithin Mercury- an! these may /e sae! to !is<. See .ptions- /elo#. Mercury tries to !etect automatically #hat har!#are is present- /ut there some situations #here you may #ant to oerri!e the !etection logic. (f you hae a C6A monitor- it may or may not hae the Isno#I pro/lem. (f so- you may notice ran!om sno# on the screen as characters are #ritten there. (f so- you can eliminate it /y typing set C6AS*.8C1?=> at the 2.S prompt /efore loa!ing Mercury. ,here must not /e any spaces surroun!ing the e3uals sign. Mercury automatically !etects the math coprocessor- /ut occasionally Mercury fails /ecause the chip is !efectie. (t can /e turne! off #ith set $%=* at the 2.S prompt. Mercury also !etects arious graphics car!s- /ut some cannot /e !etecte!. See the SCR44* statement in Chapter 7. (f you hae a graphics printer- you #ill #ant to select it at the "rinter menu. ,he graphics car! an! printer selection can /e sae! to the M4RC=R>.C06 file- an! then it #ill /e automatic each time Mercury is loa!e!. 4rrors &&&&&& 4rror messages are pretty much self&e:planatory. (f an error is !etecte! #hile parsing the pro/lem file- Mercury puts you in the 4!it #in!o# #ith the cursor at the point of the error. ,he error message at the top of the #in!o#- an! !isappears as soon as you start e!iting. .ther errors are !isplaye! in a special /o: #hich is place! on the screen. After you ac<no#le!ge the error /y pressing the 4scape <ey- you are put /ac< in the menu system. 2. "ro/lems A pro/lem is entere! into Mercury /y either loa!ing an e:isting one from the !is<- or /y creating a ne# one in the 4!it #in!o#. ,his chapter e:plains ho# to use the e!itor- an! ho# to create a pro/lem for soling. 4!iting &&&&&&& Mercury inclu!es a complete te:t e!itor for creating an! mo!ifying pro/lem files. =sage of the e!itor is similar to 8or!Star in non!ocument mo!e- or to 'orlan!)s Si!e?ic<. ,he pro/lem files are or!inary ascii files- an! can /e e!ite! #ith any other te:t e!itor. >ou can moe the cursor aroun! in the e!itor #ith the arro# <eys- "age =p- "age 2o#n- an! some other <eys liste! /elo#. ,he e!itor has t#o typing mo!es- (nsert an! .er#rite. (n (nsert mo!e- anything you type is inserte! at the cursor position. (n .er#rite mo!e- pressing a <ey replaces the current character at the cursor position #ith the ne# type! character. (nitially- the e!itor operates in (nsert mo!e- a !efault you can change #ith the (*S, program. ,o s#itch mo!es- press the (nsert <ey or Ctrl&A. (Ctrl&A means to hol! !o#n the Ctrl <ey on your <ey/oar! #hile you press A. ,he A nee! not /e in upper case.) *o 8or!&8rap =nli<e a more stan!ar! #or! processing program- the e!itor !oes not hae #or!&#rap. >ou must press 4nter at the en! of each line. Auto(n!ent ,he e!itor has an autoin!ent feature that allo#s su/se3uent lines to automatically in!ent. (f you leae seeral spaces at the start of a line- use Ctrl&.( to in!ent su/se3uent lines the same amount. ,he comman! se3uence is a toggle- so you nee! only press Ctrl&.( again to stop in!enting. Joom Sometimes you may #ant to see more than the area coere! /y the current #in!o#. >ou can I;oomI the #in!o#- e:pan!ing it to the si;e of the entire screen- /y pressing 0D. ,o return the #in!o# to its usual si;e- press 0D again. 0or other #in!o# comman!s- such as moing an! resi;ing a #in!o#- see the 8in!o# menu- /elo#. 1ere is a summary of the e!iting comman!s. Many of these comman!s can /e change! #ith the (*S, installation program. Cursor Moement Comman!s+ Character left Ctrl&S or Feft arro# Character right Ctrl&2 or Right arro# 8or! left Ctrl&A 8or! right Ctrl&0 Fine up Ctrl&4 or =p arro# Fine !o#n Ctrl&E or 2o#n arro# Scroll up Ctrl&8 Scroll !o#n Ctrl&J "age up Ctrl&R "age !o#n Ctrl&C Feft of line Ctrl&KS or 1ome Right of line Ctrl&K2 or 4n! ,op of screen Ctrl&K4 or Ctrl&1ome 'ottom of screen Ctrl&KE or Ctrl&4n! ,op of file Ctrl&KR or Ctrl&"g=p 'ottom of file Ctrl&KC or Ctrl&"g2n Moe to /loc< /egin Ctrl&K' Moe to /loc< en! Ctrl&K? Moe to preious point Ctrl&K" Moe to mar<er 0 Ctrl&K0 Moe to mar<er 1 Ctrl&K1 Moe to mar<er 2 Ctrl&K2 Moe to mar<er 5 Ctrl&K5 Set mar<er 0 Ctrl&?0 Set mar<er 1 Ctrl&?1 Set mar<er 2 Ctrl&?2 Set mar<er 5 Ctrl&?5 (nsert L 2elete Comman!s+ (nsert mo!e onMoff Ctrl&A or (ns (nsert line Ctrl&* 2elete line Ctrl&> 2elete to en! of line Ctrl&K> 2elete character left Ctrl&1 or 'ac<space 2elete character Ctrl&6 or 2el 2elete #or! right Ctrl&, 'loc< comman!s+ Set /loc< /egin Ctrl&?' or 0% Set /loc< en! Ctrl&?? or 0$ Mar< #or! Ctrl&?, 1i!e /loc< Ctrl&?1 Copy /loc< Ctrl&?C Moe /loc< Ctrl&?A 2elete /loc< Ctrl&?> Rea! /loc< Ctrl&?R 8rite /loc< Ctrl&?8 "rint /loc< Ctrl&?" Miscellaneous Comman!s+ Kuit e!it- no sae Ctrl&?2- Ctrl&?K- or 4sc Sae an! e!it Ctrl&?S or 02 *e# file 05 ,a/ Ctrl&( or ,a/ ,a/ mo!e toggle Ctrl&., Auto in!ent onMoff Ctrl&.( Restore line Ctrl&KF 0in! Ctrl&K0 0in! L replace Ctrl&KA Repeat last fin! Ctrl&F Control <ey prefi: Ctrl&" A/ort operation Ctrl&= Restore error message Ctrl&K8 Search .ptions+ ' 'ac<#ar!s search 6 6lo/al search n n = any num/er. Search n times * Replace #ithout as<ing = (gnore upperMlo#er case 8 Search for #hole #or!s only S Soun!e: "ro/lems &&&&&&&& A pro/lem is a te:t (ascii) file consisting of comments- !efinitions- e3uations- an! statements. See the sample files for e:amples of pro/lems. Comments are not rea! /y the Mercury soler- an! sere merely for clarity or !ocumentation. A comment starts #ith a semicolon (N) an! runs until the en! of the line. Alternatiely- comments can /e enclose! in curly /races (OP) an! may occupy seeral lines. 2efinitions may /e either aria/le initiali;ations or function !efinitions an! are characteri;e! /y the += assignment operator. (f the left&han!&si!e is a name- it is ta<en to /e a aria/le an! the right&han!&si!e is an e:pression #hich ealuates to the initial alue for that aria/le. Such initial alues can /e critical to the iteratie soler. (f the left&han!&si!e is a function- as in S3uare(:) += :Q2- then the right&han!&si!e seres as the !efinition for that function. (n this case- S3uare is then a function of one argument- an! S3uare(D) = 2D. 43uations hae a mathematical e:pression on each si!e of an e3uals sign (=). An e3uation may also /e an ine3uality constraint- in #hich case the e3uals sign is replace! /y R- R=- S- or S=. Statements are special !irecties to Mercury. ,hey are instructions either to !o something other than sole the e3uations- or to control the solution process. ,he allo#e! statements are liste! /elo#- an! e:amples are in the pro/lem files. *um/ers &&&&&&& ,he range of num/ers is plus or minus 1e&50% to 1eH50%. 8hen using the e:act soler- a 3uestion mar< in!icates that the ne:t !igit is uncertain. 0or e:ample- 1.25T in!icates a num/er that might /e anything /et#een 1.22D an! 1.25D- as these are the num/ers #hich roun! to 1.25. (maginary num/ers are in!icate! #ith the suffi: i. 0or e:ample- : = 2 H 5i is the comple: num/er #ith real part 2 an! imaginary part 5. "ercentages may /e e:presse! #ith the suffi: U. 0or e:ample- D.1U is the same as .0D1. 4:amples &&&&&&&& A num/er of e:ample pro/lem files (9.4?A) are on the program !is<. 4:amination of these is strongly recommen!e!- as these !emonstrate most of Mercury)s features. See Chapter D. 5. Soling Soling &&&&&&& Mercury features three soler technologies. 1. 2irect soler. ,his metho! consists of applying the rules of high school alge/ra to manipulate the e3uations until solutions are o/taine! for all the aria/les. 0or e:ample- 2 : H 5 y = $ 7 : H D y = 17 can /e sole! !irectly /y rearranging the first e3uation to y = ($ & 2 :)M5 an! su/stituting for y in the secon! e3uation. See the F4A4F statement for user control oer #hat manipulations are allo#e!. 2. (teratie soler. ,he most !ifficult systems of e3uations cannot /e sole! analytically. ,he /est #e can !o is fin! some appro:imate solution an! then apply some iteratie proce!ure to improe the accuracy. (n such case it is a!isa/le to proi!e starting alues for the aria/les. 5. 4:act soler. Mercury)s most innoatie feature is its a/ility to use e:act metho!s in many cases. Solution 8in!o# &&&&&&&&&&&&&&& 8hen you apply Sole to a pro/lem file- the result is in the Solution 8in!o#. ,he #in!o# is e!ita/le li<e the 4!it #in!o#- an! can /e scrolle! an! ;oome! for easy ie#e!. ,he contents can /e sae! in a report- if that is !esire!. ,he solution lists all of the aria/les- #ith their final alues. =sually- the alue is @ust a num/er- !isplaye! to ho#eer many !igits is specifie! in the 2(6(,S statements or menu options. (n some cases- a aria/le #as sole! !irectly an! sym/olically in terms of other aria/les. (f such an e:pression #as use! to calculate the alue- then the e:pression is sho#n. (f no alue #as eer assigne! to the aria/le- then its alue is gien as I=*240(*42I or I*. S.F=,(.*I. ,his occurs if the aria/le is use! only as a !ummy aria/le- such as in a function !efinition or as a aria/le of integration. .ccasionally- a aria/le alue #ill /e gien as *A*- #hich means *ot&A&*um/er. ,his means the aria/le coul! not /e compute! accurately- an! only cru!e /oun!s #ere o/taine!. 0or e:ample- a result I: = *A*(2.1-%.D)I in!icates that : may /e anything /et#een 2.1 an! %.D. Sometimes such imprecise results represent the /est that can /e sai! a/out an ill&pose! pro/lem- /ut sometimes it represents a failure on the part of Mercury. Such results shoul! /e use! #ith caution. 8hen a aria/le appears to hae the alue of a simple fraction- it is note! in the solution. 0or e:ample- soling 5 : = 1 gies : = 0.555555555555555 O 1 M 5 P. ,he fraction is re!uce!- meaning that the numerator an! !enominator hae no nontriial factors. ,he logic #hich recogni;es these fractions is particularly effectie #ith the 4:act soler. (n some cases- multiple roots for some aria/le are foun!. ,hese are liste! after the list of aria/le alues. (f the pro/lem file has a F(S, statement- then the list of the a/scissae an! or!inate appear in the solution #in!o#. ,he solution al#ays has a list of resi!uals. ,hese are e:tremely important for assessing the ali!ity an! accuracy of a solution. A resi!ual is a 3uantity that shoul! /e ;ero if the e3uation #ere sole! perfectly. (t is the a/solute alue of the !ifference /et#een the left an! right han! si!es of the e3uation. 0or e:ample- soling S(*(:) = .D might gie as a resi!ual O 14&1C P S(*(:)&.D=0 ,he num/er in /races- 14&1C- is the resi!ual. (t is the a/solute alue of S(*(:)&.D using the sole! alue of :. Resi!uals of this si;e are 3uite common- as internally Mercury calculates to 1C&!igit precision- an! there is no machine representa/le : for #hich S(*(:) is e:actly 0.D. ,he e3uation to the right of the /races is often the same as one of the input e3uations- /ut sometimes Mercury rearranges some terms. (t might /e a simple rearrangement as a/oe- /ut it may also the result of sym/olically soling for one of aria/les an! su/stituting it into other e3uations. (n any case- the e3uations sho#n #ith the resi!uals are the actual e3uations use! /y the soler. Some control of the sym/olic su/stitutions is allo#e! /y the F4A4F statement or the Feel option un!er the Soler menu. .ccasionally- you may see aria/les name ,1- ,2- ... ,hese are temporary aria/les intro!uce! /y Mercury in the course of soling. Most commonly- they are use! to enforce ine3uality constraints. ,he constraint 4E"(: H y) H y 9 ; R= 10 may /e replace! #ith 4E"(: H y) H y 9 ; H ,1 = 10 ,1 S= 0 ,he latter has some technical a!antages- een though there is an e:tra e3uation an! an e:tra aria/le. Aalues for the e:tra aria/le are not sho#n. 0inally- the solution en!s #ith the largest resi!ual- the metho!- an! the processor. ,he largest resi!ual is simply the ma:imum of the preious resi!uals. Assuming your pro/lem is not scale! too /a!ly- then anything less than a/out 14&10 shoul! /e consi!ere! a success. ,he metho! is 4:act- 2irect- or (teratie. ,he e:act an! !irect solers are more relia/le- an! Mercury tries them first. ,his logic can /e altere! #ith the M4,1.2 statement. ,he processor is a $0$%- $02$%- $05$%- or emulator. Reports &&&&&&& A report is an unformatte! ascii file hol!ing the pro/lem an! the solution. (t can /e sae! to !is< or printe! to <eep a recor! of the solution. ,o sae to !is<- press 6o in the Report menu. (,his menu item !oesn)t /ecome actie until you hae sole! a pro/lem.) *ormally- the report has the same name as the pro/lem /ut #ith the .4?A suffi: replace! #ith .R",. >ou can use other file names if you please. Another #ay to <eep a recor! of pro/lems an! solutions is to hae a Fog file. Gust turn Capture .n in the Report menu. ,hen all pro/lems an! solutions #ill /e appen!e! to a log file. ,he reports an! logs are or!inary ascii files- an! can /e printe!. (f you hae a "ostscript printer- you #ill hae to select a mo!e in #hich it #ill accept an ascii file- or loa! a utility for printing ascii files. (*o such utility is proi!e! #ith Mercury.) 6raphics &&&&&&&& Mercury may /e use! to generate graphs. ,hese isually sho# the /ehaior of functions. A graphics monitor is re3uire!. ,o get a graph- you must first !efine a function of one aria/le in your pro/lem file. An e:ample from the file '=M">.4?A is /umpy(:) += :Q2 S(*(:) #hich !efines a function calle! I/umpyI. ,he I:I is a !ummy aria/le. ,he has alues func(0) = 0Q2 S(*(0)- func(1) = 1Q2 S(*(1)- etc. ,o graph the function from &1D to H1D- use the statements+ "F., /umpy 6'.=*2S &1D- H1D ,o assimilate this information into the Mercury soler- you must !o a Sole- een though you are not really soling for anything in this case. .nce the pro/lem has /een sole!- the Aie#- "rint- an! 8rite comman!s /ecome aaila/le un!er the 6raph menu. Select Aie# to see the graph on the screen. (f the graph loo<s a little ragge!- perhaps not enough points #ere use! to plot it. ,he !efault is 50. (ncreasing it to 100 #ill gie a much smoother graph. ,his can /e !one /y either a!!ing the 6".(*,S 100 statement to the pro/lem file an! soling it again- or /y selecting 6"oints from the 6raph menu. (t is also possi/le to hae IparametricI plots- #here /oth E an! > are functions of some other in!epen!ent aria/le. Merely use the EAE(S statement to specify the E function. ,he 6'.=*2S statement then refers to the in!epen!ent aria/le. ,hese graphs can /e printe! on graphics printers. ,his inclu!es most printers- e:cept for !aisy&#heel printers. Selecting "rint #ill print the graph to #hateer printer has /een selecte! un!er the .ptionsM"rinter menu. >ou can also select 8rite- #hich prints the graph to a file. Such a file can /e sent to a printer at a later time. ,he primary usefulness of this feature is to e:port the graph in Fotus or "ostscript format- #here it can /e importe! /y another program. ,he arious options in the 6raph menu are really the !efaults- an! are oerri!!en /y the correspon!ing statements in the pro/lem file. (f there are statements in the pro/lem file setting graph options- then the menu may not accurately reflect the options use! to !ra# the graph. *eertheless- once a graph has /een create!- these options can /e mo!ifie! from the graph menu- an! then Aie# #ill sho# the reise! graph. 7. 0eature Reference ,his chapter gies an alpha/etical loo<up for the Mercury /uilt&in functions an! statements. .perators &&&&&&&&& H a!!. & su/tract. 9 multiply. a space may also /e use!. M !ii!e. Q po#er. 4g- 2Q5 = $. V comple: con@ugate. R less than. R= less than. S greater than. S= greater than. = e3uals. += aria/le initiali;ation or function !efinition. + e3uation separator. U percent- eg- 1%U = .1%. ,hese hae the usual mathematical prece!ence rules- #ith Q haing higher prece!ence than 9 an! M- #hich in turn are higher than H an! &. Constants &&&&&&&&& ,hese t#o constants are /uilt&in. (*0 plus infinity "( 5.171D92CD5D... >ou can also use the gree< letter /y typing Alt&". 0unctions &&&&&&&&& 0unctions ta<e one or more arguments. ,he arguments are separate! /y commas an! enclose! in parentheses. 1ere is a list of the /uilt&in functions. A!!itional functions can /e !efine! #ithin a pro/lem file. A'S(:) ,he a/solute alue of :. >ou can also use W:W. AC.S(:) ,he arc cosine of :- inerse to C.S(:). ,he result is in ra!ians. AS(*(:) ,he arc sine of :- inerse to S(*(:). ,he result is in ra!ians. A,A*(:) ,he arc tangent of :- inerse to ,A*(:). ,he result is in ra!ians. '4SSG(n-:) ,he 'essel function of the first <in!. ,he first argument must /e an integer. '4SS>(n-:) ,he 'essel function of the secon! <in!- sometimes also calle! the 8e/er function. ,he first argument must /e an integer. 0or each n- it is a solution to 'essel)s !ifferential e3uation #ith a singularity at ;ero. '(*.M(n-<) ,he num/er of com/inations- choosing < of n items. 6ien /y nX M (<X (n&<)X). C4(F(:) ,he smallest integer greater than or e3ual to :. 4g- C4(F(7.%) = D. C.S(:) ,he cosine of :. ,he angle : is measure! in ra!ians. C.S1(:) ,he hyper/olic cosine of :- (4E"(:) H 4E"(&:))M2. C,4RM(rate-f-p) ,he num/er of perio!s re3uire! for a gien present alue (p) to increase to a gien future alue (f) if it gro#s at the gien interest rate. ,he function is compati/le #ith KuattroMFotus. 24R(A(f(:)-:) ,he !eriatie of the function f(:) #ith respect to :. (n most cases- the !eriatie is compute! sym/olically. 2F6AMMA(n-:) ,he n&th !eriatie of F.66AMMA- n = 0-1-2-... 4R0(:) ,he error function of :. (t is relate! to *C=M(:). 4R0(:) = 2 *C=M(: SKR,(2)) & 1 4g- 4R0(&(*0) = &1- 4R0(0) = 0- 4R0(H(*0) = H1. 4R0C(:) ,he complementary error function of :. See 4R0 an! *C=M. 4R0C(:) = 1 & 4R0(:) 4g- 4R0C(&(*0) = H1- 4R0C(0) = 0- 4R0C(H(*0) = &1. 4E"(:) ,he e:ponential function of :- eQ:- e = 2.%1$2$... (t is the inerse to F*(:). 0AC,(:) : factorial- sometimes #ritten :X. 4g- 0AC,(D) = D97959291 = 120. 0F..R(:) ,he largest integer less than or e3ual to :. 4g- 0F..R(7.%) = 7. 0RAC(:) ,he fractional part of :- : & 0F..R(:). 4g- 0RAC(7.%) = 0.%. 0A(pmt-rate-nper) ,he future alue of payments (pmt) at the en! of nper perio!s- assuming the gien interest rate. ,he function is compati/le #ith KuattroMFotus. 0AAF(rate-nper-pmt-p) 6ies the future alue of a financial #ith a payment pmt in each of nper perio!s- #ith the gien present alue p- an! the gien interest rate. ,he function is compati/le #ith Kuattro "ro. (t uses the financial mo!e specifie! /y the 0(*A*C4 statement to !etermine #hether the payments are at the en! of the perio! (the !efault) or the /eginning. 1>".,(:-y) ,he polar coor!inate ra!ius correspon!ing to cartesian coor!inates (:-y). 4g- 1>".,(5-7) = D. (0".S(:-y-;) 6ies y if : S= 0- else it gies ;. 4g- (0".S(&5-C-%) = %. (M(:) ,he imaginary part of :. ,he C.M"F4E option must /e in use. (*,46(f(:)-:-a-/) (*,46(f(:)-:-a-/) gies the numerical integral of f(:) #ith respect to : from a to /. (mproper integrals are allo#e!- so a can /e &(*0- / can /e H(*0- an! f can /e singular at a or /. ,he appro:imation metho! is a!aptie an! nonlinear- an! often is accurate to 1D !igits. (*,461(f(:)-:-a-/) (*,461 is similar to (*,46- /ut uses a simpler strategy. (t is nona!aptie an! linear- an! may /e preferre! in situations #here the result is suppose! to /e a smooth function of a an! /. (*,461 is not nearly as accurate as (*,46 on singular functions. F(M(,(f(:)-:-a-(*0) 4stimates the limit of f(:)- as : goes from a to infinity. (t uses a numerical metho! to compute the limit of f(:)- as : goes from a to infinity. (t is an nonlinear e:trapolation /ase! on a fairly small num/er of terms. ,he limit is only relia/le if the function is #ell&/ehae!- an! this feature shoul! /e use! #ith caution. F*(:) ,he natural logarithm (/ase e) of :. (t is the inerse to 4E"(:). F.610(:) ,he logarithm of : to the /ase 10. ,he inerse is 10Q:. F.66AMMA(:) ,he logarithm of the gamma function of :. MAE(:-...) ,he ma:imum alue of the arguments. 4g- MAE(&10-D-%) = %. M(*(:-...) ,he minimum alue of the arguments. 4g- M(*(&10-D-%) = &10. *C=M(:) ,he normal cumulatie pro/a/ility function. *C=M(E) is the pro/a/ility that a normal ran!om aria/le is /elo# its mean- plus E stan!ar! !eiations. 4g- *C=M(&(*0) = 0- *C=M(0) = .D- *C=M(H(*0) = 1. "A>M,(rate-nper-p-f) 6ies the present alue of a financial #ith a payment pmt in each of nper perio!s- #ith the gien future alue f- an! the gien interest rate. ,he function is compati/le #ith Kuattro "ro. (t uses the financial mo!e specifie! /y the 0(*A*C4 statement to !etermine #hether the payments are at the en! of the perio! (the !efault) or the /eginning. "M,(p-rate-nper) 6ies the amount of the payments re3uire! in each of nper perio!s to /alance the gien present alue p an! interest rate. ,he function is compati/le #ith KuattroMFotus. ".FAR(:-y) ,he polar coor!inate angle correspon!ing to cartesian (:-y). Same as the KuattroMFotus YA,A*2(:-y) or the 0ortranMC atan2(y-:). ".F>(:-a0-a1-...-an) ,he polynomial a0 :Qn H ... H an. 4g- the polynomial 2 :Q5 & 5 : H % can also /e #ritten ".F>(:-2-0-&5-%). ,he chief a!antage of the latter is notational conenience- an! so it can /e recogni;e! /y the special polynomial soler. ".S(:) ,he positie part of :- ie- : if positie an! 0 if negatie. "A(pmt-rate-nper) 6ies the present alue of nper payments of amount pmt- using the gien interest rate. ,he function is compati/le #ith KuattroMFotus. "AAF(rate-nper-pmt-f) 6ies the present alue of a financial #ith a payment pmt in each of nper perio!s- #ith the gien future alue f- an! the gien interest rate. ,he function is compati/le #ith Kuattro "ro. (t uses the financial mo!e specifie! /y the 0(*A*C4 statement to !etermine #hether the payments are at the en! of the perio! (the !efault) or the /eginning. RA,4(f-p-nper) 6ies the interest rate re3uire! for the present alue (p) to increase to the future alue (f) in nper perio!s. ,he function is compati/le #ith KuattroMFotus. R4(:) ,he real part of :. ,he C.M"F4E option must /e in use. R4M(:-y) ,he remain!er of : !ii!e! /y y. 4g- R4M(20-5) = 2. S6*(:) 6ies H1 if : S 0- &1 if : R 0. S(*(:) ,he sine of :. ,he angle : is measure! in ra!ians. S(*1(:) ,he hyper/olic sine of :- (4E"(:) & 4E"(&:))M2. SKR,(:) ,he s3uare root of :. S=M(f(:)-:-a-/) ,he sum of f from a to /- f(a) H f(a H 1) H ... H f(/) (f / = H(*0- the limit is estimate! as #ith the F(M(, function. ,A*(:) ,he tangent of :- S(*(:)MC.S(:). ,he angle : is measure! in ra!ians. ,A*1(:) ,he hyper/olic tangent of :- S(*1(:)MC.S1(:). ,4RM(pmt-rate-f) ,he num/er of perio!s re3uire! for a gien payment stream (pmt) to increase to a gien future alue (f) if it gro#s at the gien interest rate. ,he function is compati/le #ith KuattroMFotus. Statements &&&&&&&&&& '.=*2S lo#er-upper Specify /oun!s for the !omains of the aria/les. ,he !efault is '.=*2S &(*0-(*0. Some soling time can /e sae! #ith the statement '.=*2S &1eC-1eC if you are sure that all the releant alues of your aria/les are less than a million. CAS40.F2 (gnore case in names. .ther#ise- the aria/le : is !ifferent from E. CAS4S,R(C, =sing CAS4S,R(C,- #ith no args- causes /uilt&in functions- constants- an! statements to /e upper case only. *ormally such pre!efine! names are not case sensitie- so S(*(:) is the same as sin(:). =sing this option re!uces the chance of a name conflict. C.M"F4E 2eclares that all the aria/les are to /e consi!ere! comple: aria/les. ,heir solutions hae a real an! imaginary part. ,hese /uilt&in functions may /e use! in a comple: pro/lem+ A'S- C.S- C.S1- 4E"- (M- F*- R4- S(*- S(*1- SKR,- S=M- ,A*- ,A*1. 2(6(,S n 2isplay real num/ers to n !igits of precision. ,he !efault is 1$. 4"S(F.* : 0orces num/ers ery close to ;ero to /e !isplaye! as ;ero. =seful for sho#ing comple: num/ers #hich are actually real. 2efault is 4"S(F.* 0. 4E,4R*AF function 2eclares the name to /e an e:ternally !efine! function- to /e foun! on the !is< in the pro/lem !irectory #ith the file name function.'(*. ,hese functions are #ritten in ,ur/o CHH or ,ASM- an! compile! into .'(* files. See the samples. 0(*A*C4 type 6ies the type parameter to the Kuattro compati/le financial functions- "AAF- "A>M,- an! 0AAF. ,he !efault is type = 0- meaning that the payments are at the en! of the perio!. =se type = 1 if the payments are at the /eginning. 6'.=*2S :left- :right ,he lo#er (:left) an! upper (:right) /oun!s for the E&a:is in a graph. 6".(*,S n ,he num/er of points (function alues) use! to !ra# a graph. ,he !efault is 50. (f your graph is too ragge!- try increasing the num/er of points. 6S,>F4 n Allo#s graph cures to /e thic< (6S,>F4 0) or thin (6S,>F4 1). (*CF=24 filename ,he file #ith the gien name is inserte! in the pro/lem at that point. ,he filename must /e in 3uotes- as in (*CF=24 IC.*S,.(*CI. ,he !efault file name e:tension is .(*C. (nclu!e files cannot /e neste!. (,4RA,(.*S n ,he ma:imum num/er of iterations use! /y the iteratie soler. ,he !efault is 100. F464*2 "uts a legen! on the graph #hich i!entifies the function or functions. Recommen!e! #hen plotting more than one function. F4A4F n Allo#s user control oer #hat sym/olic su/stitutions are ma!e. 0. no sym/olic soling 1. sole E = constant 2. sole E = constant e:pression 5. sole only #hen E occurs once- no other aria/les 7. sole only #hen E occurs once- other aria/les possi/le D. sole linear e3uations C. sole s3uares- using s3uare roots %. sole 3ua!ratic e3uations $. sole po#ers ,he !efault is F4A4F D- soling linear e3uations /ut not using s3uare roots. Strictly spea<ing- the su/stitutions inoling roots are not mathematically e3uialent- as the su/stitution must ar/itrarily choose the positie or negatie s3uare root. (t is sometimes prefera/le to use F4A4F 0 to turn off all the sym/olic manipulations. ,hen Mercury effectiely #eights all e3uations e3ually- an! the solution can /e consi!ere! the solution to a least s3uares pro/lem. F(S, function Fist one or more functions in the solution #in!o#. Synta: is the same as for "F.,. MAE(M(J4 : ,he aria/le : is ma:imi;e!. M4,1.2 n Specify the soler metho!- #here n = 1- 2- or 5. 1. 4:act 2. 2irect 5. (teratie ,he !efault is M4,1.2 1- the e:act soler. (f it fails- the !irect soler is trie!- an! it that also fails- the iteratie soler is trie!. M(*(M(J4 : ,he aria/le : is minimi;e!. "4*AF,> n ,he alue of the penalty constant- an ar/itrary constant use! to enforce constraints #hen the iteratie soler is use! to ma:imi;e or minimi;e a aria/le. ,he !efault is 50. (ncreasing it forces the appro:imate solutions closer to the constraint manifol! at the cost of ma<ing the e:tremum har!er to fin!. Rea!ers of ,he 1itchhi<er)s 6ui!e to the 6ala:y suggest using the alue 72. "F., function Creates a plot of the name! function. ,o ie# the graph- select 6raph from the main menu. ,o plot seeral functions on the same graph- list the names separate! /y commas. ,he functions must /e !efine! in the pro/lem file- an! /e functions of one aria/le. 0or e:ample- to plot S(*(:) an! :Q5&: from &D to HD- use f(:) += S(*(:) g(:) += :Q5 & : 6'.=*2S &D- HD "F., f- g "R(*, Same as "R(*,0(F4 IF",1I. (t prints the graph to the 2.S !eice F",1- #hich is usually a printer on parallel port 1. ,he printing can /e configure! to use another port from the .ptions menu- an! the result sae! to a setup file. "R(*,0(F4 filename "rint the graph to the gien file- #hose name is in 3uotes. ,hese names hae special meaning. I"AR1I parallel port 1 IS4R1I serial port 1 I"AR2I parallel port 2 IS4R2I serial port 2 IF",1I 2.S lpt1 IF",2I 2.S lpt2 IF",5I 2.S lpt5 IF",7I 2.S lpt7 I4",I ('M postscript port "R.6R4SS : Sho# the alue of the aria/le : in the "rogress /o:. Mercury !oes not sole for all aria/les at once- so sometimes there might /e no alue for the aria/le until the en! of the solution process. (n such cases- the "rogress #in!o# sho#s I: = *A*I- meaning I: is not a num/erI. (f no "R.6R4SS statement is gien- the "rogress #in!o# sho#s the alue of the IResi!ualI. ,his is the sum of s3uares of 3uantities #hich shoul! /e ;ero- an! #hich Mercury is trying to minimi;e. ,he smaller the alue- the more li<ely that Mercury is getting close to the solution. R4".R, filename Allo#s naming a report file from #ithin a pro/lem. R..,S(6* n 8hen soling an e3uation li<e :Q2 = a- Mercury may ta<e the s3uare root of /oth si!es. ,his intro!uces t#o roots- HSKR,(a) an! &SKR,(a)- an! Mercury !oes not <no# #hich to ta<e. >ou can specify that you al#ays #ant the positie root #ith R..,S(6* H1- or al#ays the negatie root #ith R..,S(6* &1. ,he !efault is R..,S(6* 0- #hich leaes Mercury una/le to ealuate the s3uare root. SCR44* n Choose a graphics screen. ,he !efault is SCR44* 0- #hich means Mercury automatically tries to !etect your graphics har!#are. Some graphics car!s an! mo!es cannot /e !etecte!- an! must /e selecte! #ith a SCR44* statement. 0. Auto2etect 1. C6A 2. MC6A 5. 46A C7< 7. 46A 2DC< D. 46A Mono C. ('M $D17 %. 1ercules $. A,, 700 line 9. A6A 10. 52%0 "C 11. ,an!y 1000 12. A,( Super A6A 15. .rchi! Super A6A 17. "ara!ise Super A6A 1D. Aega Super A6A 1C. Compro A'F4 (( Super A6A 1%. S.,A Super A6A 0rom the main menu- the graphics screen can /e selecte! #ith 6raphMMo!e. Such a selection is ineffectie after the first graph is !ra#n- as the graphics has /een initiali;e! at that point. 8e recommen! saing the !esire! graphics mo!e to the M4RC=R>.C06 configuration file. (*ote+ ,he !riers for some of these graphics mo!es is not inclu!e! #ith some ersions of Mercury. Registere! customers receie the full set of !riers.) S1.8 : Sho# specifie! aria/les in the specifie! or!er. .ther aria/les are not !isplaye! in the solution #in!o#. S.FA4 : (nstructs Mercury to sole only for the aria/le :. 'y !efault- it soles for all aria/les name! in the pro/lem. (f S.FA4 is gien #ith a polynomial function name- as in S.FA4 f f(:) += ".F>(:-1-0-0-1) then Mercury #ill apply a special polynomial root fin!er to get all real an! comple: roots. S,AR, : ,he starting alue for uninitiali;e! aria/les #hile using the iteratie soler. ,he !efault is 1.00. ,4RMS n ,he most num/er of terms use! /y the (*,46 an! F(M(, functions. ,he !efault is D0. ,(M4 n ,he ma:imum time allo#e! for solution. ,he !efault is 200 secon!s. Same as MAE,(M4 in 4ure<a 1.0. ,(,F4 la/el Argument is a 3uote! string- to /e use! as a graph title. 2efault is no title. S=',(,F4 la/el Argument is a 3uote! string- to /e use! as a graph su/title. 2efault is no title. EFA'4F la/el A la/el for the E&a:is of a graph. ,he la/el must /e in 3uotes. >FA'4F la/el A la/el for the >&a:is of a graph. ,he la/el must /e in 3uotes. EAE(S function Specifies that the E&a:is /e a function instea! of an in!epen!ent aria/le. ,he function must /e !efine! else#here as a function of one aria/le. ,he E a:is of the graph is a function #ith the gien name. =seful for parametric plots. 4g- to graph (:-y) = (cos(t)-sin(t)) as t goes from 0 to 29"(- use :(t) += cos(t) y(t) += sin(t) 6'.=*2S 0- 2 "( EAE(S : "F., y