trigonometry


Counting trig ops as measure() function to fu() in sympy


How do I count the number of trig operations in an expression?
I have an expression of the form a*sin(x)+b*cos(x) that I would like sympy to convert to c*sin(x+phi).
#asmeurer made a comment in an earlier question about simplifying trig expressions that suggested the fu() algorithm can be tuned to minimize an arbitrary measure.
I suspect I can get my expression to reduce if I set measure to be the number of trig ops in the expression.
The following is a way to get the set of functions:
>>> from sympy.functions.elementary.trigonometric import TrigonometricFunction
>>> eq=a*sin(x)+b*cos(x)
>>> len(eq.atoms(TrigonometricFunction))
2
If you wanted the actual number of times that such functions occurred (counting the same function more than once) you might try a custom function like preorder_traversal from sympy.core.exprtools, registering each time a TrigonometricFunction was encountered.

Related Links

Triangle Geometry Query
OpenSCAD: inner curved edges between 2 circles
Replacing trigonometric functions in Sympy
How does atan appear in haversine formula?
Sympy cancelling terms in the Jacobian of polar coordinates transformation
Distance formula between two Lat/Longs Autoit?
Trigonometric Functions in Pseudo Code
Inverse-Kinematics: How to calculate angles for servos of a robotic arm to reach all possible points in a canvas?
How to calculate Heading using Gyro and magnetometer
Integral of a sign function proof
Best way working with trigonometric functions
Calculate place of point C to be equal distance away from points A and B
How to compute sum of angles from sine and cossine?
Counting trig ops as measure() function to fu() in sympy
Find a coordinate along a path
Angle calculation resulting in strange behavior

Categories

HOME
batch-file
azure-stream-analytics
checkstyle
eslint
github-for-windows
alexa-skills-kit
mysql-workbench
themes
serialization
devise
edge
aws-cli
simulink
zip
google-cloud-datalab
boto3
openpyxl
startup
heat
firefox-addon
vuejs
forgot-password
html5-appcache
pyramid
connector
apache2.4
visual-glitch
monit
constexpr
scatter3d
cognos-bi
r-grid
catch-unit-test
autolisp
android-gridview
hibernate-search
lubridate
google-earth-engine
ideascript
gdata
hackintosh
datacachefactory
escpos
apache-spark-dataset
strftime
tf
remedy
java-bytecode-asm
seq
type-theory
cpu-cache
choice
materialized-path-pattern
parfor
spring-cloud-feign
http-status-code-401
nupic
realsense
asyncdisplaykit
jbase
themoviedb-api
atoi
j-security-check
bcache
browserify-shim
sip-server
administration
contrast
rcaller
malformedurlexception
jquery-slider
dct
vbe
bin
inputmismatchexception
composite-component
joomla3.1
listitem
subproject
database-create
ie-compatibility-mode
silent
object-database
office-2007
filesystemobject
lalr
escrow
dsoframer
commercial-application

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App