From: SourceForge.net <no...@so...> - 2009-09-16 11:06:36
|
Bugs item #2859246, was opened at 2009-09-15 07:55 Message generated for change (Settings changed) made by willisbl You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=2859246&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Barton Willis (willisbl) Assigned to: Nobody/Anonymous (nobody) >Summary: csign(log(1-%i)) --> imaginary / possible fix Initial Comment: I think this should be complex, not imaginary (%i1) csign(log(1-%i)); (%o1) imaginary (%i2) build_info(); Maxima version: 5.19.1 Maxima build date: 11:22 8/17/2009 host type: i686-pc-mingw32 lisp-implementation-type: GNU Common Lisp (GCL) lisp-implementation-version: GCL 2.6.8 (%o2) ---------------------------------------------------------------------- >Comment By: Barton Willis (willisbl) Date: 2009-09-16 06:06 Message: (defun sign-log (x) (setq x (cadr x)) ;; looking at sign of log(x) (cond ((eq t (meqp x 1)) (setf sign '$zero)) ;; log(1) = 0. ;; for x in unit circle and x # 1, log(x) is pure imaginary ((and *complexsign* (eq 1 (meqp 1 (take '(mabs) x))) (mnqp x 1)) (setf sign '$imaginary)) ;; log(x) is positive for x > 1 ((eq t (mgrp x 1)) (setf sign '$pos)) ;; log(x) is negative for 0 < x < 1. ((and (eq t (mgrp x 0)) (eq t (mgrp 1 x))) (setf sign '$neg)) ;; when *complexsign* is true, return $complex, else $pnz. (*complexsign* (setf sign '$complex)) (t (setf sign '$pnz))) sign) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=2859246&group_id=4933 |