>>>>> "go" == go furuya <go_furuya@infoseek.jp> writes:
go> I wrote
>> so i think that you (shoud)define sin1(Z),
>> (C5) sin1(z) := trigexpand(sin(rectform(z));
>> (C6)sin1((1+%i)/sqrt(2));
>> (d6) %ICOS(1/sqrt(2))SINH(1/sqrt(2))+COSH(1/sqrt(2))SIN(1/sqrt(2))
go> this essential point is rectform.
go> see
go> (C7)trigexpand(sin((1+%i)/sqrt(2)));
go> (d7) sin((1+%i)/sqrt(2))
go> (C8)%,numer;
go> (d8) sin((1+%i)/sqrt(2))
go> It is difficult to transform argument one pattern to
go> another,automatically.
I don't follow.
For my simp-%sn, I had some code like
((and $numer (complex-number-p u)
(complex-number-p m))
;; For complex values. Should we really do this?
(format t "real u = ~A~%" ($realpart u))
(format t "imag u = ~A~%" ($imagpart u))
(let ((result (sn (complex ($realpart u) ($imagpart u))
(complex ($realpart m) ($imagpart m)))))
(complexify result)))
Where complex-number-p was a function that looked at u to see it
looked like a number or a list of the form '((mplus) x ((mtimes) y
%i)). complexify just took #c(a b) and converted it to '((mplus) a
((mtimes) b %i)).
There might be other implications about doing this, but in principal
this should work.
go> At least you shoud read trigi.lisp carefully again.
To learn what? Really, I want to know what you think I should learn
from reading this.
Ray