Comments (7)
I've had a chance to look at this some more.
It appears that Hblock
points to H
, or at least that assigning to Hblock.data
effects the same change to H.data
. This was somewhat surprising to me. Is this intended?
This behavior means that calls to e.g. maxwell_compute_H_from_B(mdata, H, Hblock, ...)
will change H
(this is the reason for the issue above). Thus, trying to evaluate anything which depends on H
after such a call will give inconsistent results.
Working with the W[0]
work matrix instead of Hblock
in dot_eigenvectors(...)
sidesteps this issue, in principle - but that then ignores the comments in the code about W[0]
then not necessarily having sufficient space.
from mpb.
If you have ≤ 11 bands (the eigensolver block size), then Hblock == H
. See these lines.
W[0]
should have the same size as Hblock
, so it is the right thing. The comment you are referring to says that you can't dot all of the bands at once, you have to do them in blocks. W[0]
has enough space for these blocks, though.
from mpb.
I don't know why I used Hblock
there and not W[0]
… it would be great if you submitted a pull request to change this to W[0]
.
from mpb.
Thanks for explaining that. I checked for >11 bands, and the problem indeed goes away.
I'd be happy to submit a pull request. Before doing so, I was hoping to quickly clarify one thing:
... to avoid trouble in the case that I'm requesting a large number of bands simultaneously be converted from B to H --- would an "ugly" splitting condition, based on the number of bands requested, be acceptable? (i.e. use W[0]
if num-bands
≤ 11 and Hblock
otherwise?)
from mpb.
(or, I guess, more generally, if num_bands
≤ block_size
)
from mpb.
No, just use W[0]
in all cases. It is the same size as Hblock
.
from mpb.
Ah, I see. Okay, thanks.
from mpb.
Related Issues (20)
- python: store group velocities and fields at every k-point
- TE-like mode is not smooth when changing the geometry HOT 2
- Trying out mode solving with negative epsilon HOT 1
- Use of incompatible licenses HOT 1
- normal_vectors test is flaky
- MPB support for conductance? HOT 1
- Reduced degeneracy resolution in triangular lattices
- Unbound variable: make-uniform-array HOT 4
- confusion about TE/TM separation in output HOT 4
- numerical orthogonality
- run Meep tests in MPB CI
- `make check` fails with Guile 3.0
- helix arrays in MPB HOT 1
- compute-field-integral in MPB
- integral in MPB HOT 2
- Document memory scaling laws HOT 1
- Please consider making a release
- MPB Configure script error due to linking to guile failing HOT 2
- Integrals don't work on charge densities
- Prism can't work properly in lattice coordinates
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 mpb.