The Museum of HP Calculators

HP Forum Archive 21

 Complex results acceptance 32sII/33s/35sMessage #1 Posted by Matt Agajanian on 22 Mar 2012, 10:06 p.m. Hello all. Is there a flag or mode I can set so that I calculate in the real number fashion so that complex results of any calculation don't result in real results errors? Yes, although I could preface my entries by prefacing the functions with [CMPLX], how can I just enter the functions without having to prefix them with [CMPLX] ? Edited: 22 Mar 2012, 10:41 p.m. after one or more responses were posted

 Re: Complex results acceptance 32sII/33s/35sMessage #2 Posted by bill platt on 22 Mar 2012, 10:39 p.m.,in response to message #1 by Matt Agajanian No.

 Re: Complex results acceptance 32sII/33s/35sMessage #3 Posted by Matt Agajanian on 22 Mar 2012, 10:44 p.m.,in response to message #1 by Matt Agajanian So, I guess on the 32S-II and 33s, the only way is to prefix the functions with [CMPLX]? Does the 35s operate that same way or, if a result is complex, it will get displayed? Edited: 22 Mar 2012, 10:44 p.m.

 Re: Complex results acceptance 32sII/33s/35sMessage #4 Posted by Bart (UK) on 23 Mar 2012, 6:14 a.m.,in response to message #3 by Matt Agajanian Quote: So, I guess on the 32S-II and 33s, the only way is to prefix the functions with [CMPLX]? Yes Quote: Does the 35s operate that same way or, if a result is complex, it will get displayed? No, but it requires a complex argument to "know" a complex result is required. (e.g. LN(-2) gives an error, but LN(-2i0) gives a complex result)

 Re: Complex results acceptance 32sII/33s/35sMessage #5 Posted by Matt Agajanian on 23 Mar 2012, 2:17 p.m.,in response to message #4 by Bart (UK) Well, chalk one up for the 42S and its automatic display of complex results! Edited: 23 Mar 2012, 2:18 p.m.

 Re: Complex results acceptance 32sII/33s/35sMessage #6 Posted by bill platt on 23 Mar 2012, 3:06 p.m.,in response to message #5 by Matt Agajanian 1. 32sii was a replacement for the 11c. The 11c never had complex anything. 32sii added some rudementary handling. 2. 33s and 35s turn out to be toys essentially. 3. The 42s was the only compact scientific ever made by HP with a native comprehensive complex argument and function support. 4. The 48 series and its successors (49G and 50G) of course have comprehensive support.

 Re: Complex results acceptance 32sII/33s/35sMessage #7 Posted by Fabricio on 23 Mar 2012, 5:29 p.m.,in response to message #6 by bill platt Quote: 2. 33s and 35s turn out to be toys essentially. X=D

 Re: Complex results acceptance 32sII/33s/35sMessage #8 Posted by Matt Agajanian on 23 Mar 2012, 7:37 p.m.,in response to message #6 by bill platt Quote: 1. 32sii was a replacement for the 11c. The 11c never had complex anything. 32sii added some rudementary handling. 2. 33s and 35s turn out to be toys essentially. 3. The 42s was the only compact scientific ever made by HP with a native comprehensive complex argument and function support. 4. The 48 series and its successors (49G and 50G) of course have comprehensive support. Although I think the 33s & 35s are quite powerful calculators, and I'll admit, the chevron keyboard of the 33 takes away from the professional HP look, why do they get your label of 'toys'?

 Re: Complex results acceptance 32sII/33s/35sMessage #9 Posted by bill platt on 23 Mar 2012, 8:46 p.m.,in response to message #8 by Matt Agajanian Unacceptable bugs. Results cannot be trusted.

 Re: Complex results acceptance 32sII/33s/35sMessage #10 Posted by Dieter on 24 Mar 2012, 9:30 a.m.,in response to message #3 by Matt Agajanian Quote: Does the 35s operate that same way or, if a result is complex, it will get displayed? The 35s does not require switching to a special complex mode, nor does it need a CPLX prefix. IMHO it works in a very elegant way. First of all, the 35s has a "real" (;-)) complex data type. It actually can use data consisting two or even three components with just one single register. So one single stack or data register can hold values like these: ``` real: 3,14159 complex: 0,69315 + 3,14159 i complex: r=3,21715 angle=77,55785 vector 2D: [1,73205; 1,41421] vector 3D: [3,25; 4,25; 90] ``` So you always see directly whether a result is real, complex or something else. No need to check if there possibly is an imaginary part that's not in the display. What you see is what you get. Also you can work with all these number types essentially the same way you do with simple reals - the stack behaves just the same way. There also are no unexpected error messages or, even worse, unexpected results because the user did not realize that the result is complex (while real mode was assumed). The 35s here follows a quite straightforward paradigm: if the operand is complex resp. real, so is the result. This is how it works: ``` 2 [LN] 0,69315 -2 [LN] LOG(NEG) -2 [SQRT] SQRT(NEG)   -2i0 [LN] 0,69315i3,14159 -2 [ENTER] 0,5i0 [y^x] 0,00000i1,41421   0i1 [ENTER] 2 [y^x] -1,00000i0,00000 ``` In other words: enter a real number and get a real result. Or an error message if there isn't one. Enter a complex number to tell the 35s that a complex result is allowed, and get one. If the imaginary part is zero (i.e. the result of a complex operation is real) this is directly visible in the display. There are only two things to remember: first, not all operations are available in the complex domain. SQRT and x^2 for instance are not, so you use y^x instead (cf. examples above). Inverse trig is not defined either. Second, there is no direct way to split a complex number into its real and imaginary parts. Dieter

Go back to the main exhibit hall