


from math import cos, sin







def   lowerCamelCase(      a__):
				_SCREAMING_SNAKE_CASE	     =float(a__)
				return [[scaling_factor * int(x == y) for x in range(2)] for y in range(2)]







def   lowerCamelCase(      a__):
				_SCREAMING_SNAKE_CASE     , _SCREAMING_SNAKE_CASE	     =cos(a__), sin(a__)
				return [[c, -s], [s, c]]







def   lowerCamelCase(      a__):
				_SCREAMING_SNAKE_CASE     , _SCREAMING_SNAKE_CASE	     =cos(a__), sin(a__)
				_SCREAMING_SNAKE_CASE	     =c * s
				return [[c * c, cs], [cs, s * s]]







def   lowerCamelCase(      a__):
				_SCREAMING_SNAKE_CASE     , _SCREAMING_SNAKE_CASE	     =cos(a__), sin(a__)
				_SCREAMING_SNAKE_CASE	     =c * s
				return [[2 * c - 1, 2 * cs], [2 * cs, 2 * s - 1]]


print(f"""    {scaling(5) = }""")
print(f"""  {rotation(45) = }""")
print(f"""{projection(45) = }""")


print(f"""{reflection(45) = }""")



from __future__ import annotations

from collections.abc import Callable







def   lowerCamelCase(      a__		,a__		,a__		,a__ = 100		,):
				_SCREAMING_SNAKE_CASE	     =x_start
				_SCREAMING_SNAKE_CASE	     =fnc(a__)
				_SCREAMING_SNAKE_CASE	     =0.0

				for _ in range(a__):
								# Approximates small segments of curve as linear and solve
								# for trapezoidal area
								_SCREAMING_SNAKE_CASE	     =(x_end - x_start) / steps + xa
								_SCREAMING_SNAKE_CASE	     =fnc(a__)
								area += abs(fxa + fxa) * (xa - xa) / 2

								# Increment step
								_SCREAMING_SNAKE_CASE	     =xa
								_SCREAMING_SNAKE_CASE	     =fxa
				return area


if __name__ == "__main__":







							def   lowerCamelCase(      a__):
											return x**3

							print('''f(x) = x^3''')
							print('''The area between the curve, x = -10, x = 10 and the x axis is:''')
							snake_case_  :	Any							  =							10
							while i <= 10_00_00:
														snake_case_  :	Tuple							  =							trapezoidal_area(f, -5, 5, i)
														print(f"""with {i} steps: {area}""")
														i *= 10