Skip to content

Latest commit

 

History

History
78 lines (51 loc) · 2.84 KB

CHANGELOG.rst

File metadata and controls

78 lines (51 loc) · 2.84 KB

Version 0.7.1

  • Support for numpy==2.0.0. Dropping support for numpy 1.x.x.

Version 0.6.0

  • Updated Algopy to support recent versions of numpy==1.26.4 and scipy==1.13.1
  • Scipy has removed support for confluent hypergeometric functions. Thus, the support of these functions in Algopy has been also removed in this version.
  • Numpy has removed support for nosetests. Thus, algopy now uses pytest to run tests via pytest -v algopy

Version 0.5.0

  • add Python 3 compatibility
  • add Travis CI

Version 0.4.0

  • added support for a variety of new functions, mostly contributed by Alex Griffing, NCSU: expm, hyp1f1, hyperu, hyp2f0, polygamma, psi, erf, erfi, dawsn, logit, expit

Version 0.3.2

  • improved error reporting in the reverse mode: when "something goes wrong" in cg.gradient([1.,2.,3.]) one now gets a much more detailed traceback
  • added A.reshape(...) support to the reverse mode
  • improved support for broadcasting for UTPM instances

Version 0.3.1

  • replaced algopy.sum by a faster implementation
  • fixed a bug in getitem of the UTPM instance: now works also with numpy.int64 as index
  • added dedicated algopy.sum and algopy.prod
  • added UTPM.pb_sqrt
  • fixed bug in tracing operations involving neg(x)
  • added algopy.outer
  • changed API of CGraph.hessian, CGraph.jac_vec etc. One has now to write CGraph.jacobian(x) instead of CGraph.jacobian([x]).

Version 0.3.0

  • renamed push_forward to pushforward, this is more consistent w.r.t. the pullback
  • UTPM.__repr__ now returns a string of the form UTPM(...)
  • refactored the tracer: it should now be possible to trace the function evaluation with normal numpy.ndarrays. After that, one can use cg.pushforward with UTPM instances or call cg.gradient, etc.
  • UTPM.reshape is now a method, not a class method
  • added broadcasting support for __setitem__, iadd and isub
  • added Function.ndim
  • added preliminary complex numbers support for arithmetic with UTPM instances (reverse mode using the tracer is not supported yet)
  • UTPM.reshape now can also take integers as input, not only tuples of integers
  • added UTPM.tan, UTPM.arcsin, UTPM.arccos, UTPM.arctan, UTPM.sinh, UTPM.cosh, UTPM.tanh
  • made init_hessian and extract_hessian generic (to make it useful for complex valued functions)
  • added comparison operators <,>,<=,>=,== to UTPM
  • added UTPM.init_jac_vec and UTPM.extract_jac_vec
  • added CGraph.function, CGraph.gradient, CGraph.hessian, CGraph.hess_vec

Version 0.2.3

  • added UTPM.init_jacobian and UTPM.extract_jacobian
  • added UTPM.init_hessian and UTPM.extract_hessian
  • added UTPM.init_tensor and UTPM.extract_tensor
  • added UTPM.__len__, i.e. len(x) works now for x a UTPM instance
  • fixed a bug in algopy.dot(x,y) in the case when x is a numpy.ndarray and y is a UTPM instance

Version 0.2.2

  • fixed some broadcasting bugs with UTPM instances
  • fixed a bug in algopy.zeros