Skip to content

Commit d759912

Browse files
committed
Update changelog.
1 parent bb06701 commit d759912

File tree

1 file changed

+32
-4
lines changed

1 file changed

+32
-4
lines changed

CHANGELOG.md

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,47 @@ documented here.
44

55
This project adheres to [Semantic Versioning](http://semver.org/).
66

7-
## [0.18.0] - WIP
7+
## [0.18.0]
88
This release adds full complex number support to nalgebra. This includes all common vector/matrix operations as well
99
as matrix decomposition. This excludes geometric type (like `Isometry`, `Rotation`, `Translation`, etc.) from the
1010
`geometry` module.
1111

1212
### Added
13+
#### Quaternion and geometric operations
14+
* Add trigonometric functions for quaternions: `.cos, .sin, .tan, .acos, .asin, .atan, .cosh, .sinh, .tanh, .acosh, .asinh, .atanh`.
15+
* Add geometric algebra operations for quaternions: `.inner, .outer, .project, .rejection`
1316
* Add `.renormalize` to `Unit<...>` and `Rotation3` to correct potential drift due to repeated operations.
14-
Those drifts can cause them not to be pure rotations anymore.
17+
Those drifts could cause them not to be pure rotations anymore.
18+
19+
#### Convolution
20+
* `.convolve_full(kernel)` returns the convolution of `self` by `kernel`.
21+
* `.convolve_valid(kernel)` returns the convolution of `self` by `kernel` after removal of all the elements relying on zero-padding.
22+
* `.convolve_same(kernel)` returns the convolution of `self` by `kernel` with a result of the same size as `self`.
23+
24+
#### Complex number support
1525
* Add the `::from_matrix` constructor too all rotation types to extract a rotation from a raw matrix.
1626
* Add the `::from_matrix_eps` constructor too all rotation types to extract a rotation from a raw matrix. This takes
1727
more argument than `::from_matrix` to control the convergence of the underlying optimization algorithm.
18-
* Add trigonometric functions for quaternions: `.cos, .sin, .tan, .acos, .asin, .atan, .cosh, .sinh, .tanh, .acosh, .asinh, .atanh`.
19-
* Add geometric algebra operations for quaternions: `.inner, .outer, .project, .rejection`
28+
* Add `.camax()` which returns the matrix component with the greatest L1-norm.
29+
* Add `.camin()` which returns the matrix component with the smallest L1-norm.
30+
* Add `.ad_mul(b)` for matrix-multiplication of `self.adjoint() * b`.
31+
* Add `.ad_mul_to(b)` which is the same as `.ad_mul` but with a provided matrix to be filled with the result of the multiplication.
32+
* Add BLAS operations involving complex conjugation (following similar names as the original BLAS spec):
33+
* `.dotc(rhs)` equal to `self.adjoint() * rhs`.
34+
* `.gerc(alpha, x, y, beta)` equivalent to `self = alpha * x * y.adjoint() + beta * self`
35+
* `.hegerc` which is like `gerc` but for Hermitian matrices.
36+
* `.syger` which is the new name of `.ger_symm` which is equivalent to `self = alpha * x * y.transpose() + beta * self`.
37+
* `.sygemv` which is the new name of `.gemv_symm` which is equivalent to `self = alpha * a * x + beta * self` with `a` symmetric.
38+
* `.hegemv(alpha, a, x, beta)` which is like `.sygemv` but with `a` Hermitian.
39+
* `.gemv_ad(alpha, a, x, beta)` which is equivalent to `self = alpha * a.adjoint() * x + beta * self`.
40+
* `.gemm_ad(alpha, a, b, beta)` which is equivalent to `self = alpha * a.adjoint() * b + beta * self`.
41+
* `.icamax()` which returns the index of the complex vector component with the greatest L1-norm.
42+
43+
Note that all the existing BLAS operation will still work for all fields, including floats and complex numbers.
44+
45+
### Renamed
46+
* `RealSchur` has been renamed `Schur` because it can now work with complex matrices.
47+
2048

2149
## [0.17.0]
2250

0 commit comments

Comments
 (0)