Comments (3)
for the first bullet, yes it it shouldn't be taken (i.e. two chroma measurements at different time (the time is in the context).... isIdentical() seems to be the most obvious .
second bullet, I vaguely remember that it was implemented. To be confirmed...
from tensorics-core.
- I think I agree on the first point - two tensors can be equal even with different contexts. So it should not be considered for equals(). Adding an identical() method or similar sounds fine. We only need to take care that this is reflected for hashCode() as well to not break the contract.
- For the broadcasting, I would not consider the context for the default broadcasting strategy. In particular not when we define the equals() without context. Otherwise, we could produce 'interesting' results like A==B but A+C != B+C if A and B have different contexts.
In general, one could ask how much sense it makes to propagate forward the context through calculations ... what should be the context of A+B if A and B have different contexts?
The current (default) LeftContextPreservedStrategy feels somewhat arbitrary - and, strictly speaking, breaks the commutativity of operations (in particular as long as we consider the context for equals()).
Perhaps propagating no context at all through calculation would be a better default? Or at least don't propagate contexts in a way that breaks when constructing the result tensor.
from tensorics-core.
Ok, ... I think here we converge more or less in our opinions....
from tensorics-core.
Related Issues (20)
- Add possibility for tensors with 'preferred' dimensions
- Separate Expressions from the Data/Manipulation part of the package. HOT 3
- Context should become Position HOT 3
- Drop the Entry Interface HOT 1
- Introduce Scalar HOT 2
- Remove asMap() method from Tensor interface HOT 3
- Remove deprecated put-method variants from TensorBuilder HOT 3
- Make builder methods chainable HOT 2
- How to correctly treat equality of tensors? HOT 1
- Better support for Tensorbackeds HOT 5
- Consistently Treat Reduction with Resampling
- explicitely express multidimensionality and finite dimensionality
- Provide limited support for tensors of typed dimensions HOT 5
- Builder Value Type is not well defined after builder(Class<?> ...) method ... Consider PreBuilders
- Provide a simple method to create Tensor<QuantifiedValue> of three tensors
- Add simple values() method in Tensorics to retrieve all the values of a Tensor HOT 16
- Fix Travis build HOT 2
- More convenient cartesian product method for positions
- Add Boolean operations support HOT 1
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 tensorics-core.