Download code

1# The authors of this work have released all rights to it and placed it 2# in the public domain under the Creative Commons CC0 1.0 waiver 3# (http://creativecommons.org/publicdomain/zero/1.0/). 4# 5# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 6# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 7# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 8# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 9# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,10# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE11# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.12# 13# Retrieved from: http://en.literateprograms.org/Determinate_(Python)?oldid=194821415defdeterminate(matrix):16iflen(matrix)==2andlen(matrix[0])==2:17returnmatrix[0][0]*matrix[1][1]\
18-matrix[0][1]*matrix[1][0]19else:20submatrices=map(lambdai:map(lambdavector:vector[1:],
21matrix[:i]+matrix[i+1:]), [iforiinrange(len(matrix))])22returnsum(map(lambdasubmatrix:determinate(submatrix), submatrices))23