From octave-sources-request at bevo dot che dot wisc dot edu Tue Dec 18 13:59:59 2001 Subject: jacobi elliptic function (complex argument) From: rb To: octave-sources at bevo dot che dot wisc dot edu Date: Tue, 18 Dec 2001 15:41:29 +0100 This is a multi-part message in MIME format. --------------0A2BE651C43EBFCE9847A01F Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Attached there is a tgz containing ellipj.m ellipj.cc and two test script. They calculate sn(u,m) cn(u,m) dn(u,m) for u complex, 0<=m<=1 The .cc is a little bit more general: u,m can be a column and a row not only conformant matrices. It is based upon ellipj.m by D. Billinghurst. Is there any interest to have |k|>1 ? I'd like to ask what is the best behaviour for a function that is calcutated for each element of a matrix when an invalid input is encountered: I do not stop the calculations, but issue a warning and return NaN. Best regards Leopoldo Cerbaro --------------0A2BE651C43EBFCE9847A01F Content-Type: application/x-compressed; name="ellipj.tgz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="ellipj.tgz" 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 3e52t7vd7W53u9vd/q/tvydMQpUAyAAA --------------0A2BE651C43EBFCE9847A01F--