Comments (1)
Actually, this is not restricted to adjoints, but seems to happens whenever the shapes don't match exactly:
julia> m = mortar([rand(i,j) for i=1:3, j=2:3])
3×2-blocked 6×5 BlockMatrix{Float64}:
0.596139 0.543788 │ 0.370339 0.0694717 0.272809
────────────────────┼───────────────────────────────
0.875083 0.545085 │ 0.570401 0.812492 0.407894
0.329482 0.950577 │ 0.119445 0.605884 0.489393
────────────────────┼───────────────────────────────
0.320329 0.216426 │ 0.450964 0.817361 0.680764
0.386341 0.427108 │ 0.716362 0.885981 0.162155
0.411173 0.930527 │ 0.629761 0.732626 0.537516
julia> m .- ones(size(m))
3×2-blocked 6×5 BlockMatrix{Float64}:
-0.403861 -0.456212 │ -0.629661 -0.930528 -0.727191
───────────────────────┼─────────────────────────────────
-0.124917 -0.454915 │ -0.429599 -0.187508 -0.592106
-0.670518 -0.0494228 │ -0.880555 -0.394116 -0.510607
───────────────────────┼─────────────────────────────────
-0.679671 -0.783574 │ -0.549036 -0.182639 -0.319236
-0.613659 -0.572892 │ -0.283638 -0.114019 -0.837845
-0.588827 -0.0694727 │ -0.370239 -0.267374 -0.462484
julia> m .- ones(6,1)
ERROR: BoundsError: attempt to access 1-element Base.OneTo{Int64} at index [1:2]
[...]
julia> m .- ones(1,5)
ERROR: BoundsError: attempt to access 1-element Vector{Int64} at index [2]
[...]
from blockarrays.jl.
Related Issues (20)
- Err multiplying block array with `Diagonal`
- Broadcasting `BlockedUnitRange` sometimes loses blocking information HOT 2
- Generalize `BlockedUnitRange` to element types besides `Int` HOT 6
- Potential issue with `findblock[index]` for `BlockUnitRange` with `first != 1` HOT 4
- There and back again: a block indexing tale HOT 2
- Functionality for slicing with unit ranges that preserves block information HOT 8
- Slicing a `BlockIndexRange` with unit ranges doesn't return a `BlockedIndexRange`
- Indexing with `Vector{<:BlockIndexRange{1}}` HOT 2
- More convenient syntax for merging blocks
- Generic interface for constructing `AbstractBlockArray`s: `blocked(a::AbstractArray, blocklengths...)`
- `getindex(::UnitRange, ::BlockedUnitRange)` isn't blocked HOT 1
- More convenient syntax for getting the size of a block HOT 5
- Definition of BlockUnitRange HOT 3
- Overload dot HOT 3
- Bug: Block indexing changed between 0.16.40 and 0.16.43 HOT 1
- Failing to compile on 1.12 nightly HOT 7
- Rename PseudoBlockArray to BlockedArray (v1.0) HOT 1
- Make `blocks(randn(2, 2))[1, 1]` return the original array
- `mortar([Block(1)[1:2], Block(2)[1:2]])[Block(1)]` has type `Vector{BlockIndex{1}}` instead of `BlockIndexRange{1}`
- `+(::BlockVector, ::Vector)` promotes axis from `BlockedOneTo` to `BlockedUnitRange`
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 blockarrays.jl.