How to access matrix entries of boundary operators

Hi everyone.

I’m still new to bempp, so I hope someone of you could answer my question. During solving acoustic problems with bempp using the Burton-Miller method, I came across some major differences from the obtained numerical solution compared to the analytical solution at high frequencies/Helmholtz numbers. Thus, I thought this may arises from a conditioning problem, so…

Is it possible to access the matrix entries of a boundary operator for further processing/conditioning like singular value decomposition?

Best regards,


Hi, Fabian,

I’m not an author of bempp but I think I can help you. If B is a boundary operator, you can get matrix of weak form of the operator by the command
A = B.weak_form().A

For strong form:
A = B.strong_form().A

Note that the matrix entries are available only if you specified dense assembly in the definition of the operator. Hope it is helpful.


Hi Vladimir,

thank you for your support! This solved my problem.

Best regards,