Comments (3)
The issue seems to be with summing a partially uninitialised Matrix and a Diagonal, which lacks a specialised method. I'll try to come up with a fix, which may also help with performance.
from julia.
I've looked into it. The problem is that when you call UpperTriangular(id.data)
the result is a UpperTriangular{Bool, Diagonal{Bool, Vector{Bool}}}
, that is, it is not a strided matrix, and therefore doesn't get caught by the specialized method for summing triangular matrices, but instead goes to the default sum, which cannot handle the undef
s.
Argh, this means that whenever Hermitian
is wrapping an abstract matrix the same problem will appear. There must be a better solution than writing a specialized method for every single type of abstract matrix. Maybe it's better to do the sum over the upper (or lower) triangular for everything, and let the sparse arrays define their own specialized methods?
from julia.
Yes, that makes sense. Perhaps we need to expose some function that falls back to summing over the triangular parts, and one that may be specialized by packages. The reason the current implementation was limited to StridedArrays
was to avoid breakages by using scalar indexing for custom arrays, so we need to be a bit careful about that.
from julia.
Related Issues (20)
- `--project=@script` does not activate script project if outside of the Project Directory HOT 1
- Package not installed locally can be accessed by "using", but incorrectly HOT 3
- OpaqueClosure constructor does not survive pre-compilation HOT 1
- Autocomplete for keys of custom non-dictionary type
- Broadcast view of `Base.Experimental.Const` fails on 1.11 HOT 4
- Segfault from `NTuple{N,Base.RefValue{...}}` on Julia 1.7.1+ HOT 3
- v1.11-rc1: Using `copy!` or `.=` with `Memory` is slower than `[:] =` and `Vector` HOT 2
- `TOML.print` generates invalid TOML on stdout when the values include multiline strings HOT 1
- Function alias of `Base.Cartesian.@nif`
- 2x regression in indexing benchmarks due to 'Remove references to non opaque pointers in codegen and LLVM passes (#54853)' HOT 1
- ERROR: LoadError: UndefVarError: `UUIDs` not defined. HOT 5
- Possible improvement in memory used in storage of a `Union` of immutable structs?
- Enable opt-in recursive constant propagation
- Common code not included in optionally-generated function HOT 5
- Stack overflow during type inference HOT 8
- Regression 1.9 -> 1.10: `getproperty` 3x longer HOT 2
- [LinearAlgebra] Wrong positive definite check when performing Cholesky decomposition HOT 3
- Assertion failure inside rr causing test x86_64-linux-gnuassertrr to fail HOT 2
- Impossible values of allunique() and allequal() HOT 3
- `permute_dims` fails in edge case because of use if `1:length`
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 julia.