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

Need help revising a simple formula to make it universal
SWIFT trig functions
Simplifying atan(tan(a+b))
2 Different Radians constant calcuations whats the difference?
Trigonometry & Sunset
Calculating collisions with Radians incrementing
How do arbitrary-precision libraries like mpmath evaluate simple trigonometric functions?
How can I calculate the angle
Finding Shortest Distance Between Two Parallel Lines, With Arbitrary Point [closed]
how to convert depth in Z-cordinate
How can I simplify this expression with trigonometric in Maple?
Require trigonometry assistance with ship/wave movement
Trigonometry - Find where two curves intersect
How to calculate point 'along' unit circle radian [closed]
Issues with bullet entry points for “shoulder mounted” guns
Using the coordinates of two of a triangle's vertices to calculate the coordinates of the third

Categories

HOME
kentico
checkstyle
wakanda
angular2-material
hessian
socket.io
shiro
error-handling
rendering
opendj
access
bitbucket-api
emscripten
web-hosting
square
polling
tvos
webix
pkcs#11
elasticsearch-5
mel
plist
stellar.js
gkturnbasedmatch
fileserver
boost-icl
google-maps-autocomplete
googlebot
poedit
string-concatenation
aggregation
maze
interbase
firebase-analytics
cppreference
winpe
paragraph
code-snippets
gnat-gps
pdw-file-browser
arduino-ide
batching
lint
playframework-2.1
linqpad
plr
lpsolve
oracle-service-bus
flask-login
jboss-4.2.x
textsum
opennms
builder
gitlist
podscms
carrot2
aquamacs
oracleclient
seq
flac
choice
cubism.js
file-uri
shopping
stream-processing
cortex-m
false-sharing
toast
dllimport
pypiserver
ons-api
video-player
fuelcms
atoi
graphics2d
google-refine
umlgraph
showdialog
theos
linkedin-jsapi
gii
mdichild
jqmodal
build-script
kissfft
malformedurlexception
jjaql
ios8-extension
vsx
drupal-nodes
multitasking
artemis
code-duplication
nevron
time.h
windows-98
fb.ui
tree-balancing
frameworkelementfactory
predicatebuilder
stress
mtu
facebook-iframe
eclipse-marketplace
hbm2java
addchild
application-verifier
glui
scrubyt
appliance

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