finesse.simulations.sparse.solver module

class finesse.simulations.sparse.solver.SparseSolver(matrix_type, str name, list nodes, FrequencyContainer optical_frequencies, dict signal_frequencies, bool is_signal_matrix, bool forced_refill, dict node_aliases, int num_optical_homs, bool debug_mode=False, dict matrix_kwargs=None)[source]

Bases: HOMSolver

This class overrides the BaseSolver and adds the features required to use a sparse (compressed column, CCS) matrix. The type of sparse solver is not assumed here and must be provided by the matrix_type argument. This should be inherited and the matrix type provided for specific linear algebra solvers.

Notes

This is the original solver used in Finesse 3.

M[source]

A weak reference to the underlying Matrix object.

Note

References to the Matrix should not be kept.

Getter:

Returns a weak reference to the underlying matrix (read-only).

assign_noise_operators(self, connector_workspaces)[source]
assign_operators(self, connector_workspaces)[source]
clear_rhs(self)[source]
construct(self)[source]
destruct(self)[source]

This is called when finishing and unbuilding the simulation.

Classes that override this call should mindful of what this method is doing to and call it.

fill_noise_inputs(self)[source]
fill_rhs(self)[source]
initial_fill(self)[source]
print_matrix(self)[source]
refill(self)[source]
refill_rhs(self)[source]
set_source(self, node, int freq_idx, int hom_idx, double complex value)[source]