Modern Robotics: Mechanics, Planning, and Control Code Library --- The primary purpose of the provided software is to be easy to read and educational, reinforcing the concepts in the book. The code is optimized neither for efficiency nor robustness.
Thank you and good catch! This actually depends on which Python version is used (2 or 3). But we will accept this fix since Python3 is prevalent and more PR's may come "fixing" the same issue.
print without parentheses returns an error in Python - "SyntaxError: Missing parentheses in call to 'print'. Did you mean print(invR)?"