This paper presents an alternative to existing techniques based on Nodal Analysis designed specifically to suit implementation in matrix-oriented programming languages, keeping the simplicity of original Nodal Analysis and bringing improvements to make virtually all circuit topologies solvable through it, dealing with potential singularities, hence the name Singular Nodal Analysis (SNA). Two variants of this novel algorithm are described. Their validity is proven and their applicability is shown through two practical examples.