Well, the good thing about theano and tensorflow is that they perform automatic differentiation, which means than you only have to code the forward and they will automatically infer the backward from that. Otherwise, if you are good at matlab and have no fear about calculating and implementing the gradient of your custom units, then you can go with matconvnet. On the same level, there is torch in lua, but you also have to implement both the forward and the backward.
If you want more lower level libraries, there's caffe in C++. You'll have to implement both forward and backward, though.
Now, you can construct Deep Network using autoencoders in Matlab. Look at this link: https://www.mathworks.com/help/nnet/ug/construct-deep-network-using-autoencoders.html