PolyMath
PolyMath copied to clipboard
Scientific Computing with Pharo
This is to apply the Replace Method With Method Object Refactoring as a starting point. QR Decomposition is an operation that mathematicians refer to, so it Is worth making explicit...
This is probably because they don't set the random state. For example: - PMQRTest >> testMPInverse
This would remove the coupling between Collections and Complex numbers (which live in a separate package). Some (perhaps not all) examples include: - PMVector >> isReal - PMMatrix >> isReal...
https://en.wikipedia.org/wiki/Moore%E2%80%93Penrose_inverse A simple (but slightly time-consuming) implementation can be based on SVD: ```st PMMatrix >> pseudoinverse | svd u s v sPseudoinverse | svd := PMSingularValueDecomposition decompose: matrix. u :=...
For now, only the small square matrix is used for testing. Other three matrices are commented out. If you uncomment example3 and example4, they fail ```st PMSingularValueDecompositionTest >> setUp super...
The implementation of `PMComplex >> sqrt` was improved in PR #221. However, this implementation still suffers from potential floating point overflow/underflow. This is why I suggest something even more robust...
I don't know if this is easy to do in practice, but this makes a lot of sense to me: A ComplexNumber is a kind of Number
Because numbers can also be conjugate in a different sense: `5 + 5 sqrt` is conjugate to `5 - 5 sqrt`. https://math.stackexchange.com/questions/3397053/whats-the-correct-definition-of-conjugate-and-do-we-identify-them Also, this message should be implemented by `Number`...
This replaces #106: Here we need to get the Fast Fourier Transfer (FFT) package test coverage managed by coveralls.io. There are example PRs of how to do this e.g. [Function...
There is the following warning in the CI: ``*** Warning: Deprecation: The method BlockClosure>>#ifError: called from PMGeneralFunctionFit>>#evaluate has been deprecated. Use #onErrorDo: instead.`` but apparently ``onErrorDo:`` is not the same...