{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.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":"2025-12-14T00: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":635,"title":"Angle between Two Vectors","description":"The dot product relationship, a dot b = | a | | b | cos(theta), can be used to determine the acute angle between vector a and vector b ( 0 to pi ).\r\n \r\nThe definition of | a | is ( a(1)a(1)+a(2)a(2)...+a(n)a(n) )^0.5. \r\n\r\nThe definition of \"a dot b\" is a(1)b(1)+a(2)b(2)...+a(n)b(n). (wikipedia)\r\n\r\nIn 3-D the angle is in the plane created by the vectors a and b. \r\n \r\nThe input may be a 2-D or a 3-D vector. These represent physical models. \r\n\r\nAn extension of this angular determination given vectors problem is to provide two points for each vector.\r\nThe practical application relates to Laser Trackers which best fit multiple points for lines, surfaces, annular surfaces, and other reference points.\r\n\r\nExamples:\r\n\r\na=[1 0] (x-axis); b=[0 1] (y-axis) which intersect at 90 degrees (pi/2)\r\n\r\ntheta=acos(a dot b/(|a||b|)=acos(0/(1*1))=pi/2 radians\r\n\r\n\r\na=[1 1 0] 45 degrees in xy plane\r\nb=[1 1 1.414] 45 degree vector in Z above a 45 degree rotation in XY plane.\r\n\r\ntheta=acos(a dot b/(|a||b|)=acos(2/(1.414*2))=pi/4 radians","description_html":"\u003cp\u003eThe dot product relationship, a dot b = | a | | b | cos(theta), can be used to determine the acute angle between vector a and vector b ( 0 to pi ).\u003c/p\u003e\u003cp\u003eThe definition of | a | is ( a(1)a(1)+a(2)a(2)...+a(n)a(n) )^0.5.\u003c/p\u003e\u003cp\u003eThe definition of \"a dot b\" is a(1)b(1)+a(2)b(2)...+a(n)b(n). (wikipedia)\u003c/p\u003e\u003cp\u003eIn 3-D the angle is in the plane created by the vectors a and b.\u003c/p\u003e\u003cp\u003eThe input may be a 2-D or a 3-D vector. These represent physical models.\u003c/p\u003e\u003cp\u003eAn extension of this angular determination given vectors problem is to provide two points for each vector.\r\nThe practical application relates to Laser Trackers which best fit multiple points for lines, surfaces, annular surfaces, and other reference points.\u003c/p\u003e\u003cp\u003eExamples:\u003c/p\u003e\u003cp\u003ea=[1 0] (x-axis); b=[0 1] (y-axis) which intersect at 90 degrees (pi/2)\u003c/p\u003e\u003cp\u003etheta=acos(a dot b/(|a||b|)=acos(0/(1*1))=pi/2 radians\u003c/p\u003e\u003cp\u003ea=[1 1 0] 45 degrees in xy plane\r\nb=[1 1 1.414] 45 degree vector in Z above a 45 degree rotation in XY plane.\u003c/p\u003e\u003cp\u003etheta=acos(a dot b/(|a||b|)=acos(2/(1.414*2))=pi/4 radians\u003c/p\u003e","function_template":"function theta = solve_included_vector_angle(a,b)\r\n  theta=0;\r\nend","test_suite":"%%\r\na = [1 0];\r\nb = [0 1];\r\nexpected=pi/2;\r\ntheta = solve_included_vector_angle(a,b)\r\n\r\nassert(0.99*expected-.001\u003c=theta \u0026\u0026 theta\u003c=expected*1.01+.001 )\r\n% Is there a better way to allow tolerances?\r\n%%\r\na = [1 1 0];\r\nb = [1 1 2^0.5];\r\nexpected=pi/4;\r\ntheta = solve_included_vector_angle(a,b)\r\n\r\nassert(0.99*expected-.001\u003c=theta \u0026\u0026 theta\u003c=expected*1.01+.001 )\r\n%%\r\na = [2 2];\r\nb = [0 1];\r\nexpected=pi/4;\r\ntheta = solve_included_vector_angle(a,b)\r\n\r\nassert(0.99*expected-.001\u003c=theta \u0026\u0026 theta\u003c=expected*1.01+.001 )\r\n%%\r\na = [-1 1];\r\nb = [4 0];\r\nexpected=0.75*pi;\r\ntheta = solve_included_vector_angle(a,b)\r\n\r\nassert(0.99*expected-.001\u003c=theta \u0026\u0026 theta\u003c=expected*1.01+.001 )\r\n%%\r\na = [-1 2 3];\r\nb = [1 2 4];\r\nexpected=0.161*pi;\r\ntheta = solve_included_vector_angle(a,b)\r\n\r\nassert(0.99*expected-.001\u003c=theta \u0026\u0026 theta\u003c=expected*1.01+.001 )\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":527,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":17,"created_at":"2012-04-29T06:36:01.000Z","updated_at":"2026-02-27T10:33:38.000Z","published_at":"2012-04-29T06:36:01.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\u003eThe dot product relationship, a dot b = | a | | b | cos(theta), can be used to determine the acute angle between vector a and vector b ( 0 to pi ).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe definition of | a | is ( a(1)a(1)+a(2)a(2)...+a(n)a(n) )^0.5.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe definition of \\\"a dot b\\\" is a(1)b(1)+a(2)b(2)...+a(n)b(n). (wikipedia)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn 3-D the angle is in the plane created by the vectors a and b.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe input may be a 2-D or a 3-D vector. These represent physical models.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAn extension of this angular determination given vectors problem is to provide two points for each vector. The practical application relates to Laser Trackers which best fit multiple points for lines, surfaces, annular surfaces, and other reference points.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ea=[1 0] (x-axis); b=[0 1] (y-axis) which intersect at 90 degrees (pi/2)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003etheta=acos(a dot b/(|a||b|)=acos(0/(1*1))=pi/2 radians\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ea=[1 1 0] 45 degrees in xy plane b=[1 1 1.414] 45 degree vector in Z above a 45 degree rotation in XY plane.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003etheta=acos(a dot b/(|a||b|)=acos(2/(1.414*2))=pi/4 radians\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":{"errors":[],"problems":[{"id":635,"title":"Angle between Two Vectors","description":"The dot product relationship, a dot b = | a | | b | cos(theta), can be used to determine the acute angle between vector a and vector b ( 0 to pi ).\r\n \r\nThe definition of | a | is ( a(1)a(1)+a(2)a(2)...+a(n)a(n) )^0.5. \r\n\r\nThe definition of \"a dot b\" is a(1)b(1)+a(2)b(2)...+a(n)b(n). (wikipedia)\r\n\r\nIn 3-D the angle is in the plane created by the vectors a and b. \r\n \r\nThe input may be a 2-D or a 3-D vector. These represent physical models. \r\n\r\nAn extension of this angular determination given vectors problem is to provide two points for each vector.\r\nThe practical application relates to Laser Trackers which best fit multiple points for lines, surfaces, annular surfaces, and other reference points.\r\n\r\nExamples:\r\n\r\na=[1 0] (x-axis); b=[0 1] (y-axis) which intersect at 90 degrees (pi/2)\r\n\r\ntheta=acos(a dot b/(|a||b|)=acos(0/(1*1))=pi/2 radians\r\n\r\n\r\na=[1 1 0] 45 degrees in xy plane\r\nb=[1 1 1.414] 45 degree vector in Z above a 45 degree rotation in XY plane.\r\n\r\ntheta=acos(a dot b/(|a||b|)=acos(2/(1.414*2))=pi/4 radians","description_html":"\u003cp\u003eThe dot product relationship, a dot b = | a | | b | cos(theta), can be used to determine the acute angle between vector a and vector b ( 0 to pi ).\u003c/p\u003e\u003cp\u003eThe definition of | a | is ( a(1)a(1)+a(2)a(2)...+a(n)a(n) )^0.5.\u003c/p\u003e\u003cp\u003eThe definition of \"a dot b\" is a(1)b(1)+a(2)b(2)...+a(n)b(n). (wikipedia)\u003c/p\u003e\u003cp\u003eIn 3-D the angle is in the plane created by the vectors a and b.\u003c/p\u003e\u003cp\u003eThe input may be a 2-D or a 3-D vector. These represent physical models.\u003c/p\u003e\u003cp\u003eAn extension of this angular determination given vectors problem is to provide two points for each vector.\r\nThe practical application relates to Laser Trackers which best fit multiple points for lines, surfaces, annular surfaces, and other reference points.\u003c/p\u003e\u003cp\u003eExamples:\u003c/p\u003e\u003cp\u003ea=[1 0] (x-axis); b=[0 1] (y-axis) which intersect at 90 degrees (pi/2)\u003c/p\u003e\u003cp\u003etheta=acos(a dot b/(|a||b|)=acos(0/(1*1))=pi/2 radians\u003c/p\u003e\u003cp\u003ea=[1 1 0] 45 degrees in xy plane\r\nb=[1 1 1.414] 45 degree vector in Z above a 45 degree rotation in XY plane.\u003c/p\u003e\u003cp\u003etheta=acos(a dot b/(|a||b|)=acos(2/(1.414*2))=pi/4 radians\u003c/p\u003e","function_template":"function theta = solve_included_vector_angle(a,b)\r\n  theta=0;\r\nend","test_suite":"%%\r\na = [1 0];\r\nb = [0 1];\r\nexpected=pi/2;\r\ntheta = solve_included_vector_angle(a,b)\r\n\r\nassert(0.99*expected-.001\u003c=theta \u0026\u0026 theta\u003c=expected*1.01+.001 )\r\n% Is there a better way to allow tolerances?\r\n%%\r\na = [1 1 0];\r\nb = [1 1 2^0.5];\r\nexpected=pi/4;\r\ntheta = solve_included_vector_angle(a,b)\r\n\r\nassert(0.99*expected-.001\u003c=theta \u0026\u0026 theta\u003c=expected*1.01+.001 )\r\n%%\r\na = [2 2];\r\nb = [0 1];\r\nexpected=pi/4;\r\ntheta = solve_included_vector_angle(a,b)\r\n\r\nassert(0.99*expected-.001\u003c=theta \u0026\u0026 theta\u003c=expected*1.01+.001 )\r\n%%\r\na = [-1 1];\r\nb = [4 0];\r\nexpected=0.75*pi;\r\ntheta = solve_included_vector_angle(a,b)\r\n\r\nassert(0.99*expected-.001\u003c=theta \u0026\u0026 theta\u003c=expected*1.01+.001 )\r\n%%\r\na = [-1 2 3];\r\nb = [1 2 4];\r\nexpected=0.161*pi;\r\ntheta = solve_included_vector_angle(a,b)\r\n\r\nassert(0.99*expected-.001\u003c=theta \u0026\u0026 theta\u003c=expected*1.01+.001 )\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":527,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":17,"created_at":"2012-04-29T06:36:01.000Z","updated_at":"2026-02-27T10:33:38.000Z","published_at":"2012-04-29T06:36:01.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\u003eThe dot product relationship, a dot b = | a | | b | cos(theta), can be used to determine the acute angle between vector a and vector b ( 0 to pi ).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe definition of | a | is ( a(1)a(1)+a(2)a(2)...+a(n)a(n) )^0.5.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe definition of \\\"a dot b\\\" is a(1)b(1)+a(2)b(2)...+a(n)b(n). (wikipedia)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn 3-D the angle is in the plane created by the vectors a and b.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe input may be a 2-D or a 3-D vector. These represent physical models.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAn extension of this angular determination given vectors problem is to provide two points for each vector. The practical application relates to Laser Trackers which best fit multiple points for lines, surfaces, annular surfaces, and other reference points.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ea=[1 0] (x-axis); b=[0 1] (y-axis) which intersect at 90 degrees (pi/2)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003etheta=acos(a dot b/(|a||b|)=acos(0/(1*1))=pi/2 radians\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ea=[1 1 0] 45 degrees in xy plane b=[1 1 1.414] 45 degree vector in Z above a 45 degree rotation in XY plane.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003etheta=acos(a dot b/(|a||b|)=acos(2/(1.414*2))=pi/4 radians\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\"}]}"}],"term":"tag:\"vector calculus\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"vector calculus\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"vector calculus\"","","\"","vector calculus","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fac4ae094c8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fac4ae09428\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fac4ae08168\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fac4ae0a468\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fac4ae0a3c8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fac4ae09d88\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fac4ae09568\u003e":"tag:\"vector calculus\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fac4ae09568\u003e":"tag:\"vector calculus\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"vector calculus\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"vector calculus\"","","\"","vector calculus","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fac4ae094c8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fac4ae09428\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fac4ae08168\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fac4ae0a468\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fac4ae0a3c8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fac4ae09d88\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fac4ae09568\u003e":"tag:\"vector calculus\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fac4ae09568\u003e":"tag:\"vector calculus\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":635,"difficulty_rating":"easy-medium"}]}}