Comments (2)
Hi, this sounds like a valid und useful request. Would you mind sending a PR for it so I can have a detailed look on how you envision its concrete usage?
from mathnet-numerics.
After reviewing the source code, I've determined that significant modifications would be necessary to implement this feature effectively.
Accepting Memory
or Span
would only be advantageous if used for all internal mathematical operations. However, the current implementation of Vector<T>
and Matrix<T>
relies heavily on memory being stored in arrays. Changing this would require substantial modifications to all helper methods in ILinearAlgebraProvider
, among others. Such changes would constitute a massive breaking change, as much of the public API would be altered.
To implement this feature, it would be necessary to first refactor the code to internally utilize ReadOnlySpan<T>
and Span<T>
, similar to what is done in the new System.Numerics.Tensors.TensorPrimitives.
Subsequently, we could refactor VectorStorage<T>
and similar components to work with Memory<T>
. Only after these steps could we introduce new Build.DenseOf...
methods.
The benefits from a performance and memory efficiency standpoint would be enormous.
from mathnet-numerics.
Related Issues (20)
- Adler32 checksum no work
- Using the Levenberg-Marquardt to solve a set of non-linear equations
- Beta distribution Sample method can return NaN HOT 1
- Is mono still required on Linux?
- Is it still impossible to read a 10 x 1 cell array of 3D arrays?
- Sparse MapIndexedInplace starts with incorrect indices
- Question: Building mathnet-numerics
- Marcum Q Function not implemented correctly. HOT 1
- Question: scipy splprep and splev
- DenseMatrix.OfRowArrays().LU() Memory Leak HOT 1
- I want use MKL under AOT publish,But cant HOT 2
- Polynomial fit returns infinity and NaN as parameters
- Incorrect condition for stopping the LevenbergMarquardtMinimizer's Minimum() by parameter tolerance. HOT 1
- Modify NewtonMinimizer so that it forces Hessian to be positive definite HOT 1
- MKL_CBWR environment variable does not seem to be respected when running?
- Bug in SpecialFunctions.Hypotenuse HOT 1
- Docs out of date?
- [Feature Request] Support for Reading Higher-Dimensional Arrays with MatlabReader
- MathNet.Numerics 4.15.0 high memory consumption Frobenius on Windows Docker linux container
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mathnet-numerics.