{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-05-26T00:16:20.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-05-26T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":3073,"title":"Projector Matrix","description":"Write a function to determine whether or not the matrix is a projector. Projector matrices are defined as P^2 = P.","description_html":"\u003cp\u003eWrite a function to determine whether or not the matrix is a projector. Projector matrices are defined as P^2 = P.\u003c/p\u003e","function_template":"function [tf] = projector_matrix(P)\r\n\r\ntf = 1;\r\n\r\nend\r\n","test_suite":"%%\r\nP = (1/2)*[1 -1; -1 1];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nP = [1 1; 1 0];\r\nassert(isequal(projector_matrix(P),0))\r\n\r\n%%\r\ntheta = pi/2;\r\nP = .5*[1-cos(theta) sin(theta); sin(theta) 1+cos(theta)];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nP = (1/3)*[2 1 -1; 1 2 1; -1 1 2];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nP = [-2 1; -6 3];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nP = [1 1; 0 0];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nP = [-2 1; -6 2];\r\nassert(isequal(projector_matrix(P),0))\r\n\r\n%%\r\ntheta = pi/2;\r\nP = .5*[1-cos(theta) sin(theta); 1+sin(theta) 1+cos(theta)];\r\nassert(isequal(projector_matrix(P),0))\r\n\r\n%%\r\nP = [1 0; 0 1];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nind = randi(4);\r\nswitch ind\r\n\tcase 1\r\n\t\tP = (1/2)*[1 -1; -1 1];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 2\r\n\t\tP = [1 1; 0 0];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 3\r\n\t\tP = [-2 1; -6 3];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 4\r\n\t\tP = [-2 1; -6 2];\r\n\t\tassert(isequal(projector_matrix(P),0))\r\nend\r\n\r\n%%\r\nind = randi(4);\r\nswitch ind\r\n\tcase 1\r\n\t\tP = [1 1; 0 0];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 2\r\n\t\ttheta = pi/2;\r\n\t\tP = .5*[1-cos(theta) sin(theta); 1+sin(theta) 1+cos(theta)];\r\n\t\tassert(isequal(projector_matrix(P),0))\r\n\tcase 3\r\n\t\tP = [-2 1; -6 2];\r\n\t\tassert(isequal(projector_matrix(P),0))\r\n\tcase 4\r\n\t\tP = (1/2)*[1 -1; -1 1];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\nend\r\n\r\n%%\r\nind = randi(4);\r\nswitch ind\r\n\tcase 1\r\n\t\tP = [-2 1; -6 3];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 2\r\n\t\ttheta = pi/2;\r\n\t\tP = .5*[1-cos(theta) sin(theta); 1+sin(theta) 1+cos(theta)];\r\n\t\tassert(isequal(projector_matrix(P),0))\r\n\tcase 3\r\n\t\tP = (1/2)*[1 -1; -1 1];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 4\r\n\t\tP = [-2 1; -6 2];\r\n\t\tassert(isequal(projector_matrix(P),0))\r\nend\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":3,"created_by":26769,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":182,"test_suite_updated_at":"2015-03-10T16:19:28.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2015-03-10T02:56:10.000Z","updated_at":"2026-04-17T14:04:07.000Z","published_at":"2015-03-10T02:56:09.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function to determine whether or not the matrix is a projector. Projector matrices are defined as P^2 = P.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"problems":[{"id":3073,"title":"Projector Matrix","description":"Write a function to determine whether or not the matrix is a projector. Projector matrices are defined as P^2 = P.","description_html":"\u003cp\u003eWrite a function to determine whether or not the matrix is a projector. Projector matrices are defined as P^2 = P.\u003c/p\u003e","function_template":"function [tf] = projector_matrix(P)\r\n\r\ntf = 1;\r\n\r\nend\r\n","test_suite":"%%\r\nP = (1/2)*[1 -1; -1 1];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nP = [1 1; 1 0];\r\nassert(isequal(projector_matrix(P),0))\r\n\r\n%%\r\ntheta = pi/2;\r\nP = .5*[1-cos(theta) sin(theta); sin(theta) 1+cos(theta)];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nP = (1/3)*[2 1 -1; 1 2 1; -1 1 2];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nP = [-2 1; -6 3];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nP = [1 1; 0 0];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nP = [-2 1; -6 2];\r\nassert(isequal(projector_matrix(P),0))\r\n\r\n%%\r\ntheta = pi/2;\r\nP = .5*[1-cos(theta) sin(theta); 1+sin(theta) 1+cos(theta)];\r\nassert(isequal(projector_matrix(P),0))\r\n\r\n%%\r\nP = [1 0; 0 1];\r\nassert(isequal(projector_matrix(P),1))\r\n\r\n%%\r\nind = randi(4);\r\nswitch ind\r\n\tcase 1\r\n\t\tP = (1/2)*[1 -1; -1 1];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 2\r\n\t\tP = [1 1; 0 0];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 3\r\n\t\tP = [-2 1; -6 3];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 4\r\n\t\tP = [-2 1; -6 2];\r\n\t\tassert(isequal(projector_matrix(P),0))\r\nend\r\n\r\n%%\r\nind = randi(4);\r\nswitch ind\r\n\tcase 1\r\n\t\tP = [1 1; 0 0];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 2\r\n\t\ttheta = pi/2;\r\n\t\tP = .5*[1-cos(theta) sin(theta); 1+sin(theta) 1+cos(theta)];\r\n\t\tassert(isequal(projector_matrix(P),0))\r\n\tcase 3\r\n\t\tP = [-2 1; -6 2];\r\n\t\tassert(isequal(projector_matrix(P),0))\r\n\tcase 4\r\n\t\tP = (1/2)*[1 -1; -1 1];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\nend\r\n\r\n%%\r\nind = randi(4);\r\nswitch ind\r\n\tcase 1\r\n\t\tP = [-2 1; -6 3];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 2\r\n\t\ttheta = pi/2;\r\n\t\tP = .5*[1-cos(theta) sin(theta); 1+sin(theta) 1+cos(theta)];\r\n\t\tassert(isequal(projector_matrix(P),0))\r\n\tcase 3\r\n\t\tP = (1/2)*[1 -1; -1 1];\r\n\t\tassert(isequal(projector_matrix(P),1))\r\n\tcase 4\r\n\t\tP = [-2 1; -6 2];\r\n\t\tassert(isequal(projector_matrix(P),0))\r\nend\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":3,"created_by":26769,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":182,"test_suite_updated_at":"2015-03-10T16:19:28.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2015-03-10T02:56:10.000Z","updated_at":"2026-04-17T14:04:07.000Z","published_at":"2015-03-10T02:56:09.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function to determine whether or not the matrix is a projector. Projector matrices are defined as P^2 = P.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"errors":[],"facets":[[{"value":"Linear Algebra","count":1,"selected":false}],[{"value":"medium","count":1,"selected":false}]],"term":"tag:\"projector\"","page":1,"per_page":50,"sort":"map(difficulty_value,0,0,999) asc"}}