code: public Matrix4f invertPerspective(Matrix4f dest) {
          float a =  1.0f / (m00 * m11);
          float l = -1.0f / (m23 * m32);
          dest.set(m11 * a, 0, 0, 0,
                   0, m00 * a, 0, 0,
                   0, 0, 0, -m23 * l,
                   0, 0, -m32 * l, m22 * l);
          dest._properties(0);
          return dest;
      }
docs: If <code>this</code> is a perspective projection matrix obtained via one of the {@link #perspective(float, float, float, float) perspective()} methods
  or via {@link #setPerspective(float, float, float, float) setPerspective()}, that is, if <code>this</code> is a symmetrical perspective frustum transformation,
  then this method builds the inverse of <code>this</code> and stores it into the given <code>dest</code>.
  <p>
  This method can be used to quickly obtain the inverse of a perspective projection matrix when being obtained via {@link #perspective(float, float, float, float) perspective()}.
  
  @see #perspective(float, float, float, float)
  
  @param dest
  will hold the inverse of <code>this</code>
  @return dest