Make a calculator for matrix operations. Define the class and method definitions in C++. The objects are to be created in python. The python code, when executed, should behave like an interpreter, trying to decipher what the user types in. For instance, there may be a prompt and a space for user input. A simple example:
calc> a = [1 2 3; 4 5 6; 7 8 9]
calc> b = [9 8 7; 6 5 4; 3 2 1]
calc> a + b
[10 10 10; 10 10 10; 10 10 10]
Also store the history of operations which would be displayed when a specific keyword is entered, for instance βhistβ. Please note that there should be no method definitions in the python code. Make use of boost library to create objects of classes defined in C++. Also, use operator overloading in order to extend base arithmetic operation to support matrix operations. The calculator should support at least addition, subtraction, multiplication and inverse. You are free to add more operations to this set.